On 06/24/2015 03:57 AM, Jan Beulich wrote:
On 24.06.15 at 04:53, <boris.ostrov...@oracle.com> wrote:
On 06/23/2015 09:22 AM, Jan Beulich wrote:
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -2320,12 +2320,7 @@ int hvm_vcpu_initialise(struct vcpu *v)
v->arch.hvm_vcpu.inject_trap.vector = -1;
if ( is_pvh_domain(d) )
- {
- v->arch.hvm_vcpu.hcall_64bit = 1; /* PVH 32bitfixme. */
- /* This is for hvm_long_mode_enabled(v). */
- v->arch.hvm_vcpu.guest_efer = EFER_LMA | EFER_LME;
return 0;
- }
With this removed, is there any guarantee that hvm_set_mode()
will be called for each vCPU?
IIUIC, toolstack is required to call XEN_DOMCTL_set_address_size which
results in a call to switch_compat/native(), which loop over all VCPUs,
calling set_mode.
I don't recall this being a strict requirement. I think a PV 64-bit
guest would start fine without.
We do call it via libxl__build_pv() -> xc_dom_boot_mem_init() ->
arch_setup_mem_init() -> x86_compat().
-boris
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel