x86/idt: Move 32-bit idt_descr to C code
[linux-2.6-microblaze.git] / arch / x86 / kernel / idt.c
1 /*
2  * Interrupt descriptor table related code
3  *
4  * This file is licensed under the GPL V2
5  */
6 #include <linux/interrupt.h>
7
8 #include <asm/desc.h>
9
10 /* Must be page-aligned because the real IDT is used in a fixmap. */
11 gate_desc idt_table[IDT_ENTRIES] __page_aligned_bss;
12
13 struct desc_ptr idt_descr __ro_after_init = {
14         .size           = (IDT_ENTRIES * 2 * sizeof(unsigned long)) - 1,
15         .address        = (unsigned long) idt_table,
16 };
17
18 #ifdef CONFIG_X86_64
19 /* No need to be aligned, but done to keep all IDTs defined the same way. */
20 gate_desc debug_idt_table[IDT_ENTRIES] __page_aligned_bss;
21
22 const struct desc_ptr debug_idt_descr = {
23         .size           = IDT_ENTRIES * 16 - 1,
24         .address        = (unsigned long) debug_idt_table,
25 };
26 #endif