Merge tag 'docs-4.11-fixes' of git://git.lwn.net/linux
[linux-2.6-block.git] / arch / powerpc / mm / slb_low.S
index 9f1983404e1a8fdcf6d9c7c809263d243eadf1e7..a85e06ea6c2040a84f702b3c41b761808377552e 100644 (file)
@@ -71,9 +71,9 @@ slb_miss_kernel_load_linear:
 
 
 BEGIN_FTR_SECTION
-       b       slb_finish_load
+       b       .Lslb_finish_load
 END_MMU_FTR_SECTION_IFCLR(MMU_FTR_1T_SEGMENT)
-       b       slb_finish_load_1T
+       b       .Lslb_finish_load_1T
 
 1:
 #ifdef CONFIG_SPARSEMEM_VMEMMAP
@@ -109,9 +109,9 @@ slb_miss_kernel_load_io:
        addi    r9,r9,(MAX_USER_CONTEXT - 0xc + 1)@l
 
 BEGIN_FTR_SECTION
-       b       slb_finish_load
+       b       .Lslb_finish_load
 END_MMU_FTR_SECTION_IFCLR(MMU_FTR_1T_SEGMENT)
-       b       slb_finish_load_1T
+       b       .Lslb_finish_load_1T
 
 0:     /*
         * For userspace addresses, make sure this is region 0.
@@ -174,22 +174,20 @@ END_MMU_FTR_SECTION_IFCLR(MMU_FTR_1T_SEGMENT)
        ld      r9,PACACONTEXTID(r13)
 BEGIN_FTR_SECTION
        cmpldi  r10,0x1000
-       bge     slb_finish_load_1T
+       bge     .Lslb_finish_load_1T
 END_MMU_FTR_SECTION_IFSET(MMU_FTR_1T_SEGMENT)
-       b       slb_finish_load
+       b       .Lslb_finish_load
 
-8:     /* invalid EA */
-       li      r10,0                   /* BAD_VSID */
-       li      r9,0                    /* BAD_VSID */
-       li      r11,SLB_VSID_USER       /* flags don't much matter */
-       b       slb_finish_load
+8:     /* invalid EA - return an error indication */
+       crset   4*cr0+eq                /* indicate failure */
+       blr
 
 /*
  * Finish loading of an SLB entry and return
  *
  * r3 = EA, r9 = context, r10 = ESID, r11 = flags, clobbers r9, cr7 = <> PAGE_OFFSET
  */
-slb_finish_load:
+.Lslb_finish_load:
        rldimi  r10,r9,ESID_BITS,0
        ASM_VSID_SCRAMBLE(r10,r9,256M)
        /*
@@ -258,7 +256,7 @@ slb_compare_rr_to_size:
  *
  * r3 = EA, r9 = context, r10 = ESID(256MB), r11 = flags, clobbers r9
  */
-slb_finish_load_1T:
+.Lslb_finish_load_1T:
        srdi    r10,r10,(SID_SHIFT_1T - SID_SHIFT)      /* get 1T ESID */
        rldimi  r10,r9,ESID_BITS_1T,0
        ASM_VSID_SCRAMBLE(r10,r9,1T)
@@ -274,3 +272,11 @@ slb_finish_load_1T:
        clrrdi  r3,r3,SID_SHIFT_1T      /* clear out non-ESID bits */
        b       7b
 
+
+_ASM_NOKPROBE_SYMBOL(slb_allocate_realmode)
+_ASM_NOKPROBE_SYMBOL(slb_miss_kernel_load_linear)
+_ASM_NOKPROBE_SYMBOL(slb_miss_kernel_load_io)
+_ASM_NOKPROBE_SYMBOL(slb_compare_rr_to_size)
+#ifdef CONFIG_SPARSEMEM_VMEMMAP
+_ASM_NOKPROBE_SYMBOL(slb_miss_kernel_load_vmemmap)
+#endif