Re: [Qemu-devel] [RFC PATCH v2 00/22] remove i386/pc dependency: generic SuperIO
Hi Paolo, On 03/07/2018 01:52 PM, Paolo Bonzini wrote: > On 05/03/2018 22:19, Philippe Mathieu-Daudé wrote: >> Since v1: >> - complete rewrite, split out the PIIX devices for another series >> >> In this rewrite I extract the common SuperIO code from pc87312.c; use it in >> few MIPS boards; then as example, easily add a new SuperIO chipset >> (SMC37C669) >> to the dp264 machine. >> >> More devices are being converted but I'm running out of time for the soft >> freeze (mips_r4k, hppa_dino, and the PC ones). >> >> This series could be the 'part 2' of my previous "remove i386/pc dependency >> from non-PC world" I started around 2.9. >> >> Philippe Mathieu-Daudé (22): >> hw/isa: Move parallel_hds_isa_init() to hw/char/parallel-isa.c >> hw/dma/i8257: Rename DMA_init() to i8257_dma_init() >> hw/input/i8042: Extract declarations from i386/pc.h into input/i8042.h >> hw/isa/pc87312: Rename the device type as TYPE_PC87312_SUPERIO >> hw/isa/pc87312: Use uint16_t for the ISA I/O base address >> hw/isa/pc87312: Use 'unsigned int' for the irq value >> hw/isa/superio: Add a Super I/O template based on the PC87312 device >> hw/isa/pc87312: Inherit from the abstract TYPE_ISA_SUPERIO >> hw/isa/superio: Factor out the parallel code from pc87312.c >> hw/isa/superio: Factor out the serial code from pc87312.c >> hw/isa/superio: Factor out the floppy disc controller code from pc87312.c >> hw/isa/superio: Add a keyboard/mouse controller (8042) >> hw/isa/superio: Factor out the IDE code from pc87312.c >> hw/mips/malta: Code movement >> hw/isa/superio: Factor out the FDC37M817 Super I/O from mips_malta.c >> hw/mips/mips_fulong2e: Factor out vt82c686b_southbridge_init() >> hw/isa/vt82c686: Rename vt82c686b_init() -> vt82c686b_isa_init() >> hw/isa/vt82c686: Add the TYPE_VT82C686B_SUPERIO >> hw/isa/superio: Add the SMC FDC37C669 Super I/O >> hw/alpha/dp264: Add the ISA DMA controller >> hw/alpha/dp264: Use the TYPE_SMC37C669_SUPERIO >> hw/i386/pc: Factor out the superio code >> >> default-configs/alpha-softmmu.mak | 5 + >> include/hw/char/parallel.h| 14 +++ >> include/hw/{isa => dma}/i8257.h | 6 ++ >> include/hw/i386/pc.h | 17 --- >> include/hw/input/i8042.h | 24 + >> include/hw/isa/isa.h | 2 - >> include/hw/isa/pc87312.h | 24 ++--- >> include/hw/isa/superio.h | 60 +++ >> include/hw/isa/vt82c686.h | 4 +- >> hw/alpha/dp264.c | 13 ++- >> hw/char/parallel-isa.c| 36 +++ >> hw/char/parallel.c| 2 +- >> hw/dma/i82374.c | 3 +- >> hw/dma/i8257.c| 4 +- >> hw/i386/pc.c | 77 -- >> hw/i386/vmmouse.c | 1 + >> hw/i386/vmport.c | 1 + >> hw/input/pckbd.c | 2 +- >> hw/isa/isa-bus.c | 26 - >> hw/isa/isa-superio.c | 210 >> ++ >> hw/isa/pc87312.c | 178 ++-- >> hw/isa/smc37c669-superio.c| 115 + >> hw/isa/vt82c686.c | 22 +++- >> hw/mips/mips_fulong2e.c | 85 +++ >> hw/mips/mips_jazz.c | 5 +- >> hw/mips/mips_malta.c | 48 - >> hw/mips/mips_r4k.c| 3 +- >> hw/ppc/prep.c | 6 +- >> hw/sparc/sun4m.c | 4 - >> hw/sparc64/sun4u.c| 6 +- >> hw/unicore32/puv3.c | 1 + >> hw/char/Makefile.objs | 1 + >> hw/isa/Makefile.objs | 1 + >> hw/isa/trace-events | 10 +- >> MAINTAINERS | 6 +- >> 35 files changed, 721 insertions(+), 301 deletions(-) >> create mode 100644 include/hw/char/parallel.h >> rename include/hw/{isa => dma}/i8257.h (86%) >> create mode 100644 include/hw/input/i8042.h >> create mode 100644 include/hw/isa/superio.h >> create mode 100644 hw/char/parallel-isa.c >> create mode 100644 hw/isa/isa-superio.c >> create mode 100644 hw/isa/smc37c669-superio.c >> > > Queued, thanks. Thanks for your trust, but this series is not ready yet :| It touches various archs/machines and I couldn't test all images yet. I posted it to get feedback and see if this superio refactor is useful or not, makes sens. I understand you queuing it means somehow "yes" so I'll continue to work on it, for now not adding more code but testing it deeper and fixing few bugs :) Thanks! Phil.
Re: [Qemu-devel] [RFC PATCH v2 00/22] remove i386/pc dependency: generic SuperIO
On 05/03/2018 22:19, Philippe Mathieu-Daudé wrote: > Since v1: > - complete rewrite, split out the PIIX devices for another series > > In this rewrite I extract the common SuperIO code from pc87312.c; use it in > few MIPS boards; then as example, easily add a new SuperIO chipset (SMC37C669) > to the dp264 machine. > > More devices are being converted but I'm running out of time for the soft > freeze (mips_r4k, hppa_dino, and the PC ones). > > This series could be the 'part 2' of my previous "remove i386/pc dependency > from non-PC world" I started around 2.9. > > Philippe Mathieu-Daudé (22): > hw/isa: Move parallel_hds_isa_init() to hw/char/parallel-isa.c > hw/dma/i8257: Rename DMA_init() to i8257_dma_init() > hw/input/i8042: Extract declarations from i386/pc.h into input/i8042.h > hw/isa/pc87312: Rename the device type as TYPE_PC87312_SUPERIO > hw/isa/pc87312: Use uint16_t for the ISA I/O base address > hw/isa/pc87312: Use 'unsigned int' for the irq value > hw/isa/superio: Add a Super I/O template based on the PC87312 device > hw/isa/pc87312: Inherit from the abstract TYPE_ISA_SUPERIO > hw/isa/superio: Factor out the parallel code from pc87312.c > hw/isa/superio: Factor out the serial code from pc87312.c > hw/isa/superio: Factor out the floppy disc controller code from pc87312.c > hw/isa/superio: Add a keyboard/mouse controller (8042) > hw/isa/superio: Factor out the IDE code from pc87312.c > hw/mips/malta: Code movement > hw/isa/superio: Factor out the FDC37M817 Super I/O from mips_malta.c > hw/mips/mips_fulong2e: Factor out vt82c686b_southbridge_init() > hw/isa/vt82c686: Rename vt82c686b_init() -> vt82c686b_isa_init() > hw/isa/vt82c686: Add the TYPE_VT82C686B_SUPERIO > hw/isa/superio: Add the SMC FDC37C669 Super I/O > hw/alpha/dp264: Add the ISA DMA controller > hw/alpha/dp264: Use the TYPE_SMC37C669_SUPERIO > hw/i386/pc: Factor out the superio code > > default-configs/alpha-softmmu.mak | 5 + > include/hw/char/parallel.h| 14 +++ > include/hw/{isa => dma}/i8257.h | 6 ++ > include/hw/i386/pc.h | 17 --- > include/hw/input/i8042.h | 24 + > include/hw/isa/isa.h | 2 - > include/hw/isa/pc87312.h | 24 ++--- > include/hw/isa/superio.h | 60 +++ > include/hw/isa/vt82c686.h | 4 +- > hw/alpha/dp264.c | 13 ++- > hw/char/parallel-isa.c| 36 +++ > hw/char/parallel.c| 2 +- > hw/dma/i82374.c | 3 +- > hw/dma/i8257.c| 4 +- > hw/i386/pc.c | 77 -- > hw/i386/vmmouse.c | 1 + > hw/i386/vmport.c | 1 + > hw/input/pckbd.c | 2 +- > hw/isa/isa-bus.c | 26 - > hw/isa/isa-superio.c | 210 > ++ > hw/isa/pc87312.c | 178 ++-- > hw/isa/smc37c669-superio.c| 115 + > hw/isa/vt82c686.c | 22 +++- > hw/mips/mips_fulong2e.c | 85 +++ > hw/mips/mips_jazz.c | 5 +- > hw/mips/mips_malta.c | 48 - > hw/mips/mips_r4k.c| 3 +- > hw/ppc/prep.c | 6 +- > hw/sparc/sun4m.c | 4 - > hw/sparc64/sun4u.c| 6 +- > hw/unicore32/puv3.c | 1 + > hw/char/Makefile.objs | 1 + > hw/isa/Makefile.objs | 1 + > hw/isa/trace-events | 10 +- > MAINTAINERS | 6 +- > 35 files changed, 721 insertions(+), 301 deletions(-) > create mode 100644 include/hw/char/parallel.h > rename include/hw/{isa => dma}/i8257.h (86%) > create mode 100644 include/hw/input/i8042.h > create mode 100644 include/hw/isa/superio.h > create mode 100644 hw/char/parallel-isa.c > create mode 100644 hw/isa/isa-superio.c > create mode 100644 hw/isa/smc37c669-superio.c > Queued, thanks. Paolo
Re: [Qemu-devel] [RFC PATCH v2 00/22] remove i386/pc dependency: generic SuperIO
On 05/03/2018 22:50, no-re...@patchew.org wrote: > CC hw/misc/applesmc.o > CC hw/misc/max111x.o > /tmp/qemu-test/src/hw/isa/isa-superio.c: In function 'isa_superio_realize': > /tmp/qemu-test/src/hw/isa/isa-superio.c:39:46: error: format '%ld' expects > argument of type 'long int', but argument 2 has type 'long long unsigned int' > [-Werror=format=] > warn_report("superio: ignoring %ld parallel controllers", > ~~^ > %lld > /tmp/qemu-test/src/hw/isa/isa-superio.c:77:46: error: format '%ld' expects > argument of type 'long int', but argument 2 has type 'long long unsigned int' > [-Werror=format=] > warn_report("superio: ignoring %ld serial controllers", > ~~^ > %lld Easily fixed. :) Paolo
Re: [Qemu-devel] [RFC PATCH v2 00/22] remove i386/pc dependency: generic SuperIO
Hi, This series failed docker-mingw@fedora build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. Type: series Message-id: 20180305211928.466-1-f4...@amsat.org Subject: [Qemu-devel] [RFC PATCH v2 00/22] remove i386/pc dependency: generic SuperIO === TEST SCRIPT BEGIN === #!/bin/bash set -e git submodule update --init dtc # Let docker tests dump environment info export SHOW_ENV=1 export J=8 time make docker-test-mingw@fedora === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Switched to a new branch 'test' d9c63caae7 hw/i386/pc: Factor out the superio code 9e67a390dd hw/alpha/dp264: Use the TYPE_SMC37C669_SUPERIO 25db7f9953 hw/alpha/dp264: Add the ISA DMA controller 76d6e67a57 hw/isa/superio: Add the SMC FDC37C669 Super I/O ffc800b0ca hw/isa/vt82c686: Add the TYPE_VT82C686B_SUPERIO 85a19b0256 hw/isa/vt82c686: Rename vt82c686b_init() -> vt82c686b_isa_init() d89bbbfee2 hw/mips/mips_fulong2e: Factor out vt82c686b_southbridge_init() e420c875ee hw/isa/superio: Factor out the FDC37M817 Super I/O from mips_malta.c d7de9887bb hw/mips/malta: Code movement 791635483e hw/isa/superio: Factor out the IDE code from pc87312.c 394b1f0e62 hw/isa/superio: Add a keyboard/mouse controller (8042) 16497b117a hw/isa/superio: Factor out the floppy disc controller code from pc87312.c 6d4c1541cc hw/isa/superio: Factor out the serial code from pc87312.c c00ea6aea2 hw/isa/superio: Factor out the parallel code from pc87312.c 86481897b6 hw/isa/pc87312: Inherit from the abstract TYPE_ISA_SUPERIO 3fc152c1e1 hw/isa/superio: Add a Super I/O template based on the PC87312 device 20890e64ed hw/isa/pc87312: Use 'unsigned int' for the irq value 58fe8c70e3 hw/isa/pc87312: Use uint16_t for the ISA I/O base address 22258437c7 hw/isa/pc87312: Rename the device type as TYPE_PC87312_SUPERIO 435f762b70 hw/input/i8042: Extract declarations from i386/pc.h into input/i8042.h 9782517c54 hw/dma/i8257: Rename DMA_init() to i8257_dma_init() 23bb3a93ed hw/isa: Move parallel_hds_isa_init() to hw/char/parallel-isa.c === OUTPUT BEGIN === Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-o8ld5l4n/src/dtc'... Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42' BUILD fedora make[1]: Entering directory '/var/tmp/patchew-tester-tmp-o8ld5l4n/src' GEN /var/tmp/patchew-tester-tmp-o8ld5l4n/src/docker-src.2018-03-05-16.48.52.7877/qemu.tar Cloning into '/var/tmp/patchew-tester-tmp-o8ld5l4n/src/docker-src.2018-03-05-16.48.52.7877/qemu.tar.vroot'... done. Your branch is up-to-date with 'origin/test'. Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-o8ld5l4n/src/docker-src.2018-03-05-16.48.52.7877/qemu.tar.vroot/dtc'... Submodule path 'dtc': checked out 'e54388015af1fb4bf04d0bca99caba1074d9cc42' Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb' Cloning into '/var/tmp/patchew-tester-tmp-o8ld5l4n/src/docker-src.2018-03-05-16.48.52.7877/qemu.tar.vroot/ui/keycodemapdb'... Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce' COPYRUNNER RUN test-mingw in qemu:fedora Packages installed: PyYAML-3.12-5.fc27.x86_64 SDL-devel-1.2.15-29.fc27.x86_64 bc-1.07.1-3.fc27.x86_64 bison-3.0.4-8.fc27.x86_64 bzip2-1.0.6-24.fc27.x86_64 ccache-3.3.5-1.fc27.x86_64 clang-5.0.1-1.fc27.x86_64 findutils-4.6.0-14.fc27.x86_64 flex-2.6.1-5.fc27.x86_64 gcc-7.3.1-2.fc27.x86_64 gcc-c++-7.3.1-2.fc27.x86_64 gettext-0.19.8.1-12.fc27.x86_64 git-2.14.3-2.fc27.x86_64 glib2-devel-2.54.3-2.fc27.x86_64 hostname-3.18-4.fc27.x86_64 libaio-devel-0.3.110-9.fc27.x86_64 libasan-7.3.1-2.fc27.x86_64 libfdt-devel-1.4.6-1.fc27.x86_64 libubsan-7.3.1-2.fc27.x86_64 make-4.2.1-4.fc27.x86_64 mingw32-SDL-1.2.15-9.fc27.noarch mingw32-bzip2-1.0.6-9.fc27.noarch mingw32-curl-7.54.1-2.fc27.noarch mingw32-glib2-2.54.1-1.fc27.noarch mingw32-gmp-6.1.2-2.fc27.noarch mingw32-gnutls-3.5.13-2.fc27.noarch mingw32-gtk2-2.24.31-4.fc27.noarch mingw32-gtk3-3.22.16-1.fc27.noarch mingw32-libjpeg-turbo-1.5.1-3.fc27.noarch mingw32-libpng-1.6.29-2.fc27.noarch mingw32-libssh2-1.8.0-3.fc27.noarch mingw32-libtasn1-4.13-1.fc27.noarch mingw32-nettle-3.3-3.fc27.noarch mingw32-pixman-0.34.0-3.fc27.noarch mingw32-pkg-config-0.28-9.fc27.x86_64 mingw64-SDL-1.2.15-9.fc27.noarch mingw64-bzip2-1.0.6-9.fc27.noarch mingw64-curl-7.54.1-2.fc27.noarch mingw64-glib2-2.54.1-1.fc27.noarch mingw64-gmp-6.1.2-2.fc27.noarch mingw64-gnutls-3.5.13-2.fc27.noarch mingw64-gtk2-2.24.31-4.fc27.noarch mingw64-gtk3-3.22.16-1.fc27.noarch mingw64-libjpeg-turbo-1.5.1-3.fc27.noarch mingw64-libpng-1.6.29-2.fc27.noarch mingw64-libssh2-1.8.0-3.fc27.noarch mingw64-libtasn1-4.13-1.fc27.noarch mingw64-nettle-3.3-3.fc27.noarch mingw64-pixman-0.34.0-3.fc27.noarch mingw64-pkg-config-0.28-9.fc27.x86_64 nettle-dev