diff options
Diffstat (limited to 'arch/powerpc/mm/slb_low.S')
-rw-r--r-- | arch/powerpc/mm/slb_low.S | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/powerpc/mm/slb_low.S b/arch/powerpc/mm/slb_low.S index 3e18241b6f35..950ffc5848c7 100644 --- a/arch/powerpc/mm/slb_low.S +++ b/arch/powerpc/mm/slb_low.S | |||
@@ -80,12 +80,17 @@ _GLOBAL(slb_miss_kernel_load_virtual) | |||
80 | BEGIN_FTR_SECTION | 80 | BEGIN_FTR_SECTION |
81 | b 1f | 81 | b 1f |
82 | END_FTR_SECTION_IFCLR(CPU_FTR_16M_PAGE) | 82 | END_FTR_SECTION_IFCLR(CPU_FTR_16M_PAGE) |
83 | cmpldi r10,16 | ||
84 | |||
85 | lhz r9,PACALOWHTLBAREAS(r13) | ||
86 | mr r11,r10 | ||
87 | blt 5f | ||
88 | |||
83 | lhz r9,PACAHIGHHTLBAREAS(r13) | 89 | lhz r9,PACAHIGHHTLBAREAS(r13) |
84 | srdi r11,r10,(HTLB_AREA_SHIFT-SID_SHIFT) | 90 | srdi r11,r10,(HTLB_AREA_SHIFT-SID_SHIFT) |
85 | srd r9,r9,r11 | 91 | |
86 | lhz r11,PACALOWHTLBAREAS(r13) | 92 | 5: srd r9,r9,r11 |
87 | srd r11,r11,r10 | 93 | andi. r9,r9,1 |
88 | or. r9,r9,r11 | ||
89 | beq 1f | 94 | beq 1f |
90 | _GLOBAL(slb_miss_user_load_huge) | 95 | _GLOBAL(slb_miss_user_load_huge) |
91 | li r11,0 | 96 | li r11,0 |