diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:33:35 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:33:35 +0100 |
commit | cd7d72bb27a8c7502a602bdc299f1bb0a9357975 (patch) | |
tree | b945474a792a60a175222068987b9eb5623f2fec /arch/x86/kernel/cpu | |
parent | 9a1b62fe858ba6780a9aeb4ab5f7751038a6c15d (diff) |
x86: improve MTRR trimming messages
improve the MTTR trimming messages and also trigger a WARN_ON()
so that kerneloops.org can pick it up and categorize it.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/cpu')
-rw-r--r-- | arch/x86/kernel/cpu/mtrr/main.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c index ac4b6338f3f..71591958265 100644 --- a/arch/x86/kernel/cpu/mtrr/main.c +++ b/arch/x86/kernel/cpu/mtrr/main.c @@ -706,20 +706,17 @@ int __init mtrr_trim_uncached_memory(unsigned long end_pfn) /* kvm/qemu doesn't have mtrr set right, don't trim them all */ if (!highest_addr) { - printk(KERN_WARNING "***************\n"); - printk(KERN_WARNING "**** WARNING: likely strange cpu\n"); - printk(KERN_WARNING "**** MTRRs all blank, cpu in qemu?\n"); - printk(KERN_WARNING "***************\n"); + printk(KERN_WARNING "WARNING: strange, CPU MTRRs all blank?\n"); + WARN_ON(1); return 0; } if ((highest_addr >> PAGE_SHIFT) < end_pfn) { - printk(KERN_WARNING "***************\n"); - printk(KERN_WARNING "**** WARNING: likely BIOS bug\n"); - printk(KERN_WARNING "**** MTRRs don't cover all of " - "memory, trimmed %ld pages\n", end_pfn - - (highest_addr >> PAGE_SHIFT)); - printk(KERN_WARNING "***************\n"); + printk(KERN_WARNING "WARNING: BIOS bug: CPU MTRRs don't cover" + " all of memory, losing %LdMB of RAM.\n", + (((u64)end_pfn << PAGE_SHIFT) - highest_addr) >> 20); + + WARN_ON(1); printk(KERN_INFO "update e820 for mtrr\n"); trim_start = highest_addr; |