git: f62e099ed51b - main - Fix the TCR_TG0 values
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 10 Mar 2022 11:08:07 UTC
The branch main has been updated by andrew:
URL: https://cgit.FreeBSD.org/src/commit/?id=f62e099ed51bf15ebafa20a044e106480547a0ad
commit f62e099ed51bf15ebafa20a044e106480547a0ad
Author: Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2022-03-10 10:54:39 +0000
Commit: Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2022-03-10 10:54:39 +0000
Fix the TCR_TG0 values
They are in a different order to the TCR_TG1 values but appear to have
been copied incorrectly.
While here use TCR_TG0_4K in locore.S to make it explicit the userspace
page size is 4K.
Sponsored by: The FreeBSD Foundation
---
sys/arm64/arm64/locore.S | 2 +-
sys/arm64/include/armreg.h | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S
index d72747f0896d..c9cf25aae37f 100644
--- a/sys/arm64/arm64/locore.S
+++ b/sys/arm64/arm64/locore.S
@@ -742,7 +742,7 @@ mair:
MAIR_ATTR(MAIR_NORMAL_WT, VM_MEMATTR_WRITE_THROUGH) | \
MAIR_ATTR(MAIR_DEVICE_nGnRE, VM_MEMATTR_DEVICE_nGnRE)
tcr:
- .quad (TCR_TxSZ(64 - VIRT_BITS) | TCR_TG1_4K | \
+ .quad (TCR_TxSZ(64 - VIRT_BITS) | TCR_TG1_4K | TCR_TG0_4K | \
TCR_CACHE_ATTRS | TCR_SMP_ATTRS)
sctlr_set:
/* Bits to set */
diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h
index cd09807ec4be..5d9172cd3d6b 100644
--- a/sys/arm64/include/armreg.h
+++ b/sys/arm64/include/armreg.h
@@ -1404,9 +1404,9 @@
#define TCR_T1SZ_SHIFT 16
#define TCR_T1SZ(x) ((x) << TCR_T1SZ_SHIFT)
#define TCR_TG0_SHIFT 14
-#define TCR_TG0_16K (1UL << TCR_TG0_SHIFT)
-#define TCR_TG0_4K (2UL << TCR_TG0_SHIFT)
-#define TCR_TG0_64K (3UL << TCR_TG0_SHIFT)
+#define TCR_TG0_4K (0UL << TCR_TG0_SHIFT)
+#define TCR_TG0_64K (1UL << TCR_TG0_SHIFT)
+#define TCR_TG0_16K (2UL << TCR_TG0_SHIFT)
#define TCR_SH0_SHIFT 12
#define TCR_SH0_IS (3UL << TCR_SH0_SHIFT)
#define TCR_ORGN0_SHIFT 10