diff --git a/arch/sparc64/kernel/ktlb.S b/arch/sparc64/kernel/ktlb.S
index efcf38b6e284a2f35a0490027d9e154017303e59..31da1e564c95e2ecdbabf13a55a5fda55391d9a4 100644
--- a/arch/sparc64/kernel/ktlb.S
+++ b/arch/sparc64/kernel/ktlb.S
@@ -163,6 +163,7 @@ kvmap_dtlb_tsb4m_miss:
 
 	/* Divide by 64 to get the offset into the bitmask.  */
 	srlx		%g5, 6, %g5
+	sllx		%g5, 3, %g5
 
 	/* kern_linear_pte_xor[((mask & bit) ? 1 : 0)] */
 	ldx		[%g2 + %g5], %g2