[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH][SVM] CPL initialization fix
For reference, from AMD's manual, Vol.2: "The processor reads the current privilege level from the CPL field in the VMCB, not from SS.DPL. However, SS.DPL should match the CPL field." And from Intel's manual, Vol.3B: "Note that the value of the DPL field for SS is always equal to the logical processor¹s current privilege level (CPL)." -- Keir On 10/3/08 19:18, "Keir Fraser" <keir.fraser@xxxxxxxxxxxxx> wrote: > CPL is architecturally SS.DPL in almost all cases. It's certainly not > CS.DPL. What do you mean by 'migrate a QEMU guest'? > > -- Keir > > On 10/3/08 19:14, "Ben Guthro" <bguthro@xxxxxxxxxxxxxxx> wrote: > >> CPL should be determined by code segment's DPL, not data segment's. >> >> This solves a problem migrating a QEMU guest without PV-on-HVM drivers >> >> Signed-off-by: Robert Plillips <rphillips@xxxxxxxxxxxxxxx> >> Signed-off-by: Ben Guthro <bguthro@xxxxxxxxxxxxxxxx> >> diff -r f76f151a7431 xen/arch/x86/hvm/svm/svm.c >> --- a/xen/arch/x86/hvm/svm/svm.c >> +++ b/xen/arch/x86/hvm/svm/svm.c >> @@ -557,7 +557,7 @@ static void svm_set_segment_register(str >> break; >> case x86_seg_ss: >> memcpy(&vmcb->ss, reg, sizeof(*reg)); >> - vmcb->cpl = vmcb->ss.attr.fields.dpl; >> + vmcb->cpl = vmcb->cs.attr.fields.dpl; >> break; >> case x86_seg_tr: >> memcpy(&vmcb->tr, reg, sizeof(*reg)); >> _______________________________________________ >> 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 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |