Patrick Rudolph has uploaded this change for review.

View Change

tmb/emulation/qemu-aarch64: Add MMU support

Enable MMU in bootblock.

Change-Id: Ifaed9d3cc11520f180a732d51adce634621b5844
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
---
M src/mainboard/emulation/qemu-aarch64/Makefile.inc
A src/mainboard/emulation/qemu-aarch64/bootblock.c
M src/mainboard/emulation/qemu-aarch64/memlayout.ld
3 files changed, 35 insertions(+), 2 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/34/38534/1
diff --git a/src/mainboard/emulation/qemu-aarch64/Makefile.inc b/src/mainboard/emulation/qemu-aarch64/Makefile.inc
index dc0e9f4..4d5f2bd 100644
--- a/src/mainboard/emulation/qemu-aarch64/Makefile.inc
+++ b/src/mainboard/emulation/qemu-aarch64/Makefile.inc
@@ -5,6 +5,8 @@
#
# SPDX-License-Identifier: GPL-2.0-or-later

+bootblock-y += bootblock.c
+
romstage-y += cbmem.c

bootblock-y += media.c
diff --git a/src/mainboard/emulation/qemu-aarch64/bootblock.c b/src/mainboard/emulation/qemu-aarch64/bootblock.c
new file mode 100644
index 0000000..2c878b6
--- /dev/null
+++ b/src/mainboard/emulation/qemu-aarch64/bootblock.c
@@ -0,0 +1,31 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#include <arch/mmu.h>
+#include <bootblock_common.h>
+#include <symbols.h>
+
+void bootblock_mainboard_init(void)
+{
+ mmu_init();
+
+ mmu_config_range((void *)0, (uintptr_t)4 * GiB, MA_DEV | MA_RW);
+
+ mmu_config_range(_ttb, REGION_SIZE(ttb), MA_MEM | MA_S | MA_RW);
+ mmu_config_range(_bootblock, REGION_SIZE(bootblock), MA_MEM | MA_S | MA_RW);
+ mmu_config_range(_romstage, REGION_SIZE(romstage), MA_MEM | MA_S | MA_RW);
+ mmu_config_range(_ramstage, REGION_SIZE(ramstage), MA_MEM | MA_S | MA_RW);
+
+ mmu_enable();
+}
diff --git a/src/mainboard/emulation/qemu-aarch64/memlayout.ld b/src/mainboard/emulation/qemu-aarch64/memlayout.ld
index aba4205..cd86073 100644
--- a/src/mainboard/emulation/qemu-aarch64/memlayout.ld
+++ b/src/mainboard/emulation/qemu-aarch64/memlayout.ld
@@ -29,6 +29,6 @@
ROMSTAGE(0x60030000, 128K)
RAMSTAGE(0x60070000, 16M)

- TTB(0x61100000, 16K)
- POSTRAM_CBFS_CACHE(0x61110000, 1M)
+ TTB(0x61100000, 1M)
+ POSTRAM_CBFS_CACHE(0x61200000, 1M)
}

To view, visit change 38534. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ifaed9d3cc11520f180a732d51adce634621b5844
Gerrit-Change-Number: 38534
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <patrick.rudolph@9elements.com>
Gerrit-Reviewer: Julius Werner <jwerner@chromium.org>
Gerrit-Reviewer: Martin Roth <martinroth@google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: Patrick Rudolph <patrick.rudolph@9elements.com>
Gerrit-MessageType: newchange