[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |