diff -r 8a9f81672c76 xen/arch/x86/hvm/hvm.c --- a/xen/arch/x86/hvm/hvm.c Wed Aug 12 14:27:52 2009 +0100 +++ b/xen/arch/x86/hvm/hvm.c Thu Aug 13 13:47:04 2009 +0200 @@ -1850,6 +1850,14 @@ int hvm_msr_read_intercept(struct cpu_us msr_content = 0; break; + case MSR_AMD64_NB_CFG: + /* 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: ret = mce_rdmsr(ecx, &lo, &hi); if ( ret < 0 ) @@ -1949,6 +1957,10 @@ int hvm_msr_write_intercept(struct cpu_u goto gp_fault; break; + case MSR_AMD64_NB_CFG: + /* ignore the write */ + break; + default: ret = mce_wrmsr(ecx, msr_content); if ( ret < 0 )