From c01a9ab56244dbb6d93e3be128ef1fadccc9ed2b Mon Sep 17 00:00:00 2001 From: Julius Werner Date: Fri, 27 Apr 2018 15:19:51 -0700 Subject: [PATCH] cubieboard/qemu-armv7/am335x: Add fake TTB region for consistency All ARM architecture boards are supposed to have a TTB region for their page tables. ARM systems cannot use the data cache without enabling paging, so it is imperative to do that as soon as possible. They will also fault on unaligned accesses when not using the cache, which breaks assumptions in CBFS code. Unfortunately, we have some old boards in various stages of disrepair in the tree that don't always follow these sorts of standard conventions. It's not clear whether they actually boot anymore and if anyone still has the respective hardware available to maintain them. I cannot really fix and test them right now, but we should at least create a fake TTB section for them so that common architecture code may make the correct assumptions about which regions exist. Change-Id: I51aa259fbb7a9c0ade72db905b1762c1c721f387 Signed-off-by: Julius Werner Reviewed-on: https://review.coreboot.org/25903 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/cpu/ti/am335x/memlayout.ld | 3 +++ src/mainboard/cubietech/cubieboard/memlayout.ld | 3 +++ src/mainboard/emulation/qemu-armv7/memlayout.ld | 3 +++ 3 files changed, 9 insertions(+) diff --git a/src/cpu/ti/am335x/memlayout.ld b/src/cpu/ti/am335x/memlayout.ld index a6f41ebe95..9efb710f34 100644 --- a/src/cpu/ti/am335x/memlayout.ld +++ b/src/cpu/ti/am335x/memlayout.ld @@ -25,6 +25,9 @@ SECTIONS STACK(0x4030be00, 4K) RAMSTAGE(0x80200000, 192K) + /* TODO: Implement MMU support and move TTB to a better location. */ + TTB(0x81000000, 16K) + #ifdef OMAP_HEADER .header : { *(.header); diff --git a/src/mainboard/cubietech/cubieboard/memlayout.ld b/src/mainboard/cubietech/cubieboard/memlayout.ld index 55ba70a653..b9bf10b8f6 100644 --- a/src/mainboard/cubietech/cubieboard/memlayout.ld +++ b/src/mainboard/cubietech/cubieboard/memlayout.ld @@ -28,4 +28,7 @@ SECTIONS DRAM_START(0x40000000) RAMSTAGE(0x40000000, 16M) ROMSTAGE(0x41000000, 108K) + + /* TODO: Implement MMU support and move TTB to a better location. */ + TTB(0x42000000, 16K) } diff --git a/src/mainboard/emulation/qemu-armv7/memlayout.ld b/src/mainboard/emulation/qemu-armv7/memlayout.ld index 1b3a48bad3..776e05166b 100644 --- a/src/mainboard/emulation/qemu-armv7/memlayout.ld +++ b/src/mainboard/emulation/qemu-armv7/memlayout.ld @@ -47,4 +47,7 @@ SECTIONS STACK(0x60000000, 64K) ROMSTAGE(0x60010000, 128K) RAMSTAGE(0x60030000, 16M) + + /* TODO: Implement MMU support and move TTB to a better location. */ + TTB(0x61030000, 16K) }