diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2006-12-06 20:14:08 -0500 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-12-06 20:14:08 -0500 |
commit | 4f205fd45a5c192907188d6f8f6d7e66db859248 (patch) | |
tree | a356044df1960b93737681db9fa88974fe0425d0 /include/asm-i386 | |
parent | c9ccf30d77f04064fe5436027ab9d2230c7cdd94 (diff) |
[PATCH] paravirt: Allow selected bug checks to be
Allow selected bug checks to be skipped by paravirt kernels. The two most
important are the F00F workaround (which is either done by the hypervisor,
or not required), and the 'hlt' instruction check, which can break under
some hypervisors.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Diffstat (limited to 'include/asm-i386')
-rw-r--r-- | include/asm-i386/bugs.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/asm-i386/bugs.h b/include/asm-i386/bugs.h index 592ffeeda45e..38f1aebbbdb5 100644 --- a/include/asm-i386/bugs.h +++ b/include/asm-i386/bugs.h | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <asm/processor.h> | 21 | #include <asm/processor.h> |
22 | #include <asm/i387.h> | 22 | #include <asm/i387.h> |
23 | #include <asm/msr.h> | 23 | #include <asm/msr.h> |
24 | #include <asm/paravirt.h> | ||
24 | 25 | ||
25 | static int __init no_halt(char *s) | 26 | static int __init no_halt(char *s) |
26 | { | 27 | { |
@@ -91,6 +92,9 @@ static void __init check_fpu(void) | |||
91 | 92 | ||
92 | static void __init check_hlt(void) | 93 | static void __init check_hlt(void) |
93 | { | 94 | { |
95 | if (paravirt_enabled()) | ||
96 | return; | ||
97 | |||
94 | printk(KERN_INFO "Checking 'hlt' instruction... "); | 98 | printk(KERN_INFO "Checking 'hlt' instruction... "); |
95 | if (!boot_cpu_data.hlt_works_ok) { | 99 | if (!boot_cpu_data.hlt_works_ok) { |
96 | printk("disabled\n"); | 100 | printk("disabled\n"); |