[coreboot-gerrit] New patch to review for coreboot: 68baa3f libpayload: Correct shareability mmu configuration on ARM64
Patrick Georgi (pgeorgi@google.com)
gerrit at coreboot.org
Tue Apr 21 15:18:50 CEST 2015
Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9902
-gerrit
commit 68baa3fd8f79a0ffe452a38f1d8786da992e02f3
Author: Furquan Shaikh <furquan at google.com>
Date: Tue Mar 31 22:15:07 2015 -0700
libpayload: Correct shareability mmu configuration on ARM64
BUG=chrome-os-partner:38222
BRANCH=None
TEST=Compiles successfully and boots kernel
Change-Id: I6e1e841d84d1a73e5c726143aeba76af933e81a1
Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
Original-Commit-Id: 59861a2700407b9e6a6209fbc45543c127b50b4b
Original-Change-Id: I256d07a41bec83037f2b61a9350f903119d8c101
Original-Signed-off-by: Furquan Shaikh <furquan at google.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/263325
Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
Original-Commit-Queue: Furquan Shaikh <furquan at chromium.org>
Original-Trybot-Ready: Furquan Shaikh <furquan at chromium.org>
Original-Tested-by: Furquan Shaikh <furquan at chromium.org>
---
payloads/libpayload/arch/arm64/mmu.c | 1 +
payloads/libpayload/include/arm64/arch/mmu.h | 6 ++++++
2 files changed, 7 insertions(+)
diff --git a/payloads/libpayload/arch/arm64/mmu.c b/payloads/libpayload/arch/arm64/mmu.c
index adbee0f..204412e 100644
--- a/payloads/libpayload/arch/arm64/mmu.c
+++ b/payloads/libpayload/arch/arm64/mmu.c
@@ -93,6 +93,7 @@ static uint64_t get_block_attr(unsigned long tag)
switch (tag) {
case TYPE_NORMAL_MEM:
+ attr |= BLOCK_SH_INNER_SHAREABLE;
attr |= (BLOCK_INDEX_MEM_NORMAL << BLOCK_INDEX_SHIFT);
break;
case TYPE_DEV_MEM:
diff --git a/payloads/libpayload/include/arm64/arch/mmu.h b/payloads/libpayload/include/arm64/arch/mmu.h
index 52b538e..e241d75 100644
--- a/payloads/libpayload/include/arm64/arch/mmu.h
+++ b/payloads/libpayload/include/arm64/arch/mmu.h
@@ -80,6 +80,12 @@ extern char _start[], _end[];
#define BLOCK_ACCESS (1 << 10)
+#define BLOCK_SH_SHIFT (8)
+#define BLOCK_SH_NON_SHAREABLE (0 << BLOCK_SH_SHIFT)
+#define BLOCK_SH_UNPREDICTABLE (1 << BLOCK_SH_SHIFT)
+#define BLOCK_SH_OUTER_SHAREABLE (2 << BLOCK_SH_SHIFT)
+#define BLOCK_SH_INNER_SHAREABLE (3 << BLOCK_SH_SHIFT)
+
/* XLAT Table Init Attributes */
#define VA_START 0x0
More information about the coreboot-gerrit
mailing list