qemu/hw
Bernhard Beschow 35a6380b4e hw/isa/vt82c686: Implement relocation and toggling of SuperI/O functions
The VIA south bridges are able to relocate and toggle (enable or disable) their
SuperI/O functions. So far this is hardcoded such that all functions are always
enabled and are located at fixed addresses.

Some PC BIOSes seem to probe for I/O occupancy before activating such a function
and issue an error in case of a conflict. Since the functions are currently
enabled on reset, conflicts are always detected. Prevent that by implementing
relocation and toggling of the SuperI/O functions.

Note that all SuperI/O functions are now deactivated upon reset (except for
VT82C686B's serial ports where Fuloong 2e's rescue-yl seems to expect them to be
enabled by default). Rely on firmware to configure the functions accordingly.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-Id: <20240114123911.4877-12-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2024-02-14 06:09:32 -05:00
..
9pfs * configure: use a native non-cross compiler for linux-user 2024-01-04 19:55:20 +00:00
acpi * configure: use a native non-cross compiler for linux-user 2024-01-04 19:55:20 +00:00
adc hw/adc: Constify VMState 2023-12-29 11:17:30 +11:00
alpha hw/alpha/dp264: use pci_init_nic_devices() 2024-02-02 16:23:47 +00:00
arm target/arm: fix exception syndrome for AArch32 bkpt insn 2024-02-02 18:56:32 +00:00
audio hw/audio/sb16: Do not migrate qdev properties 2024-01-05 16:20:15 +01:00
avr hw/avr/atmega: Fix wrong initial value of stack pointer 2023-11-28 14:27:12 +01:00
block hw/block/fdc-isa: Implement relocation and enabling/disabling for TYPE_ISA_FDC 2024-02-14 06:09:32 -05:00
char hw/char/parallel-isa: Implement relocation and enabling/disabling for TYPE_ISA_PARALLEL 2024-02-14 06:09:32 -05:00
core hw/core: Remove transitional infrastructure from BusClass 2024-02-02 13:51:57 +00:00
cpu target/arm: Move GTimer definitions to new 'gtimer.h' header 2024-01-26 11:30:49 +00:00
cris hw/net/etraxfs-eth: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
cxl cxl: Clean up includes 2024-01-30 21:20:20 +03:00
display vga: sort-of implement word and double-word access modes 2024-01-18 10:43:14 +01:00
dma hw/dma: Constify VMState 2023-12-29 11:17:30 +11:00
fsi hw/fsi: Aspeed APB2OPB & On-chip peripheral bus 2024-02-01 08:33:18 +01:00
gpio hw/gpio: Constify VMState 2023-12-29 11:17:30 +11:00
hppa hw/net/lasi_i82596: use qemu_create_nic_device() 2024-02-02 16:23:47 +00:00
hyperv hv-balloon: use get_min_alignment() to express 32 GiB alignment 2024-02-04 17:42:03 +01:00
i2c hw/i2c: Constify VMState 2023-12-29 11:17:30 +11:00
i386 hw/i386/x86: Fix PIC interrupt handling if APIC is globally disabled 2024-02-14 06:09:32 -05:00
ide hw/ide: Constify VMState 2023-12-29 11:17:30 +11:00
input hw/virtio: Move vhost-user-input into virtio folder 2024-02-14 06:09:32 -05:00
intc hw/i386/x86: Fix PIC interrupt handling if APIC is globally disabled 2024-02-14 06:09:32 -05:00
ipack hw/ipack: Constify VMState 2023-12-29 11:17:30 +11:00
ipmi hw/ipmi: Constify VMState 2023-12-29 11:17:30 +11:00
isa hw/isa/vt82c686: Implement relocation and toggling of SuperI/O functions 2024-02-14 06:09:32 -05:00
loongarch hw/loongarch: use pci_init_nic_devices() 2024-02-02 16:23:47 +00:00
m68k hw/m68k/q800: use qemu_find_nic_info() 2024-02-02 16:23:47 +00:00
mem memory-device: reintroduce memory region size check 2024-02-06 08:14:59 +01:00
microblaze hw/microblaze: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
mips hw/mips/jazz: use qemu_find_nic_info() 2024-02-02 16:23:47 +00:00
misc hw/misc/xlnx-versal-crl: Build it only once 2024-01-26 11:30:49 +00:00
net target/arm: fix exception syndrome for AArch32 bkpt insn 2024-02-02 18:56:32 +00:00
nios2 target/nios2: Deprecate the Nios II architecture 2023-11-23 14:10:04 +00:00
nubus
nvme
nvram acpi: Clean up includes 2024-01-30 21:20:20 +03:00
openrisc hw/openrisc/openrisc_sim: use qemu_create_nic_device() 2024-02-02 16:23:47 +00:00
pci target/arm: fix exception syndrome for AArch32 bkpt insn 2024-02-02 18:56:32 +00:00
pci-bridge * configure: use a native non-cross compiler for linux-user 2024-01-04 19:55:20 +00:00
pci-host pci-host: designware: Limit value range of iATU viewport register 2024-02-02 13:51:58 +00:00
pcmcia hw/pcmcia/pxa2xx: Inline pxa2xx_pcmcia_init() 2023-10-27 12:48:57 +01:00
ppc hw/ppc/pegasos2: Let pegasos2 machine configure SuperI/O functions 2024-02-14 06:09:32 -05:00
rdma hw/rdma/vmw/pvrdma_cmd: Use correct struct in query_port() 2023-10-21 15:00:22 +03:00
remote Replace "iothread lock" with "BQL" in comments 2024-01-08 10:45:43 -05:00
riscv target/riscv: SMBIOS support for RISC-V virt machine 2024-02-09 20:43:14 +10:00
rtc hw/rtc: Constify VMState 2023-12-30 07:38:06 +11:00
rx hw/rx/rx62n: Use qdev_prop_set_array() 2023-11-10 18:19:13 +01:00
s390x target/arm: fix exception syndrome for AArch32 bkpt insn 2024-02-02 18:56:32 +00:00
scsi Block layer patches 2024-02-08 20:08:44 +00:00
sd hw/sd: Constify VMState 2023-12-30 07:38:06 +11:00
sensor hw/sensor: Constify VMState 2023-12-30 07:38:06 +11:00
sh4 hw/sh4/r2d: use pci_init_nic_devices() 2024-02-02 16:23:47 +00:00
smbios smbios: function to set default processor family 2024-02-09 20:43:14 +10:00
sparc hw/sparc/sun4m: use qemu_find_nic_info() 2024-02-02 16:23:47 +00:00
sparc64 hw/sparc64/sun4u: use pci_init_nic_devices() 2024-02-02 16:23:47 +00:00
ssi hw/ssi: Implement BCM2835 SPI Controller 2024-02-02 13:51:59 +00:00
timer hw/timer/hpet: Convert DPRINTF to trace events 2024-01-19 12:28:10 +01:00
tpm hw/tpm: Constify VMState 2023-12-30 07:38:06 +11:00
tricore
ufs hw/ufs: avoid generating the same ID string for different LU devices 2023-12-05 13:57:18 +09:00
usb scsi: Don't ignore most usb-storage properties 2024-02-07 15:25:13 +01:00
vfio vfio/pci: Clear MSI-X IRQ index always 2024-01-29 08:26:25 +01:00
virtio hw/virtio: derive vhost-user-input from vhost-user-base 2024-02-14 06:09:32 -05:00
watchdog hw/watchdog: Constify VMState 2023-12-30 07:38:06 +11:00
xen target/arm: fix exception syndrome for AArch32 bkpt insn 2024-02-02 18:56:32 +00:00
xenpv hw/xen: use qemu_create_nic_bus_devices() to instantiate Xen NICs 2024-02-02 16:23:47 +00:00
xtensa hw/xtensa/xtfpga: use qemu_create_nic_device() 2024-02-02 16:23:47 +00:00
Kconfig hw/fsi: Introduce IBM's Local bus 2024-02-01 08:13:30 +01:00
meson.build hw/fsi: Introduce IBM's Local bus 2024-02-01 08:13:30 +01:00