1 #ifndef _ASM_X86_PROTO_H 2 #define _ASM_X86_PROTO_H 3 4 #include <asm/ldt.h> 5 6 /* misc architecture specific prototypes */ 7 8 extern void early_idt_handler(void); 9 10 extern void system_call(void); 11 extern void syscall_init(void); 12 13 extern void ia32_syscall(void); 14 extern void ia32_cstar_target(void); 15 extern void ia32_sysenter_target(void); 16 17 extern void syscall32_cpu_init(void); 18 19 extern void x86_configure_nx(void); 20 21 extern int reboot_force; 22 23 long do_arch_prctl(struct task_struct *task, int code, unsigned long addr); 24 25 /* 26 * This looks more complex than it should be. But we need to 27 * get the type for the ~ right in round_down (it needs to be 28 * as wide as the result!), and we want to evaluate the macro 29 * arguments just once each. 30 */ 31 #define __round_mask(x,y) ((__typeof__(x))((y)-1)) 32 #define round_up(x,y) ((((x)-1) | __round_mask(x,y))+1) 33 #define round_down(x,y) ((x) & ~__round_mask(x,y)) 34 35 #endif /* _ASM_X86_PROTO_H */ 36