[SVM] Always read zero AMD C1E control MSR to allow cross-vendor migration
authorKeir Fraser <keir.fraser@citrix.com>
Fri, 13 Mar 2009 07:45:11 +0000 (07:45 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Fri, 13 Mar 2009 07:45:11 +0000 (07:45 +0000)
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
xen/arch/x86/hvm/hvm.c

index c19d36a9d31e5e83486e787a1db093e13d6d6740..c8c53c624415d506fb0524339e483adaf985f91c 100644 (file)
@@ -1776,6 +1776,15 @@ int hvm_msr_read_intercept(struct cpu_user_regs *regs)
         msr_content = var_range_base[index];
         break;
 
+    case MSR_K8_ENABLE_C1E:
+         /* There's no point in letting the guest see C-States.
+          * Further, this AMD-only register may be accessed if this HVM guest
+          * has been migrated to an Intel host. This fixes a guest crash
+          * in this case.
+          */
+         msr_content = 0;
+         break;
+
     default:
         return hvm_funcs.msr_read_intercept(regs);
     }