7ccb7f81f8db813a82fd72014cf1efc0fed57807
[muen/linux.git] / arch / powerpc / kernel / systbl.S
1 /*
2  * This file contains the table of syscall-handling functions.
3  *    Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
4  *
5  * Largely rewritten by Cort Dougan (cort@cs.nmt.edu)
6  * and Paul Mackerras.
7  *
8  * Adapted for iSeries by Mike Corrigan (mikejc@us.ibm.com)
9  * PPC64 updates by Dave Engebretsen (engebret@us.ibm.com) 
10  * 
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU General Public License
13  * as published by the Free Software Foundation; either version
14  * 2 of the License, or (at your option) any later version.
15  */
16
17 #include <asm/ppc_asm.h>
18
19 #ifdef CONFIG_PPC64
20 #define SYSCALL(func)           .8byte  DOTSYM(sys_##func),DOTSYM(sys_##func)
21 #define COMPAT_SYS(func)        .8byte  DOTSYM(sys_##func),DOTSYM(compat_sys_##func)
22 #define PPC_SYS(func)           .8byte  DOTSYM(ppc_##func),DOTSYM(ppc_##func)
23 #define OLDSYS(func)            .8byte  DOTSYM(sys_ni_syscall),DOTSYM(sys_ni_syscall)
24 #define SYS32ONLY(func)         .8byte  DOTSYM(sys_ni_syscall),DOTSYM(compat_sys_##func)
25 #define PPC64ONLY(func)         .8byte  DOTSYM(ppc_##func),DOTSYM(sys_ni_syscall)
26 #define SYSX(f, f3264, f32)     .8byte  DOTSYM(f),DOTSYM(f3264)
27 #else
28 #define SYSCALL(func)           .long   sys_##func
29 #define COMPAT_SYS(func)        .long   sys_##func
30 #define PPC_SYS(func)           .long   ppc_##func
31 #define OLDSYS(func)            .long   sys_##func
32 #define SYS32ONLY(func)         .long   sys_##func
33 #define PPC64ONLY(func)         .long   sys_ni_syscall
34 #define SYSX(f, f3264, f32)     .long   f32
35 #endif
36 #define SYSCALL_SPU(func)       SYSCALL(func)
37 #define COMPAT_SYS_SPU(func)    COMPAT_SYS(func)
38 #define PPC_SYS_SPU(func)       PPC_SYS(func)
39 #define SYSX_SPU(f, f3264, f32) SYSX(f, f3264, f32)
40
41 .section .rodata,"a"
42
43 #ifdef CONFIG_PPC64
44         .p2align        3
45 #endif
46
47 .globl sys_call_table
48 sys_call_table:
49
50 #include <asm/systbl.h>