Skip to content

RFC remove i386/pc dependency: generic SuperIO

Philippe Mathieu-Daudé qemu-devel 2 versions – Applied

Status from this message: Queued, thanks.

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 RFC Latest22 patches 11 repliesApplied
  2. v1 RFC29 patches 2 repliesSuperseded

Changes in v2 from the cover letter

- complete rewrite, split out the PIIX devices for another series

Patches in v2 Applied

#Subject and filesSizeRepliesApplied
1/22hw/isa: Move parallel_hds_isa_init() to hw/char/parallel-isa.cMAINTAINERS hw/char/Makefile.objs hw/char/parallel-isa.c +9 more+59 -360 replies
2/22hw/dma/i8257: Rename DMA_init() to i8257_dma_init()MAINTAINERS hw/dma/i82374.c hw/dma/i8257.c +8 more+19 -180 replies
3/22hw/input/i8042: Extract declarations from i386/pc.h into input/i8042.hMAINTAINERS hw/alpha/dp264.c hw/i386/pc.c +12 more+43 -161 reply
4/22hw/isa/pc87312: Rename the device type as TYPE_PC87312_SUPERIOhw/isa/pc87312.c hw/ppc/prep.c include/hw/isa/pc87312.h+4 -41 reply
5/22hw/isa/pc87312: Use uint16_t for the ISA I/O base addresshw/isa/pc87312.c include/hw/isa/pc87312.h+8 -80 replies
6/22hw/isa/pc87312: Use 'unsigned int' for the irq valuehw/isa/pc87312.c+3 -30 replies
7/22hw/isa/superio: Add a Super I/O template based on the PC87312 devicehw/isa/Makefile.objs hw/isa/isa-superio.c include/hw/isa/superio.h+72 -00 replies
8/22hw/isa/pc87312: Inherit from the abstract TYPE_ISA_SUPERIOhw/isa/pc87312.c include/hw/isa/pc87312.h+14 -30 replies
9/22hw/isa/superio: Factor out the parallel code from pc87312.chw/isa/isa-superio.c hw/isa/pc87312.c hw/isa/trace-events +2 more+87 -281 reply
10/22hw/isa/superio: Factor out the serial code from pc87312.chw/isa/isa-superio.c hw/isa/pc87312.c hw/isa/trace-events +2 more+54 -360 replies
11/22hw/isa/superio: Factor out the floppy disc controller code from pc87312.chw/isa/isa-superio.c hw/isa/pc87312.c hw/isa/trace-events +2 more+58 -320 replies
12/22hw/isa/superio: Add a keyboard/mouse controller (8042)hw/isa/isa-superio.c hw/ppc/prep.c include/hw/isa/superio.h+4 -11 reply
13/22hw/isa/superio: Factor out the IDE code from pc87312.chw/isa/isa-superio.c hw/isa/pc87312.c hw/isa/trace-events +1 more+45 -170 replies
14/22hw/mips/malta: Code movementhw/mips/mips_malta.c+7 -70 replies
15/22hw/isa/superio: Factor out the FDC37M817 Super I/O from mips_malta.chw/isa/isa-superio.c hw/mips/mips_malta.c include/hw/isa/superio.h+32 -251 reply
16/22hw/mips/mips_fulong2e: Factor out vt82c686b_southbridge_init()hw/mips/mips_fulong2e.c+41 -420 replies
17/22hw/isa/vt82c686: Rename vt82c686b_init() -> vt82c686b_isa_init()hw/isa/vt82c686.c hw/mips/mips_fulong2e.c include/hw/isa/vt82c686.h+3 -30 replies
18/22hw/isa/vt82c686: Add the TYPE_VT82C686B_SUPERIOhw/isa/vt82c686.c hw/mips/mips_fulong2e.c include/hw/isa/vt82c686.h+25 -121 reply
19/22hw/isa/superio: Add the SMC FDC37C669 Super I/Ohw/isa/Makefile.objs hw/isa/smc37c669-superio.c include/hw/isa/superio.h+117 -10 replies
20/22hw/alpha/dp264: Add the ISA DMA controllerdefault-configs/alpha-softmmu.mak hw/alpha/dp264.c+6 -00 replies
21/22hw/alpha/dp264: Use the TYPE_SMC37C669_SUPERIOdefault-configs/alpha-softmmu.mak hw/alpha/dp264.c+7 -62 replies
22/22hw/i386/pc: Factor out the superio codehw/i386/pc.c+41 -310 replies

Reviews trailers per patch

3 of 22 patches have a Reviewed-by or Acked-by.

PatchDavid Gibson
1/22
2/22
3/22A-b
4/22A-b
5/22
6/22
7/22
8/22
9/22
10/22
11/22
12/22A-b
13/22
14/22
15/22
16/22
17/22
18/22
19/22
20/22
21/22
22/22

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

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

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
Signature · 1 line
2.16.2