| #ifndef _ASM_X86_PROTO_H |
| #define _ASM_X86_PROTO_H |
| |
| #include <asm/ldt.h> |
| |
| /* misc architecture specific prototypes */ |
| |
| void early_idt_handler(void); |
| |
| void system_call(void); |
| void syscall_init(void); |
| |
| void ia32_syscall(void); |
| void ia32_cstar_target(void); |
| void ia32_sysenter_target(void); |
| |
| void syscall32_cpu_init(void); |
| |
| void x86_configure_nx(void); |
| void x86_report_nx(void); |
| |
| extern int reboot_force; |
| |
| long do_arch_prctl(struct task_struct *task, int code, unsigned long addr); |
| |
| /* |
| * This looks more complex than it should be. But we need to |
| * get the type for the ~ right in round_down (it needs to be |
| * as wide as the result!), and we want to evaluate the macro |
| * arguments just once each. |
| */ |
| #define __round_mask(x,y) ((__typeof__(x))((y)-1)) |
| #define round_up(x,y) ((((x)-1) | __round_mask(x,y))+1) |
| #define round_down(x,y) ((x) & ~__round_mask(x,y)) |
| |
| #endif /* _ASM_X86_PROTO_H */ |