From 6b6d017235acad3ee1681140795593723bb9b9df Mon Sep 17 00:00:00 2001
From: "David S. Miller" <davem@davemloft.net>
Date: Tue, 31 Jan 2006 18:33:12 -0800
Subject: [PATCH] [SPARC64]: Use sparc64_highest_unlocked_tlb_ent in
 __tsb_context_switch()

Instead of ugly hard-coded value.

Signed-off-by: David S. Miller <davem@davemloft.net>
---
 arch/sparc64/kernel/tsb.S | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/arch/sparc64/kernel/tsb.S b/arch/sparc64/kernel/tsb.S
index 08405ed69288ee..c1532292a625e5 100644
--- a/arch/sparc64/kernel/tsb.S
+++ b/arch/sparc64/kernel/tsb.S
@@ -185,12 +185,14 @@ __tsb_context_switch:
 	 *
 	 * XXX Interactions with prom_world()...
 	 */
-	mov		TLB_TAG_ACCESS, %g1
-	stxa		%o2, [%g1] ASI_DMMU
-	membar		#Sync
-	mov		(61 << 3), %g1
-	stxa		%o3, [%g1] ASI_DTLB_DATA_ACCESS
-	membar		#Sync
+	sethi	%hi(sparc64_highest_unlocked_tlb_ent), %o4
+	mov	TLB_TAG_ACCESS, %g1
+	lduw	[%o4 + %lo(sparc64_highest_unlocked_tlb_ent)], %g2
+	stxa	%o2, [%g1] ASI_DMMU
+	membar	#Sync
+	sllx	%g2, 3, %g2
+	stxa	%o3, [%g2] ASI_DTLB_DATA_ACCESS
+	membar	#Sync
 9:
 	wrpr	%o5, %pstate
 
-- 
GitLab