aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc64/mm/slb_low.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ppc64/mm/slb_low.S')
-rw-r--r--arch/ppc64/mm/slb_low.S22
1 files changed, 9 insertions, 13 deletions
diff --git a/arch/ppc64/mm/slb_low.S b/arch/ppc64/mm/slb_low.S
index bab255889c58..698d6b9ed6d1 100644
--- a/arch/ppc64/mm/slb_low.S
+++ b/arch/ppc64/mm/slb_low.S
@@ -97,25 +97,21 @@ BEGIN_FTR_SECTION
97 lhz r9,PACAHIGHHTLBAREAS(r13) 97 lhz r9,PACAHIGHHTLBAREAS(r13)
98 srdi r11,r3,(HTLB_AREA_SHIFT-SID_SHIFT) 98 srdi r11,r3,(HTLB_AREA_SHIFT-SID_SHIFT)
99 srd r9,r9,r11 99 srd r9,r9,r11
100 andi. r9,r9,1 100 lhz r11,PACALOWHTLBAREAS(r13)
101 bne 5f 101 srd r11,r11,r3
102 or r9,r9,r11
103END_FTR_SECTION_IFSET(CPU_FTR_16M_PAGE)
104#endif /* CONFIG_HUGETLB_PAGE */
102 105
103 li r11,SLB_VSID_USER 106 li r11,SLB_VSID_USER
104 107
105 cmpldi r3,16 108#ifdef CONFIG_HUGETLB_PAGE
106 bge 6f 109BEGIN_FTR_SECTION
107 110 rldimi r11,r9,8,55 /* shift masked bit into SLB_VSID_L */
108 lhz r9,PACALOWHTLBAREAS(r13)
109 srd r9,r9,r3
110 andi. r9,r9,1
111
112 beq 6f
113
1145: li r11,SLB_VSID_USER|SLB_VSID_L
115END_FTR_SECTION_IFSET(CPU_FTR_16M_PAGE) 111END_FTR_SECTION_IFSET(CPU_FTR_16M_PAGE)
116#endif /* CONFIG_HUGETLB_PAGE */ 112#endif /* CONFIG_HUGETLB_PAGE */
117 113
1186: ld r9,PACACONTEXTID(r13) 114 ld r9,PACACONTEXTID(r13)
119 rldimi r3,r9,USER_ESID_BITS,0 115 rldimi r3,r9,USER_ESID_BITS,0
120 116
1219: /* r3 = protovsid, r11 = flags, r10 = esid_data, cr7 = <>KERNELBASE */ 1179: /* r3 = protovsid, r11 = flags, r10 = esid_data, cr7 = <>KERNELBASE */