aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPavel Fedin <p.fedin@samsung.com>2015-09-07 10:39:29 +0100
committerPeter Maydell <peter.maydell@linaro.org>2015-09-07 10:39:29 +0100
commit5125f9cd2532f0aca25d966ecd27d0e30d4af7c9 (patch)
tree5a3a03ce1977827b0280528b2759fd3dc6c50c72 /include
parent3a9148d0bdcee990fbe86759b9b1f5723c1d7fbc (diff)
downloadqemu-5125f9cd2532f0aca25d966ecd27d0e30d4af7c9.zip
qemu-5125f9cd2532f0aca25d966ecd27d0e30d4af7c9.tar.gz
qemu-5125f9cd2532f0aca25d966ecd27d0e30d4af7c9.tar.bz2
hw/arm/virt: Add high MMIO PCI region, 512G in size
This large region is necessary for some devices like ivshmem and video cards 32-bit kernels can be built without LPAE support. In this case such a kernel will not be able to use PCI controller which has windows in high addresses. In order to work around the problem, "highmem" option is introduced. It defaults to on on, but can be manually set to off in order to be able to run those old 32-bit guests. Signed-off-by: Pavel Fedin <p.fedin@samsung.com> Reviewed-by: Alexander Graf <agraf@suse.de> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Shannon Zhao <shannon.zhao@linaro.org> [PMM: Added missing ULL suffixes and a comment to the a15memmap[] entry] Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include')
-rw-r--r--include/hw/arm/virt-acpi-build.h1
-rw-r--r--include/hw/arm/virt.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/include/hw/arm/virt-acpi-build.h b/include/hw/arm/virt-acpi-build.h
index 04f174d..19b68a4 100644
--- a/include/hw/arm/virt-acpi-build.h
+++ b/include/hw/arm/virt-acpi-build.h
@@ -31,6 +31,7 @@ typedef struct VirtGuestInfo {
FWCfgState *fw_cfg;
const MemMapEntry *memmap;
const int *irqmap;
+ bool use_highmem;
} VirtGuestInfo;
diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index d22fd8e..808753f 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -56,6 +56,7 @@ enum {
VIRT_PCIE_ECAM,
VIRT_GIC_V2M,
VIRT_PLATFORM_BUS,
+ VIRT_PCIE_MMIO_HIGH,
};
typedef struct MemMapEntry {