summaryrefslogtreecommitdiffstats
path: root/sys/boot/sparc64/loader/locore.S
diff options
context:
space:
mode:
authortmm <tmm@FreeBSD.org>2002-04-02 17:10:15 +0000
committertmm <tmm@FreeBSD.org>2002-04-02 17:10:15 +0000
commiteb20435a6906b433f62bf89933bc486aa0ecde07 (patch)
treea2ba872d834f8a7b874df678158f9b535270312f /sys/boot/sparc64/loader/locore.S
parent2025cfe33a35d796a177e3f93852b49106277093 (diff)
downloadFreeBSD-src-eb20435a6906b433f62bf89933bc486aa0ecde07.zip
FreeBSD-src-eb20435a6906b433f62bf89933bc486aa0ecde07.tar.gz
Do not use semi-fixed TLB slots for the 4M kernel pages any more.
Diffstat (limited to 'sys/boot/sparc64/loader/locore.S')
-rw-r--r--sys/boot/sparc64/loader/locore.S19
1 files changed, 8 insertions, 11 deletions
diff --git a/sys/boot/sparc64/loader/locore.S b/sys/boot/sparc64/loader/locore.S
index 920171a..9ad5346 100644
--- a/sys/boot/sparc64/loader/locore.S
+++ b/sys/boot/sparc64/loader/locore.S
@@ -86,18 +86,16 @@ ENTRY(dtlb_va_to_pa)
not %o0
/*
- * %o0 = slot number
- * %o1 = vpn
- * %o2 = tte data
+ * %o0 = vpn
+ * %o1 = tte data
*/
ENTRY(itlb_enter)
rdpr %pstate, %o4
wrpr %o4, PSTATE_IE, %pstate
- sllx %o0, 3, %o0
- sllx %o1, PAGE_SHIFT, %o1
+ sllx %o0, PAGE_SHIFT, %o0
mov AA_IMMU_TAR, %o3
- stxa %o1, [%o3] ASI_IMMU
- stxa %o2, [%o0] ASI_ITLB_DATA_ACCESS_REG
+ stxa %o0, [%o3] ASI_IMMU
+ stxa %o1, [%g0] ASI_ITLB_DATA_IN_REG
membar #Sync
retl
wrpr %o4, 0, %pstate
@@ -105,11 +103,10 @@ ENTRY(itlb_enter)
ENTRY(dtlb_enter)
rdpr %pstate, %o4
wrpr %o4, PSTATE_IE, %pstate
- sllx %o0, 3, %o0
- sllx %o1, PAGE_SHIFT, %o1
+ sllx %o0, PAGE_SHIFT, %o0
mov AA_DMMU_TAR, %o3
- stxa %o1, [%o3] ASI_DMMU
- stxa %o2, [%o0] ASI_DTLB_DATA_ACCESS_REG
+ stxa %o0, [%o3] ASI_DMMU
+ stxa %o1, [%g0] ASI_DTLB_DATA_IN_REG
membar #Sync
retl
wrpr %o4, 0, %pstate
OpenPOWER on IntegriCloud