On Thu, Feb 21, 2008 at 6:50 AM, Joerg Roedel <[EMAIL PROTECTED]> wrote:
> Inside a KVM virtual machine the MTRRs are usually blank. This confuses Linux
>  and causes a warning message at boot. This patch removes that warning message
>  when running Linux as a KVM guest.
>
>  Signed-off-by: Joerg Roedel <[EMAIL PROTECTED]>
>  ---
>   arch/x86/kernel/cpu/mtrr/main.c |    7 +++++--
>   1 files changed, 5 insertions(+), 2 deletions(-)
>
>  diff --git a/arch/x86/kernel/cpu/mtrr/main.c 
> b/arch/x86/kernel/cpu/mtrr/main.c
>  index b6e136f..47e624c 100644
>  --- a/arch/x86/kernel/cpu/mtrr/main.c
>  +++ b/arch/x86/kernel/cpu/mtrr/main.c
>  @@ -43,6 +43,7 @@
>   #include <asm/uaccess.h>
>   #include <asm/processor.h>
>   #include <asm/msr.h>
>  +#include <asm/kvm_para.h>
>   #include "mtrr.h"
>
>   u32 num_var_ranges = 0;
>  @@ -687,12 +688,14 @@ 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_pfn) {
>  +       if (!highest_pfn && !kvm_para_available()) {
>                 printk(KERN_WARNING "WARNING: strange, CPU MTRRs all 
> blank?\n");
>                 WARN_ON(1);
>  -               return 0;
>         }
>
>  +       if (!highest_pfn)
>  +               return 0;
>  +
>         if (highest_pfn < end_pfn) {
>                 printk(KERN_WARNING "WARNING: BIOS bug: CPU MTRRs don't cover"
>                         " all of memory, losing %luMB of RAM.\n",
>  --
>  1.5.3.7
>

Doest that WARN_ON(1) hurt?

or you may do some patch in qemu too.

so
        rdmsr(MTRRdefType_MSR, def, dummy);
        def &= 0xff;
        if (def != MTRR_TYPE_UNCACHABLE)
                return 0;

is happy out.

or set those MTRR entries in qemu...

YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to