diff options
Diffstat (limited to 'arch/powerpc/kernel/vdso32/datapage.S')
-rw-r--r-- | arch/powerpc/kernel/vdso32/datapage.S | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/powerpc/kernel/vdso32/datapage.S b/arch/powerpc/kernel/vdso32/datapage.S index dc21e891d2e7..59cf5f452879 100644 --- a/arch/powerpc/kernel/vdso32/datapage.S +++ b/arch/powerpc/kernel/vdso32/datapage.S | |||
@@ -16,6 +16,10 @@ | |||
16 | #include <asm/vdso.h> | 16 | #include <asm/vdso.h> |
17 | 17 | ||
18 | .text | 18 | .text |
19 | .global __kernel_datapage_offset; | ||
20 | __kernel_datapage_offset: | ||
21 | .long 0 | ||
22 | |||
19 | V_FUNCTION_BEGIN(__get_datapage) | 23 | V_FUNCTION_BEGIN(__get_datapage) |
20 | .cfi_startproc | 24 | .cfi_startproc |
21 | /* We don't want that exposed or overridable as we want other objects | 25 | /* We don't want that exposed or overridable as we want other objects |
@@ -27,13 +31,11 @@ V_FUNCTION_BEGIN(__get_datapage) | |||
27 | mflr r0 | 31 | mflr r0 |
28 | .cfi_register lr,r0 | 32 | .cfi_register lr,r0 |
29 | 33 | ||
30 | bcl 20,31,1f | 34 | bcl 20,31,data_page_branch |
31 | .global __kernel_datapage_offset; | 35 | data_page_branch: |
32 | __kernel_datapage_offset: | ||
33 | .long 0 | ||
34 | 1: | ||
35 | mflr r3 | 36 | mflr r3 |
36 | mtlr r0 | 37 | mtlr r0 |
38 | addi r3, r3, __kernel_datapage_offset-data_page_branch | ||
37 | lwz r0,0(r3) | 39 | lwz r0,0(r3) |
38 | add r3,r0,r3 | 40 | add r3,r0,r3 |
39 | blr | 41 | blr |