From: Boris Ostrovsky Date: Thu, 15 Oct 2015 14:44:26 +0000 (-0400) Subject: libxc: Initialize vcpu context for 64-bit PVH VCPUs X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~2382 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c7e21966e6fe1e8640a4d1cb452118c43e27356d;p=xen.git libxc: Initialize vcpu context for 64-bit PVH VCPUs Commit 5b921b49f08 ("libxc: rework BSP initialization") forgot to call xc_vcpu_setcontext() for 64-bit PVH VCPUs. Signed-off-by: Boris Ostrovsky Acked-by: Roger Pau Monné Acked-by: Wei Liu --- diff --git a/tools/libxc/xc_dom_x86.c b/tools/libxc/xc_dom_x86.c index 034abe0875..4c4182f65f 100644 --- a/tools/libxc/xc_dom_x86.c +++ b/tools/libxc/xc_dom_x86.c @@ -810,18 +810,18 @@ static int vcpu_x86_64(struct xc_dom_image *dom) DOMPRINTF("%s: cr3: pfn 0x%" PRIpfn " mfn 0x%" PRIpfn "", __FUNCTION__, dom->pgtables_seg.pfn, cr3_pfn); - if ( dom->pvh_enabled ) - return 0; - - ctxt->user_regs.ds = FLAT_KERNEL_DS_X86_64; - ctxt->user_regs.es = FLAT_KERNEL_DS_X86_64; - ctxt->user_regs.fs = FLAT_KERNEL_DS_X86_64; - ctxt->user_regs.gs = FLAT_KERNEL_DS_X86_64; - ctxt->user_regs.ss = FLAT_KERNEL_SS_X86_64; - ctxt->user_regs.cs = FLAT_KERNEL_CS_X86_64; + if ( !dom->pvh_enabled ) + { + ctxt->user_regs.ds = FLAT_KERNEL_DS_X86_64; + ctxt->user_regs.es = FLAT_KERNEL_DS_X86_64; + ctxt->user_regs.fs = FLAT_KERNEL_DS_X86_64; + ctxt->user_regs.gs = FLAT_KERNEL_DS_X86_64; + ctxt->user_regs.ss = FLAT_KERNEL_SS_X86_64; + ctxt->user_regs.cs = FLAT_KERNEL_CS_X86_64; - ctxt->kernel_ss = ctxt->user_regs.ss; - ctxt->kernel_sp = ctxt->user_regs.esp; + ctxt->kernel_ss = ctxt->user_regs.ss; + ctxt->kernel_sp = ctxt->user_regs.esp; + } rc = xc_vcpu_setcontext(dom->xch, dom->guest_domid, 0, &any_ctx); if ( rc != 0 )