Re: [Qemu-devel] [RFC PATCH v2 00/22] remove i386/pc dependency: generic SuperIO

2018-03-07 Thread Philippe Mathieu-Daudé
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

2018-03-07 Thread Paolo Bonzini
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

2018-03-07 Thread Paolo Bonzini
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

2018-03-06 Thread no-reply
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
net

[Qemu-devel] [RFC PATCH v2 00/22] remove i386/pc dependency: generic SuperIO

2018-03-05 Thread Philippe Mathieu-Daudé
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

-- 
2.16.2