Re: [Xen-devel] [RFC] Hypervisor RNG and enumeration

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

 



On Wed, Oct 29, 2014 at 9:07 AM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
> On 10/29/2014 03:37 AM, Andrew Cooper wrote:
>>>
>>> CPUID with EAX = 0x4F000001 and ECX >= N MUST return all zeros.
>>>
>>> To the extent that the hypervisor prefers a given interface, it should
>>> specify that interface earlier in the list.  For example, KVM might place
>>> its "KVMKVMKVM" signature first in the list to indicate that it should be
>>> used by guests in preference to other supported interfaces.  Other hypervisors
>>> would likely use a different order.
>>>
>>> The exact semantics of the ordering of the list is beyond the scope of
>>> this specification.
>>
>> How do you evaluate N?
>>
>> It would make more sense for CPUID.4F000001[ECX=0] to return N in one
>> register, and perhaps "prefered interface index" in another.  The
>> signatures can then be obtained from CPUID.4F000001[ECX={1 to N}].
>>
>> That way, a consumer can be confident that they have found all the
>> signatures, without relying on an unbounded loop and checking for zeroes
>
> Yes.  Specifically, it should return it in EAX.  That is the preferred
> interface and we are trying to push for that going forward.
>

I'm okay with that.

I'm inclined to leave EBX, ECX, and EDX reserved for now, though.
Barring an actual use case in which the order of the list isn't
sufficient to determine preference, I don't see the need to give
another preference indication.

I updated the copy of github to make this change and to use an
explicit feature bit for the RNG.

--Andy

>         -hpa
>
>



-- 
Andy Lutomirski
AMA Capital Management, LLC
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization




[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux