[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Eliminate i386 idt_table.



# HG changeset patch
# User cl349@xxxxxxxxxxxxxxxxxxxx
# Node ID f572c467d9c32e617064c8b26b530bd8f96648fd
# Parent  ff83b29ebe9a1eb4de6f30787e0f7c10e3d9230f
Eliminate i386 idt_table.
Add CONFIG_X86_NO_IDT to exclude all code which references the idt table.
Make CONFIG_X86_F00F_BUG conditional on CONFIG_X86_NO_IDT.

From: Jan Beulich <JBeulich@xxxxxxxxxx>
Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>

diff -r ff83b29ebe9a -r f572c467d9c3 linux-2.6-xen-sparse/arch/i386/Kconfig
--- a/linux-2.6-xen-sparse/arch/i386/Kconfig    Mon Feb 20 17:15:14 2006
+++ b/linux-2.6-xen-sparse/arch/i386/Kconfig    Mon Feb 20 17:22:00 2006
@@ -1186,6 +1186,11 @@
        depends on !X86_NO_TSS
        default y
 
+config X86_NO_IDT
+       bool
+       depends on X86_XEN
+       default y
+
 config KTIME_SCALAR
        bool
        default y
diff -r ff83b29ebe9a -r f572c467d9c3 linux-2.6-xen-sparse/arch/i386/Kconfig.cpu
--- a/linux-2.6-xen-sparse/arch/i386/Kconfig.cpu        Mon Feb 20 17:15:14 2006
+++ b/linux-2.6-xen-sparse/arch/i386/Kconfig.cpu        Mon Feb 20 17:22:00 2006
@@ -251,7 +251,7 @@
 
 config X86_F00F_BUG
        bool
-       depends on M586MMX || M586TSC || M586 || M486 || M386
+       depends on (M586MMX || M586TSC || M586 || M486 || M386) && !X86_NO_IDT
        default y
 
 config X86_WP_WORKS_OK
diff -r ff83b29ebe9a -r f572c467d9c3 
linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S
--- a/linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S  Mon Feb 20 17:15:14 2006
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S  Mon Feb 20 17:22:00 2006
@@ -94,19 +94,11 @@
        .long init_thread_union+THREAD_SIZE
        .long __BOOT_DS
 
-ready: .byte 0
-
-.globl idt_descr
-.globl cpu_gdt_descr
-
        ALIGN
-       .word 0                         # 32-bit align idt_desc.address
-idt_descr:
-       .word IDT_ENTRIES*8-1           # idt contains 256 entries
-       .long idt_table
 
 # boot GDT descriptor (later on used by CPU#0):
        .word 0                         # 32 bit align gdt_desc.address
+       .globl cpu_gdt_descr
 cpu_gdt_descr:
        .word GDT_SIZE
        .long cpu_gdt_table
diff -r ff83b29ebe9a -r f572c467d9c3 
linux-2.6-xen-sparse/arch/i386/kernel/traps-xen.c
--- a/linux-2.6-xen-sparse/arch/i386/kernel/traps-xen.c Mon Feb 20 17:15:14 2006
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/traps-xen.c Mon Feb 20 17:22:00 2006
@@ -61,12 +61,14 @@
 /* Do we ignore FPU interrupts ? */
 char ignore_fpu_irq = 0;
 
+#ifndef CONFIG_X86_NO_IDT
 /*
  * The IDT has to be page-aligned to simplify the Pentium
  * F0 0F bug workaround.. We have a special link segment
  * for this.
  */
 struct desc_struct idt_table[256] __attribute__((__section__(".data.idt"))) = 
{ {0, 0}, };
+#endif
 
 asmlinkage void divide_error(void);
 asmlinkage void debug(void);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.