qemu-e2k/hw
Ani Sinha fe8adae345 hw/acpi: refactor acpi hp modules so that targets can just use what they need
Currently various acpi hotplug modules like cpu hotplug, memory hotplug, pci
hotplug, nvdimm hotplug are all pulled in when CONFIG_ACPI_X86 is turned on.
This brings in support for whole lot of subsystems that some targets like
mips does not need. They are added just to satisfy symbol dependencies. This
is ugly and should be avoided. Targets should be able to pull in just what they
need and no more. For example, mips only needs support for PIIX4 and does not
need acpi pci hotplug support or cpu hotplug support or memory hotplug support
etc. This change is an effort to clean this up.
In this change, new config variables are added for various acpi hotplug
subsystems. Targets like mips can only enable PIIX4 support and not the rest
of all the other modules which were being previously pulled in as a part of
CONFIG_ACPI_X86. Function stubs make sure that symbols which piix4 needs but
are not required by mips (for example, symbols specific to pci hotplug etc)
are available to satisfy the dependencies.

Currently, this change only addresses issues with mips malta targets. In future
we might be able to clean up other targets which are similarly pulling in lot
of unnecessary hotplug modules by enabling ACPI_X86.

This change should also address issues such as the following:
https://gitlab.com/qemu-project/qemu/-/issues/221
https://gitlab.com/qemu-project/qemu/-/issues/193

Signed-off-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20210812071409.492299-1-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2021-09-04 09:07:46 -04:00
..
9pfs 9pfs: fix crash in v9fs_walk() 2021-09-02 13:26:22 +02:00
acpi hw/acpi: refactor acpi hp modules so that targets can just use what they need 2021-09-04 09:07:46 -04:00
adc
alpha
arm arm: Remove system_clock_scale global 2021-09-01 11:08:21 +01:00
audio
avr
block
char hw/char: Add config for shakti uart 2021-09-01 11:59:12 +10:00
core Block patches: 2021-09-02 13:00:52 +01:00
cpu
cris
display hw/display/artist: Fix bug in coordinate extraction in artist_vram_read() and artist_vram_write() 2021-08-31 14:38:53 +02:00
dma hw/dma/xlnx-zdma Always expect 'dma' link property to be set 2021-08-26 17:01:59 +01:00
gpio
hppa
hyperv
i2c
i386 hw/acpi: define PIIX4 acpi pci hotplug property strings at a single place 2021-09-04 09:07:45 -04:00
ide
input
intc arm: Move system PPB container handling to armv7m 2021-09-01 11:08:18 +01:00
ipack
ipmi
isa q35: catch invalid cpu hotplug configuration 2021-09-04 09:07:45 -04:00
m68k
mem
microblaze
mips arch_init.h: Don't include arch_init.h unnecessarily 2021-08-26 17:02:00 +01:00
misc arm: Move M-profile RAS register block into its own device 2021-09-01 11:08:18 +01:00
net
nios2
nubus
nvme
nvram
openrisc
pci
pci-bridge
pci-host
pcmcia
ppc hw: Add compat machines for 6.2 2021-09-01 11:08:16 +01:00
rdma
remote Remove superfluous ERRP_GUARD() 2021-08-26 17:15:28 +02:00
riscv hw/riscv/virt.c: Assemble plic_hart_config string with g_strjoinv() 2021-09-01 11:59:12 +10:00
rtc
rx
s390x hw: Add compat machines for 6.2 2021-09-01 11:08:16 +01:00
scsi
sd
sensor
sh4
smbios
sparc
sparc64
ssi
timer arm: Remove system_clock_scale global 2021-09-01 11:08:21 +01:00
tpm
tricore
usb hw/usb: Fix typo in comments and print 2021-09-01 06:37:13 +02:00
vfio
virtio vhost: make SET_VRING_ADDR, SET_FEATURES send replies 2021-09-04 09:07:45 -04:00
watchdog
xen
xenpv
xtensa
Kconfig
meson.build