summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/segment.h
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2012-04-19 02:16:49 +0200
committerH. Peter Anvin <hpa@linux.intel.com>2012-04-20 00:42:45 +0200
commit9900aa2f95844eb81428c1d3d202c01b7f3ac77a (patch)
tree4c93c0eebb8e645e0de8aa767913f6c4f14f1b75 /arch/x86/include/asm/segment.h
parentx86, extable: Add early_fixup_exception() (diff)
downloadlinux-9900aa2f95844eb81428c1d3d202c01b7f3ac77a.tar.xz
linux-9900aa2f95844eb81428c1d3d202c01b7f3ac77a.zip
x86-64: Handle exception table entries during early boot
If we get an exception during early boot, walk the exception table to see if we should intercept it. The main use case for this is to allow rdmsr_safe()/wrmsr_safe() during CPU initialization. Since the exception table is currently sorted at runtime, and fairly late in startup, this code walks the exception table linearly. We obviously don't need to worry about modules, however: none have been loaded at this point. [ v2: Use early_fixup_exception() instead of linear search ] Link: http://lkml.kernel.org/r/1334794610-5546-5-git-send-email-hpa@zytor.com Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/include/asm/segment.h')
-rw-r--r--arch/x86/include/asm/segment.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/include/asm/segment.h b/arch/x86/include/asm/segment.h
index 58c1e6cd91b6..c48a95035a77 100644
--- a/arch/x86/include/asm/segment.h
+++ b/arch/x86/include/asm/segment.h
@@ -213,7 +213,7 @@
#ifdef __KERNEL__
#ifndef __ASSEMBLY__
-extern const char early_idt_handlers[NUM_EXCEPTION_VECTORS][10];
+extern const char early_idt_handlers[NUM_EXCEPTION_VECTORS][2+2+5];
/*
* Load a segment. Fall back on loading the zero