OSDN Git Service
(root)
/
qmiga
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
abf3a4e
)
hw/arm/virt-acpi - reserve ECAM space as PNP0C02 device
author
Ard Biesheuvel
<ard.biesheuvel@linaro.org>
Fri, 20 Jan 2017 11:15:08 +0000
(11:15 +0000)
committer
Peter Maydell
<peter.maydell@linaro.org>
Fri, 20 Jan 2017 11:15:08 +0000
(11:15 +0000)
Linux for arm64 v4.10 and later will complain if the ECAM config space is
not reserved in the ACPI namespace:
acpi PNP0A08:00: [Firmware Bug]: ECAM area [mem 0x3f000000-0x3fffffff] not reserved in ACPI namespace
The rationale is that OSes that don't consume the MCFG table should still
be able to infer that the PCI config space MMIO region is occupied.
So update the ACPI table generation routine to add this reservation.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Message-id:
1484328738
-21149-1-git-send-email-ard.biesheuvel@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/arm/virt-acpi-build.c
patch
|
blob
|
history
diff --git
a/hw/arm/virt-acpi-build.c
b/hw/arm/virt-acpi-build.c
index
085a611
..
50d52f6
100644
(file)
--- a/
hw/arm/virt-acpi-build.c
+++ b/
hw/arm/virt-acpi-build.c
@@
-310,6
+310,13
@@
static void acpi_dsdt_add_pci(Aml *scope, const MemMapEntry *memmap,
Aml *dev_rp0 = aml_device("%s", "RP0");
aml_append(dev_rp0, aml_name_decl("_ADR", aml_int(0)));
aml_append(dev, dev_rp0);
+
+ Aml *dev_res0 = aml_device("%s", "RES0");
+ aml_append(dev_res0, aml_name_decl("_HID", aml_string("PNP0C02")));
+ crs = aml_resource_template();
+ aml_append(crs, aml_memory32_fixed(base_ecam, size_ecam, AML_READ_WRITE));
+ aml_append(dev_res0, aml_name_decl("_CRS", crs));
+ aml_append(dev, dev_res0);
aml_append(scope, dev);
}