[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] Re: problem in using MSR in the hypervisor



Are the MSRs invalid in the system? Invalid here means reserved or 
unimplemented MSR.

Thanks
--jyh

>-----Original Message-----
>From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>[mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Long Wang
>Sent: Sunday, October 10, 2010 3:26 AM
>To: xen-devel@xxxxxxxxxxxxxxxxxxx
>Subject: [Xen-devel] Re: problem in using MSR in the hypervisor
>
>I added code in the hypervisor to manipulate MSR. Here is my code in
>emulate_privileged_op() in the Xen hypervisor:
>
>....
>       // for WRMSR
>       case MSR_P4_IQ_PERFCTR0:
>       case MSR_P4_IQ_CCCR0:
>       case MSR_P4_CRU_ESCR0:
>       case MSR_P4_IQ_PERFCTR2:
>       case MSR_P4_IQ_CCCR2:
>       case MSR_P4_CRU_ESCR1:
>           wrmsr_safe(regs->ecx, eax, edx);
>           break;
>......
>       // for RDMSR
>       case MSR_P4_IQ_PERFCTR0:
>       case MSR_P4_IQ_CCCR0:
>       case MSR_P4_CRU_ESCR0:
>       case MSR_P4_IQ_PERFCTR2:
>       case MSR_P4_IQ_CCCR2:
>       case MSR_P4_CRU_ESCR1:
>               printk("the_cs = 0x%x\n", the_cs);
>               __asm__ volatile(
>                         "mov %%cs, %0\n"
>                         :"=r"(the_cs)
>                         :
>               );
>               printk("the_cs = 0x%x\n", the_cs);
>               rdmsr_safe(regs->ecx, regs->eax, regs->edx);
>           break;
>
>
>The wrmsr_safe() and rdmsr_safe() trigger a general protection fault,
>and the value read from the msr is 0. But I printed out the cs
>descriptor, and found the CPL is 0. Why there is a general protection
>fault here? How can I fix this?
>
>
>thanks,
>long
>
>_______________________________________________
>Xen-devel mailing list
>Xen-devel@xxxxxxxxxxxxxxxxxxx
>http://lists.xensource.com/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.