mbox

[RESEND,PULL,000/126] Buildsys / QOM / QDev / UI patches for 2023-02-27

Message ID 20230227140213.35084-1-philmd@linaro.org
State New
Headers show

Pull-request

https://github.com/philmd/qemu.git tags/buildsys-qom-qdev-ui-20230227

Message

Philippe Mathieu-Daudé Feb. 27, 2023, 2 p.m. UTC
Hi Peter,

I apologize for the size of this request, I was hoping various
series would go via other tree, but everybody has been quite busy
and the freezing windows is close, so I'm sending a huge mixed
patchset here.

Previous post failed with:

  Unable to initialize SMTP properly. Check config and use --smtp-debug.
  VALUES: server=smtp.gmail.com encryption=tls hello=localhost.localdomain
  port=587 at /opt/homebrew/Cellar/git/2.38.1/libexec/git-core/git-send-email
  line 1684.

Reposting adding "--forget-cc --cc-cmd=/usr/bin/true --suppress-cc=all".

The following changes since commit b11728dc3ae67ddedf34b7a4f318170e7092803c:

  Merge tag 'pull-riscv-to-apply-20230224' of github.com:palmer-dabbelt/qemu into staging (2023-02-26 20:14:46 +0000)

are available in the Git repository at:

  https://github.com/philmd/qemu.git tags/buildsys-qom-qdev-ui-20230227

for you to fetch changes up to 79fbbf323ce0b2608eca53f85f5e02b8c4b73b90:

  ui/cocoa: user friendly characters for release mouse (2023-02-27 14:48:10 +0100)

----------------------------------------------------------------
- buildsys
  - Various header cleaned up (removing pointless headers)
  - Mark various files/code user/system specific
  - Make various objects target-independent
  - Remove tswapN() calls from dump.o
  - Suggest g_assert_not_reached() instead of assert(0)

- qdev / qom
  - Replace various container_of() by QOM cast macros
  - Declare some QOM macros using OBJECT_DECLARE_TYPE()
  - Embed OHCI QOM child in SM501 chipset

- hw (ISA & IDE)
  - add some documentation, improve function names
  - un-inline, open-code few functions
  - have ISA API accessing IRQ/DMA prefer ISABus over ISADevice
  - Demote IDE subsystem maintenance to "Odd Fixes"

- ui: Improve Ctrl+Alt hint on Darwin Cocoa

----------------------------------------------------------------

BALATON Zoltan (8):
  hw/audio/ac97: Split off some definitions to a header
  hw/usb/ohci: Code style fix comments
  hw/usb/ohci: Code style fix white space errors
  hw/usb/ohci: Code style fix missing braces and extra parenthesis
  hw/usb/ohci: Move a function next to where it is used
  hw/usb/ohci: Add trace points for register access
  hw/display/sm501: Implement more 2D raster operations
  hw/display/sm501: Add fallbacks to pixman routines

Bernhard Beschow (15):
  target/loongarch/cpu: Remove unused "sysbus.h" header
  hw/i386/ich9: Rename Q35_MASK to ICH9_MASK
  hw/isa/lpc_ich9: Unexport PIRQ functions
  hw/isa/lpc_ich9: Eliminate ICH9LPCState::isa_bus
  hw/i2c/smbus_ich9: Move ich9_smb_set_irq() in front of
    ich9_smbus_realize()
  hw/i2c/smbus_ich9: Inline ich9_smb_init() and remove it
  hw/i386/pc_q35: Allow for setting properties before realizing
    TYPE_ICH9_LPC_DEVICE
  hw/isa/lpc_ich9: Connect PM stuff to LPC internally
  hw/isa/lpc_ich9: Remove redundant ich9_lpc_reset() invocation
  hw/i386/ich9: Remove redundant GSI_NUM_PINS
  hw: Move ioapic*.h to intc/
  hw/i386/ich9: Clean up includes
  hw: Move ich9.h to southbridge/
  hw/ide/pci: Unexport bmdma_active_if()
  hw/ide/pci: Add PCIIDEState::isa_irq[]

Christian Schoenebeck (1):
  ui/cocoa: user friendly characters for release mouse

Fiona Ebner (1):
  hw/ide/ahci: Trace ncq write command as write instead of read

John Snow (1):
  MAINTAINERS: Mark IDE and Floppy as "Odd Fixes"

Mauro Matteo Cascella (1):
  hw/nubus/nubus-device: Fix memory leak in nubus_device_realize

Philippe Mathieu-Daudé (98):
  cpu: Remove capstone meson dependency
  cpu: Move breakpoint helpers to common code
  cputlb: Restrict SavedIOTLB to system emulation
  gdbstub: Use vaddr type for generic insert/remove_breakpoint() API
  target/cpu: Restrict cpu_get_phys_page_debug() handlers to sysemu
  target/cpu: Restrict do_transaction_failed() handlers to sysemu
  target/i386: Remove NEED_CPU_H guard from target-specific headers
  target/i386/cpu: Remove dead helper_lock() declaration
  target/i386: Remove x86_cpu_dump_local_apic_state() dead stub
  target/hppa: Extract FPU helpers to fpu_helper.c
  target/hppa: Extract system helpers to sys_helper.c
  target/alpha: Remove obsolete STATUS document
  target/loongarch/cpu: Restrict "memory.h" header to sysemu
  target/ppc/internal: Restrict MMU declarations to sysemu
  target/ppc/kvm: Remove unused "sysbus.h" header
  target/riscv/cpu: Move Floating-Point fields closer
  target/sparc/sysemu: Remove pointless CONFIG_USER_ONLY guard
  target/xtensa/cpu: Include missing "memory.h" header
  target/tricore: Remove unused fields from CPUTriCoreState
  qom/object_interfaces: Fix QAPI headers included
  trace: Do not try to include QMP commands in user emulation binaries
  exec: Remove unused 'qemu/timer.h' timer
  tcg: Silent -Wmissing-field-initializers warning
  tcg/tcg-op-gvec: Remove unused "qemu/main-loop.h" header
  accel/tcg: Restrict 'qapi-commands-machine.h' to system emulation
  accel/xen: Remove dead code
  accel/kvm: Silent -Wmissing-field-initializers warning
  sysemu/kvm: Remove CONFIG_USER_ONLY guard
  replay: Extract core API to 'exec/replay-core.h'
  tests/unit: Restrict machine-smp.c test to system emulation
  softmmu: Silent -Wmissing-field-initializers warning
  softmmu: Extract watchpoint API from physmem.c
  qemu/typedefs: Sort in case-insensitive alphabetical order (again)
  hw/qdev: Constify DeviceState* argument of qdev_get_parent_bus()
  hw/cpu: Extend CPUState::cluster_index documentation
  hw/i386/x86: Reduce init_topo_info() scope
  hw/pci: Fix a typo
  hw/intc/i8259: Document i8259_init()
  hw/isa/i82378: Rename output IRQ as 'cpu_intr'
  hw/isa/i82378: Remove intermediate IRQ forwarder
  hw/isa/vt82c686: Remove intermediate IRQ forwarder
  hw/sparc64/sun4u: Keep reference to ISA input IRQs in EbusState
  hw/isa: Remove empty ISADeviceClass structure
  hw/isa: Reorder to separate ISABus* vs ISADevice* functions
  hw/isa: Un-inline isa_bus_from_device()
  hw/isa: Rename isa_bus_irqs() -> isa_bus_register_input_irqs()
  hw/isa: Use isa_address_space_io() to reduce access on global 'isabus'
  hw/isa: Rename isa_get_dma() -> isa_bus_get_dma()
  hw/isa: Factor isa_bus_get_irq() out of isa_get_irq()
  hw: Replace isa_get_irq() by isa_bus_get_irq() when ISABus is
    available
  hw/rtc/mc146818rtc: Rename RTCState -> MC146818RtcState
  hw/rtc/mc146818rtc: Pass MC146818RtcState instead of ISADevice
    argument
  hw/rtc: Rename rtc_[get|set]_memory -> mc146818rtc_[get|set]_cmos_data
  hw/timer/hpet: Include missing 'hw/qdev-properties.h' header
  hw/audio/hda-codec: Avoid forward-declaring HDAAudioState
  hw/audio/es1370: Avoid forward-declaring ES1370State
  hw/audio/es1370: Replace container_of() by ES1370() QOM cast macro
  hw/audio/ac97: Replace container_of() by AC97() QOM cast macro
  hw/usb/dev-smartcard-reader: Avoid forward-declaring CCIDBus
  hw/usb/u2f: Declare QOM macros using OBJECT_DECLARE_TYPE()
  hw/usb/ohci: Include missing 'sysbus.h' header
  hw/usb/ohci: Use OHCIState type definition
  hw/usb/ohci: Fix typo
  hw/usb/uhci: Declare QOM macros using OBJECT_DECLARE_TYPE()
  hw/usb/uhci: Replace container_of() by UHCI_GET_CLASS() QOM macro
  hw/usb/xhci-nec: Declare QOM macros for NEC_XHCI
  hw/usb/xhci-nec: Replace container_of() by NEC_XHCI() QOM cast macro
  hw/display/sm501: Embed OHCI QOM child in chipset
  hw/display/sm501: Alias 'dma-offset' QOM property in chipset object
  hw/ppc/sam460ex: Correctly set MAL properties
  block/vvfat: Remove pointless check of NDEBUG
  scripts/checkpatch.pl: Do not allow assert(0)
  hw/i386/xen: Remove unused 'hw/ide.h' include from header
  hw/ide/mmio: Use CamelCase for MMIO_IDE state name
  hw/ide/mmio: Extract TYPE_MMIO_IDE declarations to 'hw/ide/mmio.h'
  hw/ide/isa: Extract TYPE_ISA_IDE declarations to 'hw/ide/isa.h'
  hw/ide/isa: Remove intermediate ISAIDEState::irq variable
  hw/ide/atapi: Restrict 'scsi/constants.h' inclusion
  hw/ide: Remove unused 'qapi/qapi-types-run-state.h'
  hw/ide: Include 'exec/ioport.h' instead of 'hw/isa/isa.h'
  hw/ide: Un-inline ide_set_irq()
  hw/ide: Rename ide_set_irq() -> ide_bus_set_irq()
  hw/ide: Rename ide_create_drive() -> ide_bus_create_drive()
  hw/ide: Rename ide_register_restart_cb -> ide_bus_register_restart_cb
  hw/ide: Rename ide_exec_cmd() -> ide_bus_exec_cmd()
  hw/ide: Rename ide_init2() -> ide_bus_init_output_irq()
  hw/ide: Rename idebus_active_if() -> ide_bus_active_if()
  hw/ide: Declare ide_get_[geometry/bios_chs_trans] in
    'hw/ide/internal.h'
  hw/ide/ioport: Remove unnecessary includes
  hw/ide/piix: Remove unused includes
  hw/ide/piix: Pass Error* to pci_piix_init_ports() for better error msg
  hw/ide/piix: Refactor pci_piix_init_ports as pci_piix_init_bus per bus
  hw/ide/via: Replace magic 2 value by ARRAY_SIZE / MAX_IDE_DEVS
  dump: Replace tswapN() -> cpu_to_dumpN()
  dump: Replace TARGET_PAGE_SIZE -> qemu_target_page_size()
  dump: Clean included headers
  dump: Simplify compiling win_dump.o by introducing
    win_dump_available()
  dump: Add create_win_dump() stub for non-x86 targets

Pierrick Bouvier (1):
  target/ppc: Fix warning with clang-15

 MAINTAINERS                                   |   8 +-
 accel/kvm/kvm-all.c                           |   8 +-
 accel/kvm/kvm-cpus.h                          |   4 +-
 accel/tcg/cpu-exec.c                          |  91 +---
 accel/tcg/hmp.c                               |  14 -
 accel/tcg/internal.h                          |   3 +
 accel/tcg/meson.build                         |   2 +-
 accel/tcg/monitor.c                           | 106 ++++
 accel/tcg/tcg-accel-ops.c                     |  17 +-
 accel/tcg/tcg-all.c                           |   2 +-
 accel/tcg/translate-all.c                     |   1 -
 accel/tcg/translator.c                        |   2 +-
 accel/tcg/user-exec-stub.c                    |   2 +-
 accel/xen/xen-all.c                           |  10 -
 block/vvfat.c                                 |   3 -
 cpu.c                                         |  73 +--
 cpus-common.c                                 |  72 +++
 dump/dump-hmp-cmds.c                          |   2 +-
 dump/dump.c                                   |  35 +-
 dump/meson.build                              |   6 +-
 dump/win_dump.c                               |  38 +-
 dump/win_dump.h                               |   5 +-
 gdbstub/gdbstub.c                             |   3 +-
 gdbstub/internals.h                           |   6 +-
 gdbstub/softmmu.c                             |   5 +-
 gdbstub/user.c                                |   5 +-
 hw/acpi/ich9.c                                |  10 +-
 hw/acpi/ich9_tco.c                            |   2 +-
 hw/arm/sbsa-ref.c                             |   2 +-
 hw/audio/ac97.c                               |  45 +-
 hw/audio/ac97.h                               |  65 +++
 hw/audio/cs4231a.c                            |   5 +-
 hw/audio/es1370.c                             |  10 +-
 hw/audio/gus.c                                |   5 +-
 hw/audio/hda-codec.c                          |   7 +-
 hw/audio/sb16.c                               |   7 +-
 hw/block/fdc-isa.c                            |   5 +-
 hw/core/ptimer.c                              |   2 +-
 hw/core/qdev.c                                |   2 +-
 hw/display/sm501.c                            | 127 +++--
 hw/dma/i82374.c                               |   2 +-
 hw/hppa/machine.c                             |   2 +-
 hw/i2c/smbus_ich9.c                           |  39 +-
 hw/i386/acpi-build.c                          |   3 +-
 hw/i386/kvm/ioapic.c                          |   3 +-
 hw/i386/microvm.c                             |  30 +-
 hw/i386/pc.c                                  |  83 +--
 hw/i386/pc_piix.c                             |   3 +-
 hw/i386/pc_q35.c                              |  34 +-
 hw/i386/x86.c                                 |  10 +-
 hw/i386/xen/xen_platform.c                    |   1 -
 hw/ide/ahci.c                                 |  13 +-
 hw/ide/atapi.c                                |  13 +-
 hw/ide/cmd646.c                               |   4 +-
 hw/ide/core.c                                 |  80 +--
 hw/ide/ich.c                                  |   1 +
 hw/ide/ioport.c                               |  10 -
 hw/ide/isa.c                                  |  22 +-
 hw/ide/macio.c                                |  15 +-
 hw/ide/microdrive.c                           |   9 +-
 hw/ide/mmio.c                                 |  37 +-
 hw/ide/pci.c                                  |  11 +-
 hw/ide/piix.c                                 |  46 +-
 hw/ide/qdev.c                                 |   2 +-
 hw/ide/sii3112.c                              |   4 +-
 hw/ide/trace-events                           |   3 +-
 hw/ide/via.c                                  |  16 +-
 hw/intc/apic.c                                |   2 +-
 hw/intc/i8259.c                               |   4 +-
 hw/intc/ioapic.c                              |   4 +-
 hw/intc/ioapic_common.c                       |   4 +-
 .../hw/i386 => hw/intc}/ioapic_internal.h     |   8 +-
 hw/isa/i82378.c                               |  19 +-
 hw/isa/isa-bus.c                              |  32 +-
 hw/isa/lpc_ich9.c                             |  36 +-
 hw/isa/piix4.c                                |   4 +-
 hw/isa/vt82c686.c                             |  18 +-
 hw/mips/jazz.c                                |   2 +-
 hw/misc/macio/gpio.c                          |   1 +
 hw/nubus/nubus-device.c                       |   1 +
 hw/pci-bridge/i82801b11.c                     |   2 +-
 hw/pci/pci.c                                  |   2 +-
 hw/ppc/pnv_lpc.c                              |   2 +-
 hw/ppc/prep.c                                 |  11 +-
 hw/ppc/sam460ex.c                             |   4 +-
 hw/rtc/m48t59-isa.c                           |   2 +-
 hw/rtc/mc146818rtc.c                          | 128 ++---
 hw/sh4/r2d.c                                  |   4 +-
 hw/sparc64/sun4u.c                            |  13 +-
 hw/timer/hpet.c                               |   1 +
 hw/usb/dev-smartcard-reader.c                 |   7 +-
 hw/usb/hcd-ohci.c                             | 436 ++++++++-------
 hw/usb/hcd-ohci.h                             |  11 +-
 hw/usb/hcd-uhci.c                             |   7 +-
 hw/usb/hcd-uhci.h                             |   2 +-
 hw/usb/hcd-xhci-nec.c                         |   8 +-
 hw/usb/trace-events                           |   4 +
 hw/usb/u2f.h                                  |  16 +-
 include/exec/gen-icount.h                     |   1 -
 include/exec/replay-core.h                    |  80 +++
 include/hw/acpi/ich9.h                        |   6 +-
 include/hw/core/cpu.h                         |  10 +-
 include/hw/i386/x86.h                         |   6 +-
 include/hw/ide.h                              |  12 -
 include/hw/ide/internal.h                     |  29 +-
 include/hw/ide/isa.h                          |  20 +
 include/hw/ide/mmio.h                         |  26 +
 include/hw/ide/pci.h                          |   7 +-
 include/hw/intc/i8259.h                       |  10 +-
 include/hw/{i386 => intc}/ioapic.h            |   6 +-
 include/hw/isa/i8259_internal.h               |   2 +-
 include/hw/isa/isa.h                          |  35 +-
 include/hw/isa/superio.h                      |   2 +-
 include/hw/qdev-core.h                        |   2 +-
 include/hw/rtc/mc146818rtc.h                  |  14 +-
 include/hw/{i386 => southbridge}/ich9.h       |  35 +-
 include/hw/timer/i8254.h                      |   3 +-
 include/hw/timer/i8254_internal.h             |   2 +-
 include/qemu/typedefs.h                       |  10 +-
 include/sysemu/accel-ops.h                    |   6 +-
 include/sysemu/cpus.h                         |   1 -
 include/sysemu/kvm.h                          |   2 -
 include/sysemu/replay.h                       |  67 +--
 meson.build                                   |   3 +-
 qom/object_interfaces.c                       |   2 +-
 scripts/checkpatch.pl                         |   3 +
 softmmu/meson.build                           |   3 +-
 softmmu/physmem.c                             | 191 -------
 softmmu/vl.c                                  |   2 +-
 softmmu/watchpoint.c                          | 220 ++++++++
 stubs/replay.c                                |   2 +-
 target/alpha/STATUS                           |  28 -
 target/alpha/cpu.h                            |   2 +-
 target/arm/cpu.h                              |   2 +-
 target/arm/internals.h                        |   2 +
 target/cris/cpu.h                             |   3 +-
 target/hppa/cpu.h                             |   2 +-
 target/hppa/fpu_helper.c                      | 450 ++++++++++++++++
 target/hppa/meson.build                       |   2 +
 target/hppa/op_helper.c                       | 504 ------------------
 target/hppa/sys_helper.c                      | 101 ++++
 target/i386/cpu-dump.c                        |   5 +-
 target/i386/cpu.h                             |  12 +-
 target/i386/hax/hax-i386.h                    |   2 -
 target/i386/hvf/hvf-i386.h                    |   4 -
 target/i386/whpx/whpx-all.c                   |   2 +-
 target/loongarch/cpu.h                        |   3 +-
 target/m68k/cpu.h                             |   4 +-
 target/microblaze/cpu.h                       |   4 +-
 target/nios2/cpu.h                            |   2 +-
 target/openrisc/cpu.h                         |   3 +-
 target/ppc/cpu.h                              |   2 +-
 target/ppc/dfp_helper.c                       |   4 +-
 target/ppc/internal.h                         |   5 +
 target/ppc/kvm.c                              |   1 -
 target/riscv/cpu.h                            |  18 +-
 target/rx/cpu.h                               |   2 +-
 target/rx/helper.c                            |   4 +-
 target/sh4/cpu.h                              |   2 +-
 target/sparc/cpu.h                            |   3 +-
 target/sparc/mmu_helper.c                     |   2 -
 target/tricore/cpu.h                          |  11 -
 target/xtensa/cpu.c                           |   3 +
 target/xtensa/cpu.h                           |   2 +-
 tcg/tcg-common.c                              |   2 +-
 tcg/tcg-op-gvec.c                             |   1 -
 tcg/tcg.c                                     |   1 -
 tests/qtest/tco-test.c                        |   2 +-
 tests/unit/meson.build                        |   2 +-
 tests/unit/ptimer-test-stubs.c                |   2 +-
 trace/meson.build                             |   4 +-
 ui/cocoa.m                                    |   7 +-
 util/guest-random.c                           |   2 +-
 173 files changed, 2183 insertions(+), 1964 deletions(-)
 delete mode 100644 accel/tcg/hmp.c
 create mode 100644 accel/tcg/monitor.c
 create mode 100644 hw/audio/ac97.h
 rename {include/hw/i386 => hw/intc}/ioapic_internal.h (96%)
 create mode 100644 include/exec/replay-core.h
 create mode 100644 include/hw/ide/isa.h
 create mode 100644 include/hw/ide/mmio.h
 rename include/hw/{i386 => intc}/ioapic.h (93%)
 rename include/hw/{i386 => southbridge}/ich9.h (91%)
 create mode 100644 softmmu/watchpoint.c
 delete mode 100644 target/alpha/STATUS
 create mode 100644 target/hppa/fpu_helper.c
 create mode 100644 target/hppa/sys_helper.c

Comments

Peter Maydell Feb. 27, 2023, 6:22 p.m. UTC | #1
On Mon, 27 Feb 2023 at 14:08, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> Hi Peter,
>
> I apologize for the size of this request, I was hoping various
> series would go via other tree, but everybody has been quite busy
> and the freezing windows is close, so I'm sending a huge mixed
> patchset here.
>
> Previous post failed with:
>
>   Unable to initialize SMTP properly. Check config and use --smtp-debug.
>   VALUES: server=smtp.gmail.com encryption=tls hello=localhost.localdomain
>   port=587 at /opt/homebrew/Cellar/git/2.38.1/libexec/git-core/git-send-email
>   line 1684.
>
> Reposting adding "--forget-cc --cc-cmd=/usr/bin/true --suppress-cc=all".
>
> The following changes since commit b11728dc3ae67ddedf34b7a4f318170e7092803c:
>
>   Merge tag 'pull-riscv-to-apply-20230224' of github.com:palmer-dabbelt/qemu into staging (2023-02-26 20:14:46 +0000)
>
> are available in the Git repository at:
>
>   https://github.com/philmd/qemu.git tags/buildsys-qom-qdev-ui-20230227
>
> for you to fetch changes up to 79fbbf323ce0b2608eca53f85f5e02b8c4b73b90:
>
>   ui/cocoa: user friendly characters for release mouse (2023-02-27 14:48:10 +0100)
>
> ----------------------------------------------------------------
> - buildsys
>   - Various header cleaned up (removing pointless headers)
>   - Mark various files/code user/system specific
>   - Make various objects target-independent
>   - Remove tswapN() calls from dump.o
>   - Suggest g_assert_not_reached() instead of assert(0)
>
> - qdev / qom
>   - Replace various container_of() by QOM cast macros
>   - Declare some QOM macros using OBJECT_DECLARE_TYPE()
>   - Embed OHCI QOM child in SM501 chipset
>
> - hw (ISA & IDE)
>   - add some documentation, improve function names
>   - un-inline, open-code few functions
>   - have ISA API accessing IRQ/DMA prefer ISABus over ISADevice
>   - Demote IDE subsystem maintenance to "Odd Fixes"
>
> - ui: Improve Ctrl+Alt hint on Darwin Cocoa

Seems to have broken the TCG plugins somehow?

https://gitlab.com/pm215/qemu/-/jobs/3841174348

TEST munmap-pthread on aarch64
**
ERROR:../plugins/core.c:221:qemu_plugin_vcpu_init_hook: assertion
failed: (success)

Similarly in
https://gitlab.com/pm215/qemu/-/jobs/3841174344
https://gitlab.com/pm215/qemu/-/jobs/3841174341

thanks
-- PMM
Philippe Mathieu-Daudé Feb. 27, 2023, 9:26 p.m. UTC | #2
On 27/2/23 19:22, Peter Maydell wrote:
> On Mon, 27 Feb 2023 at 14:08, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:

>> ----------------------------------------------------------------
>> - buildsys
>>    - Various header cleaned up (removing pointless headers)
>>    - Mark various files/code user/system specific
>>    - Make various objects target-independent
>>    - Remove tswapN() calls from dump.o
>>    - Suggest g_assert_not_reached() instead of assert(0)
>>
>> - qdev / qom
>>    - Replace various container_of() by QOM cast macros
>>    - Declare some QOM macros using OBJECT_DECLARE_TYPE()
>>    - Embed OHCI QOM child in SM501 chipset
>>
>> - hw (ISA & IDE)
>>    - add some documentation, improve function names
>>    - un-inline, open-code few functions
>>    - have ISA API accessing IRQ/DMA prefer ISABus over ISADevice
>>    - Demote IDE subsystem maintenance to "Odd Fixes"
>>
>> - ui: Improve Ctrl+Alt hint on Darwin Cocoa
> 
> Seems to have broken the TCG plugins somehow?
> 
> https://gitlab.com/pm215/qemu/-/jobs/3841174348
> 
> TEST munmap-pthread on aarch64
> **
> ERROR:../plugins/core.c:221:qemu_plugin_vcpu_init_hook: assertion
> failed: (success)
> 
> Similarly in
> https://gitlab.com/pm215/qemu/-/jobs/3841174344
> https://gitlab.com/pm215/qemu/-/jobs/3841174341

Sorry since this wasn't reliable, I first thought this was
pre-existing / unrelated to this patchset. But...

012add0d52621e34632ea24361a0c751bc2f5ad1 is the first bad commit
commit 012add0d52621e34632ea24361a0c751bc2f5ad1
Author: Philippe Mathieu-Daudé <philmd@linaro.org>
Date:   Tue Dec 6 16:06:00 2022 +0100

     cputlb: Restrict SavedIOTLB to system emulation

     Commit 2f3a57ee47 ("cputlb: ensure we save the IOTLB data in
     case of reset") added the SavedIOTLB structure -- which is
     system emulation specific -- in the generic CPUState structure.

For some reason this was hard to bisect. The usual "make check-tcg"
rule wasn't coherent along bisection. Eventually I ended using
"ninja clean && ninja qemu-user && make check-tcg" which worked.

Could a .so rule be incomplete, so while qemu-user binary is rebuilt,
the plugin sharedlibs aren't?

Anyhow, short term I'll simply drop this commit from the pullreq.