diff options
Diffstat (limited to 'arch/x86/kernel/traps.c')
| -rw-r--r-- | arch/x86/kernel/traps.c | 12 | 
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index 04d242ab016..4a6dff39a47 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@ -72,9 +72,6 @@  #include "cpu/mcheck/mce.h" -DECLARE_BITMAP(used_vectors, NR_VECTORS); -EXPORT_SYMBOL_GPL(used_vectors); -  asmlinkage int system_call(void);  /* Do we ignore FPU interrupts ? */ @@ -89,6 +86,9 @@ gate_desc idt_table[256]  	__attribute__((__section__(".data.idt"))) = { { { { 0, 0 } } }, };  #endif +DECLARE_BITMAP(used_vectors, NR_VECTORS); +EXPORT_SYMBOL_GPL(used_vectors); +  static int ignore_nmis;  static inline void conditional_sti(struct pt_regs *regs) @@ -949,9 +949,7 @@ dotraplinkage void do_iret_error(struct pt_regs *regs, long error_code)  void __init trap_init(void)  { -#ifdef CONFIG_X86_32  	int i; -#endif  #ifdef CONFIG_EISA  	void __iomem *p = early_ioremap(0x0FFFD9, 4); @@ -1008,11 +1006,15 @@ void __init trap_init(void)  	}  	set_system_trap_gate(SYSCALL_VECTOR, &system_call); +#endif  	/* Reserve all the builtin and the syscall vector: */  	for (i = 0; i < FIRST_EXTERNAL_VECTOR; i++)  		set_bit(i, used_vectors); +#ifdef CONFIG_X86_64 +	set_bit(IA32_SYSCALL_VECTOR, used_vectors); +#else  	set_bit(SYSCALL_VECTOR, used_vectors);  #endif  	/*  |