[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC PATCH 03/10] Add cpuid_vmware_leaves



On 13/12/2013 10:55, Jan Beulich wrote:
>>>> On 12.12.13 at 23:27, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
>> On 12/12/2013 19:15, Don Slutz wrote:
>>>  int cpuid_hypervisor_leaves( uint32_t idx, uint32_t sub_idx,
>>>                 uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx)
>>>  {
>>>      struct domain *d = current->domain;
>>>      /* Optionally shift out of the way of Viridian architectural leaves. */
>>> -    uint32_t base = is_viridian_domain(d) ? 0x40000100 : 0x40000000;
>>> +    uint32_t base = 0x40000000;
>>>      uint32_t limit;
>>>  
>>> +    if ( is_viridian_domain(d) )
>>> +        base += 0x100;
>>> +    if ( is_vmware_domain(d) )
>>> +        base += 0x100;
>>> +
>> These bases need a far more scalable solution, especially as the result
>> of each of these clauses can be changed at runtime with a cunning
>> hvm_param_set hypercall.
>>
>> I think that both "is pretending to be HyperV" and "is pretending to be
>> VMware" need to be domain creation flags which are strictly static for
>> the lifetime of the domain.
> And it seems highly questionable to me whether having both at the
> same time makes much sense.
>
> Plus the new function doesn't belong in xen/arch/x86/traps.c ...
>
> Jan
>

I would certainly agree on the sentiment of it not making much sense.

However, as Xen needs viridian to run windows, I would be astounded if
vmware VMs didn't have viridian as well, in which case it is probably
quite likely that a vmware windows vm with vmware tools would expect to
find viridian and vmware extensions.

~Andrew

_______________________________________________
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®.