aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Hibbits <jhibbits@FreeBSD.org>2026-06-21 20:28:55 +0000
committerJustin Hibbits <jhibbits@FreeBSD.org>2026-06-21 21:23:57 +0000
commit9006774e46dfe0859500ce18e1691c75846a884d (patch)
tree29cf4b0cc3ace4753678e58cf8f579958c87fab8
parent4c860db34a1b8cff79e7f0d5184423221613e8e1 (diff)
powerpc/booke: Extend TID register bits to the max
Some Book-E cores (at least e6500) can have much larger PID fields, up to 14 bits. Extend the PID mask space to the full space, and future changes may take advantage of this extended space.
-rw-r--r--sys/powerpc/booke/trap_subr.S2
-rw-r--r--sys/powerpc/include/tlb.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/powerpc/booke/trap_subr.S b/sys/powerpc/booke/trap_subr.S
index 789e746dba3e..cb4d99e6fffb 100644
--- a/sys/powerpc/booke/trap_subr.S
+++ b/sys/powerpc/booke/trap_subr.S
@@ -712,7 +712,7 @@ search_kernel_pmap:
/* Force kernel tid, set TID to 0 in MAS1. */
li %r21, 0
- rlwimi %r28, %r21, 0, 8, 15 /* clear TID bits */
+ rlwimi %r28, %r21, 0, 2, 15 /* clear TID bits */
tlb_miss_handle:
/* This may result in nested tlb miss. */
diff --git a/sys/powerpc/include/tlb.h b/sys/powerpc/include/tlb.h
index 33d31efab604..2a460251e292 100644
--- a/sys/powerpc/include/tlb.h
+++ b/sys/powerpc/include/tlb.h
@@ -46,7 +46,7 @@
#define MAS1_VALID 0x80000000
#define MAS1_IPROT 0x40000000
-#define MAS1_TID_MASK 0x00FF0000
+#define MAS1_TID_MASK 0x3FFF0000
#define MAS1_TID_SHIFT 16
#define MAS1_TS_MASK 0x00001000
#define MAS1_TS_SHIFT 12