From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: [PATCH][SVM] CPL initialization fix Date: Mon, 10 Mar 2008 19:18:26 +0000 Message-ID: References: <47D588A8.9030908@virtualiron.com> Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <47D588A8.9030908@virtualiron.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ben Guthro , xen-devel , Robert Phillips List-Id: xen-devel@lists.xenproject.org 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" 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 > Signed-off-by: Ben Guthro > 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@lists.xensource.com > http://lists.xensource.com/xen-devel