aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-i386/segment.h
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2007-05-02 13:27:16 -0400
committerAndi Kleen <andi@basil.nowhere.org>2007-05-02 13:27:16 -0400
commitc5413fbe894924ddb8aa474a4d4da52e7a6c7e0b (patch)
tree8f317bf2494b6b4bceb5e6d1ee35fabc0eeb9971 /include/asm-i386/segment.h
parent1956c73bb5bf81ee577ed7d3c64e3cad876ad2a5 (diff)
[PATCH] i386: Fix UP gdt bugs
Fixes two problems with the GDT when compiling for uniprocessor: - There's no percpu segment, so trying to load its selector into %fs fails. Use a null selector instead. - The real gdt needs to be loaded at some point. Do it in cpu_init(). Signed-off-by: Chris Wright <chrisw@sous-sol.org> Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Signed-off-by: Andi Kleen <ak@suse.de> Cc: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'include/asm-i386/segment.h')
-rw-r--r--include/asm-i386/segment.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/asm-i386/segment.h b/include/asm-i386/segment.h
index 07e70624d87c..597a47c2515f 100644
--- a/include/asm-i386/segment.h
+++ b/include/asm-i386/segment.h
@@ -75,7 +75,11 @@
75#define __ESPFIX_SS (GDT_ENTRY_ESPFIX_SS * 8) 75#define __ESPFIX_SS (GDT_ENTRY_ESPFIX_SS * 8)
76 76
77#define GDT_ENTRY_PERCPU (GDT_ENTRY_KERNEL_BASE + 15) 77#define GDT_ENTRY_PERCPU (GDT_ENTRY_KERNEL_BASE + 15)
78#ifdef CONFIG_SMP
78#define __KERNEL_PERCPU (GDT_ENTRY_PERCPU * 8) 79#define __KERNEL_PERCPU (GDT_ENTRY_PERCPU * 8)
80#else
81#define __KERNEL_PERCPU 0
82#endif
79 83
80#define GDT_ENTRY_DOUBLEFAULT_TSS 31 84#define GDT_ENTRY_DOUBLEFAULT_TSS 31
81 85