qemu-patch-raspberry4/hw/i386
Igor Mammedov ddf1ec2ffe pc: acpi-build: create CPU hotplug IO region dynamically
it replaces a static complied in DSDT MMIO region
for CPU hotplug with one created at runtime
leaving only truly static CPU hotplug related ASL
bits in DSDT.
It also puts CPU_HOTPLUG_RESOURCE_DEVICE into
PCI0 scope and reserves resources from it,
preparing for dropping manual hole punching
in PCI0._CRS.

Later it also would make easier to reuse current
ACPI CPU hotplug on other targets.

Also later it would be possible to move remaining
CPU hotplug ASL methods into build_ssdt() and
add all CPU hotplug related AML into SSDT only
when CPU hotplug is enabled, further reducing
ACPI tables blob if CPU hotplug isn't used.

impl. detail:
Windows XP can't handle /BSODs/ OperationRegion
declaration in DSDT when variable from SSDT is used
for specifying its address/length and also when
Field declared in DSDT with OperationRegion from
SSDT if DSDT is being parsed before SSDT.
But it works just fine when referencing named
fields from another table. Hence OperationRegion
and Field declaration are moved to SSDT to make
XP based editions work.

PS:
Later Windows editions seem to be fine with above
conditions.

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>
2015-02-26 13:04:17 +01:00
..
kvm pci-assign: Convert to realize 2015-02-26 12:42:17 +01:00
xen hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
acpi-build.c pc: acpi-build: create CPU hotplug IO region dynamically 2015-02-26 13:04:17 +01:00
acpi-build.h i386: ACPI table generation code from seabios 2013-10-14 17:48:57 +03:00
acpi-defs.h intel-iommu: add DMAR table to ACPI tables 2014-08-28 23:10:22 +02:00
acpi-dsdt-cpu-hotplug.dsl pc: acpi-build: create CPU hotplug IO region dynamically 2015-02-26 13:04:17 +01:00
acpi-dsdt-dbug.dsl i386: add ACPI table files from seabios 2013-10-14 17:48:51 +03:00
acpi-dsdt-hpet.dsl ACPI: Remove commented-out code from HPET._CRS 2014-02-10 11:09:33 +02:00
acpi-dsdt-isa.dsl ACPI: Fix AppleSMC _STA size 2014-01-26 13:06:48 +02:00
acpi-dsdt-mem-hotplug.dsl target-i386: move generic memory hotplug methods to DSDTs 2014-11-24 20:57:10 +02:00
acpi-dsdt-pci-crs.dsl pc: Q35 DSDT: exclude CPU hotplug IO range from PCI bus resources 2014-01-26 13:11:44 +02:00
acpi-dsdt.dsl target-i386: move generic memory hotplug methods to DSDTs 2014-11-24 20:57:10 +02:00
acpi-dsdt.hex.generated acpi: update generated hex files 2015-01-27 14:45:18 +02:00
intel_iommu.c exec: RCUify AddressSpaceDispatch 2015-02-16 17:30:19 +01:00
intel_iommu_internal.h intel-iommu: add IOTLB using hash table 2014-08-28 23:10:22 +02:00
kvmvapic.c kvmvapic: patch_instruction fix 2014-10-31 11:29:02 +01:00
Makefile.objs pc: acpi-build: drop template patching and CPU hotplug objects dynamically 2015-02-26 13:04:17 +01:00
multiboot.c multiboot: Fix offset of bootloader name 2015-01-26 12:22:44 +01:00
multiboot.h refer to FWCfgState explicitly 2013-06-02 18:14:02 +03:00
pc.c pc: memory: Validate alignment of maxram_size to page size 2015-02-26 12:42:19 +01:00
pc_piix.c acpi: has_immutable_rsdp->!rsdp_in_ram 2015-02-26 12:42:20 +01:00
pc_q35.c acpi: has_immutable_rsdp->!rsdp_in_ram 2015-02-26 12:42:20 +01:00
pc_sysfw.c x86: Drop superfluous conditionals around g_free() 2014-12-15 12:21:02 +01:00
q35-acpi-dsdt.dsl target-i386: move generic memory hotplug methods to DSDTs 2014-11-24 20:57:10 +02:00
q35-acpi-dsdt.hex.generated acpi: update generated hex files 2015-01-27 14:45:18 +02:00
smbios.c error: Use error_report_err() where appropriate 2015-02-18 10:51:09 +01:00
ssdt-mem.dsl hw:i386: typo fix: MEMORY_HOPTLUG_DEVICE -> MEMORY_HOTPLUG_DEVICE 2014-08-14 13:20:49 +02:00
ssdt-mem.hex.generated target-i386: move generic memory hotplug methods to DSDTs 2014-11-24 20:57:10 +02:00
ssdt-misc.dsl pc: acpi-build: generate pvpanic device description dynamically 2015-02-26 13:04:15 +01:00
ssdt-misc.hex.generated target-i386: move generic memory hotplug methods to DSDTs 2014-11-24 20:57:10 +02:00
ssdt-pcihp.dsl acpi-build: append description for non-hotplug 2014-03-09 21:09:30 +02:00
ssdt-pcihp.hex.generated acpi: update generated files 2014-06-19 16:41:52 +03:00
ssdt-proc.hex.generated acpi: update generated files 2014-06-19 16:41:52 +03:00
ssdt-tpm.dsl Add ACPI tables for TPM 2014-08-25 00:16:06 +02:00
ssdt-tpm.hex.generated ssdt-tpm: add generated hex file to git 2014-08-25 00:16:06 +02:00