diff options
-rw-r--r-- | arch/x86/mm/fault.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index 0d17c8c50acd..9c7378df740a 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c | |||
@@ -420,12 +420,14 @@ static noinline __kprobes int vmalloc_fault(unsigned long address) | |||
420 | return 0; | 420 | return 0; |
421 | } | 421 | } |
422 | 422 | ||
423 | #ifdef CONFIG_CPU_SUP_AMD | ||
423 | static const char errata93_warning[] = | 424 | static const char errata93_warning[] = |
424 | KERN_ERR | 425 | KERN_ERR |
425 | "******* Your BIOS seems to not contain a fix for K8 errata #93\n" | 426 | "******* Your BIOS seems to not contain a fix for K8 errata #93\n" |
426 | "******* Working around it, but it may cause SEGVs or burn power.\n" | 427 | "******* Working around it, but it may cause SEGVs or burn power.\n" |
427 | "******* Please consider a BIOS update.\n" | 428 | "******* Please consider a BIOS update.\n" |
428 | "******* Disabling USB legacy in the BIOS may also help.\n"; | 429 | "******* Disabling USB legacy in the BIOS may also help.\n"; |
430 | #endif | ||
429 | 431 | ||
430 | /* | 432 | /* |
431 | * No vm86 mode in 64-bit mode: | 433 | * No vm86 mode in 64-bit mode: |
@@ -505,7 +507,11 @@ bad: | |||
505 | */ | 507 | */ |
506 | static int is_errata93(struct pt_regs *regs, unsigned long address) | 508 | static int is_errata93(struct pt_regs *regs, unsigned long address) |
507 | { | 509 | { |
508 | #ifdef CONFIG_X86_64 | 510 | #if defined(CONFIG_X86_64) && defined(CONFIG_CPU_SUP_AMD) |
511 | if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD | ||
512 | || boot_cpu_data.x86 != 0xf) | ||
513 | return 0; | ||
514 | |||
509 | if (address != regs->ip) | 515 | if (address != regs->ip) |
510 | return 0; | 516 | return 0; |
511 | 517 | ||