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