diff options
author | Igor Mammedov <imammedo@redhat.com> | 2014-02-03 11:44:59 +0100 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2014-02-05 16:55:49 +0200 |
commit | 99d09dd32820f5702031e3c08c81f8c209dc2220 (patch) | |
tree | fdc0505a6f922b9cf8a614ad552eadc05a1f2080 /include | |
parent | a7b613cf68b65d04ef2b1b601bb18f31e8ca0c11 (diff) | |
download | qemu-99d09dd32820f5702031e3c08c81f8c209dc2220.tar.gz qemu-99d09dd32820f5702031e3c08c81f8c209dc2220.tar.bz2 qemu-99d09dd32820f5702031e3c08c81f8c209dc2220.zip |
pcihp: make pci_read() mmio calback compatible with legacy ACPI hotplug
due to recent change introduced by:
"pcihp: reduce number of device check events"
'up' field is cleared right after it's read.
This is incompatible with legacy BIOS ACPI code
where PCNF ACPI method reads this field 32 times.
To make pci_read mmio callback compatible with legacy
'up' behavior, pcihp code will need to know in which
mode it runs add 'legacy_piix' field to AcpiPciHpState
structure and alter register behavior accordingly.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/hw/acpi/pcihp.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/hw/acpi/pcihp.h b/include/hw/acpi/pcihp.h index aa297c2450..02d3ce33a1 100644 --- a/include/hw/acpi/pcihp.h +++ b/include/hw/acpi/pcihp.h @@ -46,10 +46,11 @@ typedef struct AcpiPciHpState { uint32_t hotplug_select; PCIBus *root; MemoryRegion io; + bool legacy_piix; } AcpiPciHpState; void acpi_pcihp_init(AcpiPciHpState *, PCIBus *root, - MemoryRegion *address_space_io); + MemoryRegion *address_space_io, bool bridges_enabled); /* Invoke on device hotplug */ int acpi_pcihp_device_hotplug(AcpiPciHpState *, PCIDevice *, |