[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.



>From: Jan Beulich [mailto:JBeulich@xxxxxxxx]
>Sent: Thursday, July 23, 2015 8:00 AM
>To: Sahita, Ravi
>Cc: Andrew Cooper; Wei Liu; George Dunlap; Ian Jackson; White, Edmund H;
>Nakajima, Jun; xen-devel@xxxxxxxxxxxxx; tlengyel@xxxxxxxxxxx; Daniel De
>Graaf; Tim Deegan
>Subject: RE: [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.

Yes our SDM has information that's not the best organized...
Agreed on the remaining issues

Thanks
Ravi

>
>Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.