On Fri, Feb 07, 2014 at 01:51:27PM +0100, Igor Mammedov wrote: > Since introduction of PCIHP, it became problematic to > punch hole in PCI0._CRS statically since PCI hotplug > region size became runtime changeable.
What makes it runtime changeable? > So replace static hole punching with dynamically consumed > resources in a child device on PCI0 bus. i.e generate > PNP0C02 device as a child of PCI0 bus at runtime and > consume GPE0, PCI/CPU hotplug IO resources in it instead > of punching holes in static PCI0._CRS. It seems that we are being too exact with IO resources here. Can't we roughly reserve 0xae00 to 0xafff and be done with it? > Tested with Windows XPsp3, Vista, Windows Server 2003, 2008, 2012r2. > > PS: > Series adds several ASL like macros to simplify > code for dynamic generation of AML structures. > > Igor Mammedov (9): > Revert "pc: Q35 DSDT: exclude CPU hotplug IO range from PCI bus > resources" > Revert "pc: PIIX DSDT: exclude CPU/PCI hotplug & GPE0 IO range from > PCI bus resources" > Partial revert "pc: ACPI: expose PRST IO range via _CRS" > acpi: replace opencoded opcodes with defines > acpi: add PNP0C02 to PCI0 bus > acpi: consume GPE0 IO resources in PNP0C02 device > acpi: consume CPU hotplug IO resource in PNP0C02 device > pcihp: expose PCI hotplug MMIO base/length as properties of piix4pm > acpi: consume PCIHP IO resource in PNP0C02 device > > hw/acpi/pcihp.c | 28 ++++++ > hw/acpi/piix4.c | 1 + > hw/i386/acpi-build.c | 177 ++++++++++++++++++++++++++++++++++-- > hw/i386/acpi-dsdt-cpu-hotplug.dsl | 11 --- > hw/i386/acpi-dsdt-pci-crs.dsl | 15 +++- > hw/i386/acpi-dsdt.dsl | 39 -------- > hw/i386/q35-acpi-dsdt.dsl | 16 ---- > include/hw/acpi/pcihp.h | 4 + > 8 files changed, 214 insertions(+), 77 deletions(-)