diff options
author | Matt Mackall <mpm@selenic.com> | 2006-01-08 04:05:24 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-08 23:14:11 -0500 |
commit | 22c4e3084eb8b88288a622a57d8b35c450a439f2 (patch) | |
tree | 5d763dcb1f451aa2a89c779c5a68fb6882dadfb6 /arch/i386/kernel/cpu/common.c | |
parent | 18e92b12e83bef077a31ba6871f1aec3621b69e3 (diff) |
[PATCH] tiny: Make x86 doublefault handling optional
This adds configurable support for doublefault reporting on x86
add/remove: 0/3 grow/shrink: 0/1 up/down: 0/-13048 (-13048)
function old new delta
cpu_init 846 786 -60
doublefault_fn 188 - -188
doublefault_stack 4096 - -4096
doublefault_tss 8704 - -8704
Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386/kernel/cpu/common.c')
-rw-r--r-- | arch/i386/kernel/cpu/common.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/i386/kernel/cpu/common.c b/arch/i386/kernel/cpu/common.c index cca655688ffc..170400879f44 100644 --- a/arch/i386/kernel/cpu/common.c +++ b/arch/i386/kernel/cpu/common.c | |||
@@ -609,8 +609,10 @@ void __devinit cpu_init(void) | |||
609 | load_TR_desc(); | 609 | load_TR_desc(); |
610 | load_LDT(&init_mm.context); | 610 | load_LDT(&init_mm.context); |
611 | 611 | ||
612 | #ifdef CONFIG_DOUBLEFAULT | ||
612 | /* Set up doublefault TSS pointer in the GDT */ | 613 | /* Set up doublefault TSS pointer in the GDT */ |
613 | __set_tss_desc(cpu, GDT_ENTRY_DOUBLEFAULT_TSS, &doublefault_tss); | 614 | __set_tss_desc(cpu, GDT_ENTRY_DOUBLEFAULT_TSS, &doublefault_tss); |
615 | #endif | ||
614 | 616 | ||
615 | /* Clear %fs and %gs. */ | 617 | /* Clear %fs and %gs. */ |
616 | asm volatile ("xorl %eax, %eax; movl %eax, %fs; movl %eax, %gs"); | 618 | asm volatile ("xorl %eax, %eax; movl %eax, %fs; movl %eax, %gs"); |