diff options
| -rw-r--r-- | arch/x86/kernel/head_64.S | 15 | ||||
| -rw-r--r-- | arch/x86/kernel/tracepoint.c | 6 | ||||
| -rw-r--r-- | arch/x86/kernel/traps.c | 12 |
3 files changed, 8 insertions, 25 deletions
diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S index 5e4d8a8a5c40..e1aabdb314c8 100644 --- a/arch/x86/kernel/head_64.S +++ b/arch/x86/kernel/head_64.S | |||
| @@ -512,21 +512,6 @@ ENTRY(phys_base) | |||
| 512 | 512 | ||
| 513 | #include "../../x86/xen/xen-head.S" | 513 | #include "../../x86/xen/xen-head.S" |
| 514 | 514 | ||
| 515 | .section .bss, "aw", @nobits | ||
| 516 | .align L1_CACHE_BYTES | ||
| 517 | ENTRY(idt_table) | ||
| 518 | .skip IDT_ENTRIES * 16 | ||
| 519 | |||
| 520 | .align L1_CACHE_BYTES | ||
| 521 | ENTRY(debug_idt_table) | ||
| 522 | .skip IDT_ENTRIES * 16 | ||
| 523 | |||
| 524 | #ifdef CONFIG_TRACING | ||
| 525 | .align L1_CACHE_BYTES | ||
| 526 | ENTRY(trace_idt_table) | ||
| 527 | .skip IDT_ENTRIES * 16 | ||
| 528 | #endif | ||
| 529 | |||
| 530 | __PAGE_ALIGNED_BSS | 515 | __PAGE_ALIGNED_BSS |
| 531 | NEXT_PAGE(empty_zero_page) | 516 | NEXT_PAGE(empty_zero_page) |
| 532 | .skip PAGE_SIZE | 517 | .skip PAGE_SIZE |
diff --git a/arch/x86/kernel/tracepoint.c b/arch/x86/kernel/tracepoint.c index 4e584a8d6edd..1c113db9ed57 100644 --- a/arch/x86/kernel/tracepoint.c +++ b/arch/x86/kernel/tracepoint.c | |||
| @@ -12,10 +12,8 @@ atomic_t trace_idt_ctr = ATOMIC_INIT(0); | |||
| 12 | struct desc_ptr trace_idt_descr = { NR_VECTORS * 16 - 1, | 12 | struct desc_ptr trace_idt_descr = { NR_VECTORS * 16 - 1, |
| 13 | (unsigned long) trace_idt_table }; | 13 | (unsigned long) trace_idt_table }; |
| 14 | 14 | ||
| 15 | #ifndef CONFIG_X86_64 | 15 | /* No need to be aligned, but done to keep all IDTs defined the same way. */ |
| 16 | gate_desc trace_idt_table[NR_VECTORS] __page_aligned_data | 16 | gate_desc trace_idt_table[NR_VECTORS] __page_aligned_bss; |
| 17 | = { { { { 0, 0 } } }, }; | ||
| 18 | #endif | ||
| 19 | 17 | ||
| 20 | static int trace_irq_vector_refcount; | 18 | static int trace_irq_vector_refcount; |
| 21 | static DEFINE_MUTEX(irq_vector_mutex); | 19 | static DEFINE_MUTEX(irq_vector_mutex); |
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index b0865e88d3cc..1b23a1c92746 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c | |||
| @@ -63,19 +63,19 @@ | |||
| 63 | #include <asm/x86_init.h> | 63 | #include <asm/x86_init.h> |
| 64 | #include <asm/pgalloc.h> | 64 | #include <asm/pgalloc.h> |
| 65 | #include <asm/proto.h> | 65 | #include <asm/proto.h> |
| 66 | |||
| 67 | /* No need to be aligned, but done to keep all IDTs defined the same way. */ | ||
| 68 | gate_desc debug_idt_table[NR_VECTORS] __page_aligned_bss; | ||
| 66 | #else | 69 | #else |
| 67 | #include <asm/processor-flags.h> | 70 | #include <asm/processor-flags.h> |
| 68 | #include <asm/setup.h> | 71 | #include <asm/setup.h> |
| 69 | 72 | ||
| 70 | asmlinkage int system_call(void); | 73 | asmlinkage int system_call(void); |
| 71 | |||
| 72 | /* | ||
| 73 | * The IDT has to be page-aligned to simplify the Pentium | ||
| 74 | * F0 0F bug workaround. | ||
| 75 | */ | ||
| 76 | gate_desc idt_table[NR_VECTORS] __page_aligned_data = { { { { 0, 0 } } }, }; | ||
| 77 | #endif | 74 | #endif |
| 78 | 75 | ||
| 76 | /* Must be page-aligned because the real IDT is used in a fixmap. */ | ||
| 77 | gate_desc idt_table[NR_VECTORS] __page_aligned_bss; | ||
| 78 | |||
| 79 | DECLARE_BITMAP(used_vectors, NR_VECTORS); | 79 | DECLARE_BITMAP(used_vectors, NR_VECTORS); |
| 80 | EXPORT_SYMBOL_GPL(used_vectors); | 80 | EXPORT_SYMBOL_GPL(used_vectors); |
| 81 | 81 | ||
