[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v7 06/15] VMX/altp2m: add code to support EPTP switching and #VE.
>>> On 23.07.15 at 16:40, <ravi.sahita@xxxxxxxxx> wrote: >> From: Jan Beulich [mailto:JBeulich@xxxxxxxx] >>Sent: Thursday, July 23, 2015 2:43 AM >>>>> On 23.07.15 at 01:01, <edmund.h.white@xxxxxxxxx> wrote: >>> +static void vmx_vcpu_update_vmfunc_ve(struct vcpu *v) { >>> + struct domain *d = v->domain; >>> + u32 mask = SECONDARY_EXEC_ENABLE_VM_FUNCTIONS; >>> + >>> + if ( !cpu_has_vmx_vmfunc ) >>> + return; >>> + >>> + if ( cpu_has_vmx_virt_exceptions ) >>> + mask |= SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS; >>> + >>> + vmx_vmcs_enter(v); >>> + >>> + if ( !d->is_dying && altp2m_active(d) ) >>> + { >>> + v->arch.hvm_vmx.secondary_exec_control |= mask; >>> + __vmwrite(VM_FUNCTION_CONTROL, >>VMX_VMFUNC_EPTP_SWITCHING); >>> + __vmwrite(EPTP_LIST_ADDR, >>> + virt_to_maddr(d->arch.altp2m_eptp)); >>> + >>> + if ( cpu_has_vmx_virt_exceptions ) >>> + { >>> + p2m_type_t t; >>> + mfn_t mfn; >>> + >>> + mfn = get_gfn_query_unlocked(d, >>> + gfn_x(vcpu_altp2m(v).veinfo_gfn), &t); >>> + >>> + if ( mfn_x(mfn) != INVALID_MFN ) >>> + __vmwrite(VIRT_EXCEPTION_INFO, mfn_x(mfn) << >>> + PAGE_SHIFT); >> >>Considering that the VMCS field holds a byte-aligned address, why do you >>have the (later introduced) hvmop specify a GFN instead of a GPA? >> > > The SDM states: > " If the "EPT-violation #VE" VM-execution control is 1, the > virtualization-exception information address must > satisfy the following checks: > - Bits 11:0 of the address must be 0. > - The address must not set any bits beyond the processor's physical-address > width." Ah, interesting. Knowing what to search for, I was able to find this. But to be honest, it should also be stated in the section talking about #VE, not just in the one talking about checks being done. With that, just like for the other patch my ack depends on the promise to deal with all the remaining issues. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |