ia64/xen-unstable

changeset 8937:f572c467d9c3

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@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
author cl349@firebug.cl.cam.ac.uk
date Mon Feb 20 17:22:00 2006 +0000 (2006-02-20)
parents ff83b29ebe9a
children 9bf99522ce5e
files linux-2.6-xen-sparse/arch/i386/Kconfig linux-2.6-xen-sparse/arch/i386/Kconfig.cpu linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S linux-2.6-xen-sparse/arch/i386/kernel/traps-xen.c
line diff
     1.1 --- a/linux-2.6-xen-sparse/arch/i386/Kconfig	Mon Feb 20 17:15:14 2006 +0000
     1.2 +++ b/linux-2.6-xen-sparse/arch/i386/Kconfig	Mon Feb 20 17:22:00 2006 +0000
     1.3 @@ -1186,6 +1186,11 @@ config X86_SYSENTER
     1.4  	depends on !X86_NO_TSS
     1.5  	default y
     1.6  
     1.7 +config X86_NO_IDT
     1.8 +	bool
     1.9 +	depends on X86_XEN
    1.10 +	default y
    1.11 +
    1.12  config KTIME_SCALAR
    1.13  	bool
    1.14  	default y
     2.1 --- a/linux-2.6-xen-sparse/arch/i386/Kconfig.cpu	Mon Feb 20 17:15:14 2006 +0000
     2.2 +++ b/linux-2.6-xen-sparse/arch/i386/Kconfig.cpu	Mon Feb 20 17:22:00 2006 +0000
     2.3 @@ -251,7 +251,7 @@ config X86_PPRO_FENCE
     2.4  
     2.5  config X86_F00F_BUG
     2.6  	bool
     2.7 -	depends on M586MMX || M586TSC || M586 || M486 || M386
     2.8 +	depends on (M586MMX || M586TSC || M586 || M486 || M386) && !X86_NO_IDT
     2.9  	default y
    2.10  
    2.11  config X86_WP_WORKS_OK
     3.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S	Mon Feb 20 17:15:14 2006 +0000
     3.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S	Mon Feb 20 17:22:00 2006 +0000
     3.3 @@ -94,19 +94,11 @@ ENTRY(stack_start)
     3.4  	.long init_thread_union+THREAD_SIZE
     3.5  	.long __BOOT_DS
     3.6  
     3.7 -ready:	.byte 0
     3.8 -
     3.9 -.globl idt_descr
    3.10 -.globl cpu_gdt_descr
    3.11 -
    3.12  	ALIGN
    3.13 -	.word 0				# 32-bit align idt_desc.address
    3.14 -idt_descr:
    3.15 -	.word IDT_ENTRIES*8-1		# idt contains 256 entries
    3.16 -	.long idt_table
    3.17  
    3.18  # boot GDT descriptor (later on used by CPU#0):
    3.19  	.word 0				# 32 bit align gdt_desc.address
    3.20 +	.globl cpu_gdt_descr
    3.21  cpu_gdt_descr:
    3.22  	.word GDT_SIZE
    3.23  	.long cpu_gdt_table
     4.1 --- a/linux-2.6-xen-sparse/arch/i386/kernel/traps-xen.c	Mon Feb 20 17:15:14 2006 +0000
     4.2 +++ b/linux-2.6-xen-sparse/arch/i386/kernel/traps-xen.c	Mon Feb 20 17:22:00 2006 +0000
     4.3 @@ -61,12 +61,14 @@ asmlinkage int system_call(void);
     4.4  /* Do we ignore FPU interrupts ? */
     4.5  char ignore_fpu_irq = 0;
     4.6  
     4.7 +#ifndef CONFIG_X86_NO_IDT
     4.8  /*
     4.9   * The IDT has to be page-aligned to simplify the Pentium
    4.10   * F0 0F bug workaround.. We have a special link segment
    4.11   * for this.
    4.12   */
    4.13  struct desc_struct idt_table[256] __attribute__((__section__(".data.idt"))) = { {0, 0}, };
    4.14 +#endif
    4.15  
    4.16  asmlinkage void divide_error(void);
    4.17  asmlinkage void debug(void);