diff options
author | Anton Blanchard <anton@samba.org> | 2014-02-04 00:07:01 -0500 |
---|---|---|
committer | Anton Blanchard <anton@samba.org> | 2014-04-22 20:05:19 -0400 |
commit | c1fb019477c27bfe309be282d178a08e56f05249 (patch) | |
tree | e009c66d0cd8c8c23c927af879e540347f62d4ce | |
parent | 354255014a9042b9204e5bed22704110326d5ecf (diff) |
powerpc: Create DOTSYM to wrap dot symbol usage
There are a few places we have to use dot symbols with the
current ABI - the syscall table and the kvm hcall table.
Wrap both of these with a new macro called DOTSYM so it will
be easy to transition away from dot symbols in a future ABI.
Signed-off-by: Anton Blanchard <anton@samba.org>
-rw-r--r-- | arch/powerpc/include/asm/ppc_asm.h | 2 | ||||
-rw-r--r-- | arch/powerpc/include/asm/systbl.h | 6 | ||||
-rw-r--r-- | arch/powerpc/kernel/systbl.S | 12 | ||||
-rw-r--r-- | arch/powerpc/kvm/book3s_hv_rmhandlers.S | 28 |
4 files changed, 25 insertions, 23 deletions
diff --git a/arch/powerpc/include/asm/ppc_asm.h b/arch/powerpc/include/asm/ppc_asm.h index 35b23a6584cb..61992d8f99df 100644 --- a/arch/powerpc/include/asm/ppc_asm.h +++ b/arch/powerpc/include/asm/ppc_asm.h | |||
@@ -223,6 +223,8 @@ name: \ | |||
223 | .type GLUE(.,name),@function; \ | 223 | .type GLUE(.,name),@function; \ |
224 | GLUE(.,name): | 224 | GLUE(.,name): |
225 | 225 | ||
226 | #define DOTSYM(a) GLUE(.,a) | ||
227 | |||
226 | #else /* 32-bit */ | 228 | #else /* 32-bit */ |
227 | 229 | ||
228 | #define _ENTRY(n) \ | 230 | #define _ENTRY(n) \ |
diff --git a/arch/powerpc/include/asm/systbl.h b/arch/powerpc/include/asm/systbl.h index 3ddf70276706..ac062f504736 100644 --- a/arch/powerpc/include/asm/systbl.h +++ b/arch/powerpc/include/asm/systbl.h | |||
@@ -62,7 +62,7 @@ COMPAT_SYS_SPU(fcntl) | |||
62 | SYSCALL(ni_syscall) | 62 | SYSCALL(ni_syscall) |
63 | SYSCALL_SPU(setpgid) | 63 | SYSCALL_SPU(setpgid) |
64 | SYSCALL(ni_syscall) | 64 | SYSCALL(ni_syscall) |
65 | SYSX(sys_ni_syscall,sys_olduname, sys_olduname) | 65 | SYSX(sys_ni_syscall,sys_olduname,sys_olduname) |
66 | SYSCALL_SPU(umask) | 66 | SYSCALL_SPU(umask) |
67 | SYSCALL_SPU(chroot) | 67 | SYSCALL_SPU(chroot) |
68 | COMPAT_SYS(ustat) | 68 | COMPAT_SYS(ustat) |
@@ -258,7 +258,7 @@ SYSCALL_SPU(tgkill) | |||
258 | COMPAT_SYS_SPU(utimes) | 258 | COMPAT_SYS_SPU(utimes) |
259 | COMPAT_SYS_SPU(statfs64) | 259 | COMPAT_SYS_SPU(statfs64) |
260 | COMPAT_SYS_SPU(fstatfs64) | 260 | COMPAT_SYS_SPU(fstatfs64) |
261 | SYSX(sys_ni_syscall, ppc_fadvise64_64, ppc_fadvise64_64) | 261 | SYSX(sys_ni_syscall,ppc_fadvise64_64,ppc_fadvise64_64) |
262 | PPC_SYS_SPU(rtas) | 262 | PPC_SYS_SPU(rtas) |
263 | OLDSYS(debug_setcontext) | 263 | OLDSYS(debug_setcontext) |
264 | SYSCALL(ni_syscall) | 264 | SYSCALL(ni_syscall) |
@@ -295,7 +295,7 @@ SYSCALL_SPU(mkdirat) | |||
295 | SYSCALL_SPU(mknodat) | 295 | SYSCALL_SPU(mknodat) |
296 | SYSCALL_SPU(fchownat) | 296 | SYSCALL_SPU(fchownat) |
297 | COMPAT_SYS_SPU(futimesat) | 297 | COMPAT_SYS_SPU(futimesat) |
298 | SYSX_SPU(sys_newfstatat, sys_fstatat64, sys_fstatat64) | 298 | SYSX_SPU(sys_newfstatat,sys_fstatat64,sys_fstatat64) |
299 | SYSCALL_SPU(unlinkat) | 299 | SYSCALL_SPU(unlinkat) |
300 | SYSCALL_SPU(renameat) | 300 | SYSCALL_SPU(renameat) |
301 | SYSCALL_SPU(linkat) | 301 | SYSCALL_SPU(linkat) |
diff --git a/arch/powerpc/kernel/systbl.S b/arch/powerpc/kernel/systbl.S index 75822f97bfea..895c50ca943c 100644 --- a/arch/powerpc/kernel/systbl.S +++ b/arch/powerpc/kernel/systbl.S | |||
@@ -17,12 +17,12 @@ | |||
17 | #include <asm/ppc_asm.h> | 17 | #include <asm/ppc_asm.h> |
18 | 18 | ||
19 | #ifdef CONFIG_PPC64 | 19 | #ifdef CONFIG_PPC64 |
20 | #define SYSCALL(func) .llong .sys_##func,.sys_##func | 20 | #define SYSCALL(func) .llong DOTSYM(sys_##func),DOTSYM(sys_##func) |
21 | #define COMPAT_SYS(func) .llong .sys_##func,.compat_sys_##func | 21 | #define COMPAT_SYS(func) .llong DOTSYM(sys_##func),DOTSYM(compat_sys_##func) |
22 | #define PPC_SYS(func) .llong .ppc_##func,.ppc_##func | 22 | #define PPC_SYS(func) .llong DOTSYM(ppc_##func),DOTSYM(ppc_##func) |
23 | #define OLDSYS(func) .llong .sys_ni_syscall,.sys_ni_syscall | 23 | #define OLDSYS(func) .llong DOTSYM(sys_ni_syscall),DOTSYM(sys_ni_syscall) |
24 | #define SYS32ONLY(func) .llong .sys_ni_syscall,.compat_sys_##func | 24 | #define SYS32ONLY(func) .llong DOTSYM(sys_ni_syscall),DOTSYM(compat_sys_##func) |
25 | #define SYSX(f, f3264, f32) .llong .f,.f3264 | 25 | #define SYSX(f, f3264, f32) .llong DOTSYM(f),DOTSYM(f3264) |
26 | #else | 26 | #else |
27 | #define SYSCALL(func) .long sys_##func | 27 | #define SYSCALL(func) .long sys_##func |
28 | #define COMPAT_SYS(func) .long sys_##func | 28 | #define COMPAT_SYS(func) .long sys_##func |
diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S index 7cfabe3881d8..e9593f58a501 100644 --- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S +++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S | |||
@@ -1795,16 +1795,16 @@ hcall_real_fallback: | |||
1795 | .globl hcall_real_table | 1795 | .globl hcall_real_table |
1796 | hcall_real_table: | 1796 | hcall_real_table: |
1797 | .long 0 /* 0 - unused */ | 1797 | .long 0 /* 0 - unused */ |
1798 | .long .kvmppc_h_remove - hcall_real_table | 1798 | .long DOTSYM(kvmppc_h_remove) - hcall_real_table |
1799 | .long .kvmppc_h_enter - hcall_real_table | 1799 | .long DOTSYM(kvmppc_h_enter) - hcall_real_table |
1800 | .long .kvmppc_h_read - hcall_real_table | 1800 | .long DOTSYM(kvmppc_h_read) - hcall_real_table |
1801 | .long 0 /* 0x10 - H_CLEAR_MOD */ | 1801 | .long 0 /* 0x10 - H_CLEAR_MOD */ |
1802 | .long 0 /* 0x14 - H_CLEAR_REF */ | 1802 | .long 0 /* 0x14 - H_CLEAR_REF */ |
1803 | .long .kvmppc_h_protect - hcall_real_table | 1803 | .long DOTSYM(kvmppc_h_protect) - hcall_real_table |
1804 | .long .kvmppc_h_get_tce - hcall_real_table | 1804 | .long DOTSYM(kvmppc_h_get_tce) - hcall_real_table |
1805 | .long .kvmppc_h_put_tce - hcall_real_table | 1805 | .long DOTSYM(kvmppc_h_put_tce) - hcall_real_table |
1806 | .long 0 /* 0x24 - H_SET_SPRG0 */ | 1806 | .long 0 /* 0x24 - H_SET_SPRG0 */ |
1807 | .long .kvmppc_h_set_dabr - hcall_real_table | 1807 | .long DOTSYM(kvmppc_h_set_dabr) - hcall_real_table |
1808 | .long 0 /* 0x2c */ | 1808 | .long 0 /* 0x2c */ |
1809 | .long 0 /* 0x30 */ | 1809 | .long 0 /* 0x30 */ |
1810 | .long 0 /* 0x34 */ | 1810 | .long 0 /* 0x34 */ |
@@ -1820,11 +1820,11 @@ hcall_real_table: | |||
1820 | .long 0 /* 0x5c */ | 1820 | .long 0 /* 0x5c */ |
1821 | .long 0 /* 0x60 */ | 1821 | .long 0 /* 0x60 */ |
1822 | #ifdef CONFIG_KVM_XICS | 1822 | #ifdef CONFIG_KVM_XICS |
1823 | .long .kvmppc_rm_h_eoi - hcall_real_table | 1823 | .long DOTSYM(kvmppc_rm_h_eoi) - hcall_real_table |
1824 | .long .kvmppc_rm_h_cppr - hcall_real_table | 1824 | .long DOTSYM(kvmppc_rm_h_cppr) - hcall_real_table |
1825 | .long .kvmppc_rm_h_ipi - hcall_real_table | 1825 | .long DOTSYM(kvmppc_rm_h_ipi) - hcall_real_table |
1826 | .long 0 /* 0x70 - H_IPOLL */ | 1826 | .long 0 /* 0x70 - H_IPOLL */ |
1827 | .long .kvmppc_rm_h_xirr - hcall_real_table | 1827 | .long DOTSYM(kvmppc_rm_h_xirr) - hcall_real_table |
1828 | #else | 1828 | #else |
1829 | .long 0 /* 0x64 - H_EOI */ | 1829 | .long 0 /* 0x64 - H_EOI */ |
1830 | .long 0 /* 0x68 - H_CPPR */ | 1830 | .long 0 /* 0x68 - H_CPPR */ |
@@ -1858,7 +1858,7 @@ hcall_real_table: | |||
1858 | .long 0 /* 0xd4 */ | 1858 | .long 0 /* 0xd4 */ |
1859 | .long 0 /* 0xd8 */ | 1859 | .long 0 /* 0xd8 */ |
1860 | .long 0 /* 0xdc */ | 1860 | .long 0 /* 0xdc */ |
1861 | .long .kvmppc_h_cede - hcall_real_table | 1861 | .long DOTSYM(kvmppc_h_cede) - hcall_real_table |
1862 | .long 0 /* 0xe4 */ | 1862 | .long 0 /* 0xe4 */ |
1863 | .long 0 /* 0xe8 */ | 1863 | .long 0 /* 0xe8 */ |
1864 | .long 0 /* 0xec */ | 1864 | .long 0 /* 0xec */ |
@@ -1875,11 +1875,11 @@ hcall_real_table: | |||
1875 | .long 0 /* 0x118 */ | 1875 | .long 0 /* 0x118 */ |
1876 | .long 0 /* 0x11c */ | 1876 | .long 0 /* 0x11c */ |
1877 | .long 0 /* 0x120 */ | 1877 | .long 0 /* 0x120 */ |
1878 | .long .kvmppc_h_bulk_remove - hcall_real_table | 1878 | .long DOTSYM(kvmppc_h_bulk_remove) - hcall_real_table |
1879 | .long 0 /* 0x128 */ | 1879 | .long 0 /* 0x128 */ |
1880 | .long 0 /* 0x12c */ | 1880 | .long 0 /* 0x12c */ |
1881 | .long 0 /* 0x130 */ | 1881 | .long 0 /* 0x130 */ |
1882 | .long .kvmppc_h_set_xdabr - hcall_real_table | 1882 | .long DOTSYM(kvmppc_h_set_xdabr) - hcall_real_table |
1883 | hcall_real_table_end: | 1883 | hcall_real_table_end: |
1884 | 1884 | ||
1885 | ignore_hdec: | 1885 | ignore_hdec: |