This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


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

To: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] Re: problem in using MSR in the hypervisor
From: Long Wang <longwang.longwang@xxxxxxxxx>
Date: Fri, 8 Oct 2010 16:44:45 -0500
Delivery-date: Fri, 08 Oct 2010 14:45:28 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=bu2ktgg5ZI9mZqvLrmgUAToy75GwWoNP4E6ijQcBc5E=; b=dK5mIUXKk5uYyWnTg6TctStnTEaJRfbImCKisXooO+ElE8egrANYAeVKLBvobY0evP m7cizwFNjXNNjJaRMMIwXEXvuLq52ubuApwqilz8UEFsiA4akRLKbkIuFe3SIorwiXKE i2f6k/VW/A5CG1/vhUSNcpmqZd0LTjgaQt/zU=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=eyG5yHh5LRzk1i5RXJBE+pgwrfFlNL3VYW4P/Cm74UXl/5YEBUnDTs4W/foPPuboAB QDERA8nEuf5XjAt8woShClWKNPAadhSbHXti4Xn7x0qpxRjh8NGr6vfLWM46PhhgNIlw JcS9Y8s+5z0JhzhzsaQUYzV42jty1rM1Dvld8=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <AANLkTimj8-91y9SK2a+YK+8cP8qykkFs==RoY+C6v+cg@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <AANLkTimj8-91y9SK2a+YK+8cP8qykkFs==RoY+C6v+cg@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
I first used wrmsr_safe() to write a non-zero value into the msr
(MSR_P4_IQ_PERFCTR0), and then read the msr by rdmsr_safe(). But zero
is read.


On Fri, Oct 8, 2010 at 4:42 PM, Long Wang <longwang.longwang@xxxxxxxxx> wrote:
> 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

<Prev in Thread] Current Thread [Next in Thread>