Skip to content

Refactor portio dispatching

Jan Kiszka qemu-devel 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest13 patches 1 replyIn review
  2. v1 RFC15 patches 23 repliesSuperseded

Changes in v2 from the cover letter

- rebased over master (which already contains some patches from v1)
- refactored PIO dispatching according to Paolo's suggestions

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/13adlib: replace register_ioport*hw/audio/adlib.c+12 -80 replies
2/13applesmc: replace register_ioport*hw/misc/applesmc.c+38 -120 replies
3/13wdt_ib700: replace register_ioport*hw/watchdog/wdt_ib700.c+10 -20 replies
4/13i82374: replace register_ioport*hw/dma/i82374.c+13 -50 replies
5/13prep: replace register_ioport*hw/ppc/prep.c+15 -80 replies
6/13vt82c686: replace register_ioport*hw/isa/vt82c686.c+26 -140 replies
7/13Privatize register_ioport_read/writeinclude/exec/ioport.h ioport.c+4 -80 replies
8/13isa: implement isa_is_ioport_assigned via memory_region_findhw/acpi/piix4.c hw/isa/lpc_ich9.c include/exec/ioport.h +1 more+10 -160 replies
9/13vmware-vga: Accept unaligned I/O accesseshw/display/vmware_vga.c+4 -00 replies
10/13xen: Mark fixed platform I/O as unalignedhw/xen/xen_platform.c+4 -00 replies
11/13ioport: Switch dispatching to memory core layerexec.c include/exec/ioport.h include/exec/memory-internal.h +3 more+101 -1590 replies
12/13ioport: Remove unused old dispatching servicesinclude/exec/ioport.h include/exec/iorange.h include/exec/memory.h +1 more+0 -2830 replies
13/13ioport: Move IOPortRead/WriteFunc typedefs to memory.hinclude/exec/ioport.h include/exec/memory.h+4 -80 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [Qemu-devel] [PATCH v2 00/13] Refactor portio dispatching

First, this series converts the remaining users of register_ioport* to portio lists. Then it replaces the current portio dispatcher with the existing one for MMIO and removes several lines of code. This also allows to build BQL-free portio on top once we enhance the memory layer accordingly.

Changes in v2:
- rebased over master (which already contains some patches from v1)
- refactored PIO dispatching according to Paolo's suggestions

Jan

Jan Kiszka (13):
adlib: replace register_ioport*
applesmc: replace register_ioport*
wdt_ib700: replace register_ioport*
i82374: replace register_ioport*
prep: replace register_ioport*
vt82c686: replace register_ioport*
Privatize register_ioport_read/write
isa: implement isa_is_ioport_assigned via memory_region_find
vmware-vga: Accept unaligned I/O accesses
xen: Mark fixed platform I/O as unaligned
ioport: Switch dispatching to memory core layer
ioport: Remove unused old dispatching services
ioport: Move IOPortRead/WriteFunc typedefs to memory.h

 exec.c                         |   27 ---
 hw/acpi/piix4.c                |    9 +-
 hw/audio/adlib.c               |   20 ++-
 hw/display/vmware_vga.c        |    4 +
 hw/dma/i82374.c                |   18 ++-
 hw/isa/lpc_ich9.c              |    9 +-
 hw/isa/vt82c686.c              |   40 +++--
 hw/misc/applesmc.c             |   50 ++++--
 hw/ppc/prep.c                  |   23 ++-
 hw/watchdog/wdt_ib700.c        |   12 +-
 hw/xen/xen_platform.c          |    4 +
 include/exec/ioport.h          |   19 +--
 include/exec/iorange.h         |   31 ----
 include/exec/memory-internal.h |    2 -
 include/exec/memory.h          |   18 +--
 ioport.c                       |  380 +++++++++++-----------------------------
 memory.c                       |   88 ---------
 17 files changed, 236 insertions(+), 518 deletions(-)
 delete mode 100644 include/exec/iorange.h
Signature · 1 line
1.7.3.4