El 07/08/15 a les 16.09, Boris Ostrovsky ha escrit:
> On 08/07/2015 06:17 AM, Roger Pau Monne wrote:
>> diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
>> index a0a97e7..5acb246 100644
>> --- a/xen/arch/x86/hvm/vmx/vmcs.c
>> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
>> @@ -1027,6 +1027,20 @@ static int construct_vmcs(struct vcpu *v)
>>           ASSERT(!(v->arch.hvm_vmx.exec_control &
>> CPU_BASED_RDTSC_EXITING));
>>       }
>>   +    if ( !has_vlapic(d) )
>> +    {
>> +        /* Disable virtual apics, TPR */
>> +        v->arch.hvm_vmx.secondary_exec_control &=
>> +            ~(SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES
>> +              | SECONDARY_EXEC_APIC_REGISTER_VIRT
>> +              | SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY);
>> +        v->arch.hvm_vmx.exec_control &= ~CPU_BASED_TPR_SHADOW;
>> +
>> +        /* In turn, disable posted interrupts. */
>> +        __vmwrite(PIN_BASED_VM_EXEC_CONTROL,
>> +                  vmx_pin_based_exec_control &
>> ~PIN_BASED_POSTED_INTERRUPT);
>> +    }
>> +
>>       vmx_update_cpu_exec_control(v);
> 
> This is the same code as the one used right above, in 'if (
> is_pvh_domain(d) )' clause. Can you combine the two?

No, it's not the same code. The PVH code disables unrestricted guest and
sets the entry of the VM to be in long mode, which is not true for HVMlite.

Roger.


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

Reply via email to