 
	
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] x86/hvm: add support for MSR 0x35
 OS X interrogates MSR 0x35 to determine the number of enabled cores and threads, and will fail to boot if reasonable values are not returned. According to the OS X kernel source code (see osfmk/i386/cpuid.c), on Westmere bits 19:16 are the core count and bits 15:0 are the thread count, and on later families bits 31:16 are the core count and bits 15:0 are the thread count.  VirtualBox returns similar values (see CPUMAllRegs.cpp). Signed-off-by: Eric Shelton <eshelton@xxxxxxxxx> ---  xen/arch/x86/hvm/hvm.c          | 5 +++++  xen/include/asm-x86/msr-index.h | 1 +  2 files changed, 6 insertions(+) diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index 8d905d3..d181b10 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -4376,6 +4376,11 @@ int hvm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)          *msr_content = hvm_msr_tsc_aux(v);          break; +    case MSR_IA32_CORE_THREAD_COUNT: +        *msr_content = (((uint64_t)v->domain->max_vcpus) << 16) +                        | v->domain->max_vcpus; +        break; +      case MSR_IA32_APICBASE:          *msr_content = vcpu_vlapic(v)->hw.apic_base_msr;          break; diff --git a/xen/include/asm-x86/msr-index.h b/xen/include/asm-x86/msr-index.h index 542222e..ee0757c 100644 --- a/xen/include/asm-x86/msr-index.h +++ b/xen/include/asm-x86/msr-index.h @@ -285,6 +285,7 @@  #define MSR_IA32_PLATFORM_ID		0x00000017  #define MSR_IA32_EBL_CR_POWERON		0x0000002a  #define MSR_IA32_EBC_FREQUENCY_ID	0x0000002c +#define MSR_IA32_CORE_THREAD_COUNT	0x00000035  #define MSR_IA32_TSC_ADJUST		0x0000003b  #define MSR_IA32_APICBASE		0x0000001b --  1.8.5.5 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel 
 
 | 
|  | Lists.xenproject.org is hosted with RackSpace, monitoring our |