#define KERNEL_PRIVATE 1
#import <architecture/ppc/asm_help.h>
#import <architecture/ppc/pseudo_inst.h>
#import <mach/ppc/exception.h>
#import <sys/syscall.h>
#define kernel_trap_args_0
#define kernel_trap_args_1
#define kernel_trap_args_2
#define kernel_trap_args_3
#define kernel_trap_args_4
#define kernel_trap_args_5
#define kernel_trap_args_6
#define kernel_trap_args_7
#define simple_kernel_trap(trap_name, trap_number) \
.globl _##trap_name @\
_##trap_name: @\
li r0,trap_number @\
sc @\
blr @\
END(trap_name)
#define kernel_trap_0(trap_name,trap_number) \
simple_kernel_trap(trap_name,trap_number)
#define kernel_trap_1(trap_name,trap_number) \
simple_kernel_trap(trap_name,trap_number)
#define kernel_trap_2(trap_name,trap_number) \
simple_kernel_trap(trap_name,trap_number)
#define kernel_trap_3(trap_name,trap_number) \
simple_kernel_trap(trap_name,trap_number)
#define kernel_trap_4(trap_name,trap_number) \
simple_kernel_trap(trap_name,trap_number)
#define kernel_trap_5(trap_name,trap_number) \
simple_kernel_trap(trap_name,trap_number)
#define kernel_trap_6(trap_name,trap_number) \
simple_kernel_trap(trap_name,trap_number)
#define kernel_trap_7(trap_name,trap_number) \
simple_kernel_trap(trap_name,trap_number)
#define kernel_trap_8(trap_name,trap_number) \
simple_kernel_trap(trap_name,trap_number)
#define kernel_trap_9(trap_name,trap_number) \
simple_kernel_trap(trap_name,trap_number)
#define SYSCALL(name, nargs) \
.globl cerror @\
LEAF(_##name) @\
kernel_trap_args_##nargs @\
li r0,SYS_##name @\
sc @\
b 1f @\
b 2f @\
1: BRANCH_EXTERN(cerror) @\
.text \
2: nop
#define SYSCALL_NONAME(name, nargs) \
.globl cerror @\
kernel_trap_args_##nargs @\
li r0,SYS_##name @\
sc @\
b 1f @\
b 2f @\
1: BRANCH_EXTERN(cerror) @\
.text \
2: nop
#define PSEUDO(pseudo, name, nargs) \
LEAF(_##pseudo) @\
SYSCALL_NONAME(name, nargs)
#undef END
#import <mach/ppc/syscall_sw.h>
#if !defined(SYS_getdirentriesattr)
#define SYS_getdirentriesattr 222
#endif
#if !defined(SYS_semsys)
#define SYS_semsys 251
#define SYS_msgsys 252
#define SYS_shmsys 253
#define SYS_semctl 254
#define SYS_semget 255
#define SYS_semop 256
#define SYS_semconfig 257
#define SYS_msgctl 258
#define SYS_msgget 259
#define SYS_msgsnd 260
#define SYS_msgrcv 261
#define SYS_shmat 262
#define SYS_shmctl 263
#define SYS_shmdt 264
#define SYS_shmget 265
#endif