diff --git a/src/mainboard/emulation/qemu-aarch64/include/mainboard/addressmap.h b/src/mainboard/emulation/qemu-aarch64/include/mainboard/addressmap.h index 70acac8519..f3ca0e1d39 100644 --- a/src/mainboard/emulation/qemu-aarch64/include/mainboard/addressmap.h +++ b/src/mainboard/emulation/qemu-aarch64/include/mainboard/addressmap.h @@ -41,7 +41,8 @@ * base_memmap entries (VIRT_HIGH_GIC_REDIST2 index is greater than the last * index of base_memmap). */ -#define VIRT_PCIE_ECAM_BASE 0x4010000000 /* The one in lower memory does not seem to work */ +#define VIRT_PCIE_LOW_ECAM_BASE 0x3f000000 /* only used if highmem-ecam=off (QEMU cmdline) */ +#define VIRT_PCIE_HIGH_ECAM_BASE 0x4010000000 /* only used if highmem-ecam=on (default) */ #define VIRT_PCIE_ECAM_SIZE (256 * MiB) -#define VIRT_PCIE_HIGH_MMIO_BASE 0x8000000000ULL +#define VIRT_PCIE_HIGH_MMIO_BASE 0x8000000000ULL #define VIRT_PCIE_HIGH_MMIO_LIMIT 0xffffffffffULL diff --git a/src/mainboard/emulation/qemu-aarch64/mainboard.c b/src/mainboard/emulation/qemu-aarch64/mainboard.c index 2701072d66..ac6b46d4fb 100644 --- a/src/mainboard/emulation/qemu-aarch64/mainboard.c +++ b/src/mainboard/emulation/qemu-aarch64/mainboard.c @@ -41,7 +41,7 @@ static void qemu_aarch64_domain_read_resources(struct device *dev) res->limit = VIRT_PCIE_HIGH_MMIO_LIMIT; res->flags = IORESOURCE_MEM | IORESOURCE_ASSIGNED; - mmio_range(dev, index++, VIRT_PCIE_ECAM_BASE, VIRT_PCIE_ECAM_SIZE); + mmio_range(dev, index++, VIRT_PCIE_HIGH_ECAM_BASE, VIRT_PCIE_ECAM_SIZE); ram_from_to(dev, index++, (uintptr_t)_dram, cbmem_top()); }