summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>2018-09-04 18:16:52 +0300
committerTom Rini <trini@konsulko.com>2018-09-05 22:14:37 -0400
commit861b85c482b3aec5bbb8cdcc364aa6f15aebeba5 (patch)
treecbc6a64965760be37727a72af91f724437717874 /board
parentf2906e5f586d4ff238f5370b77717279bf5b0639 (diff)
downloadu-boot-861b85c482b3aec5bbb8cdcc364aa6f15aebeba5.tar.gz
ARM: qemu-arm: Fix qemu_arm64_defconfig for QEMU 3.0
QEMU 3.0 introduced additional memory-mapped regions for PCI-E ECAM and MMIO. Thus we need to add them to our MMU map or U-Boot will crash with a Synchronous Abort during PCI-E probing when it tries to access the unmapped ECAM memory area. Reported-by: Jonathan Gray <jsg@jsg.id.au> Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi> Tested-by: Jonathan Gray <jsg@jsg.id.au>
Diffstat (limited to 'board')
-rw-r--r--board/emulation/qemu-arm/qemu-arm.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/board/emulation/qemu-arm/qemu-arm.c b/board/emulation/qemu-arm/qemu-arm.c
index 1f5a33d520..812c90636d 100644
--- a/board/emulation/qemu-arm/qemu-arm.c
+++ b/board/emulation/qemu-arm/qemu-arm.c
@@ -17,7 +17,7 @@ static struct mm_region qemu_arm64_mem_map[] = {
.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
PTE_BLOCK_INNER_SHARE
}, {
- /* Peripherals */
+ /* Lowmem peripherals */
.virt = 0x08000000UL,
.phys = 0x08000000UL,
.size = 0x38000000,
@@ -32,6 +32,22 @@ static struct mm_region qemu_arm64_mem_map[] = {
.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
PTE_BLOCK_INNER_SHARE
}, {
+ /* Highmem PCI-E ECAM memory area */
+ .virt = 0x4010000000ULL,
+ .phys = 0x4010000000ULL,
+ .size = 0x10000000,
+ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
+ PTE_BLOCK_NON_SHARE |
+ PTE_BLOCK_PXN | PTE_BLOCK_UXN
+ }, {
+ /* Highmem PCI-E MMIO memory area */
+ .virt = 0x8000000000ULL,
+ .phys = 0x8000000000ULL,
+ .size = 0x8000000000ULL,
+ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
+ PTE_BLOCK_NON_SHARE |
+ PTE_BLOCK_PXN | PTE_BLOCK_UXN
+ }, {
/* List terminator */
0,
}