Re: Standardizing an MSR or other hypercall to get an RNG seed?

Andy Lutomirski
2014-09-18T15:38:02Z

On Thu, Sep 18, 2014 at 7:43 AM, H. Peter Anvin <hpa@zytor.com> wrote:
> On 09/18/2014 07:40 AM, KY Srinivasan wrote:
>>>
>>> The main questions are what MSR index to use and how to detect the
>>> presence of the MSR. I've played with two approaches:
>>>
>>> 1. Use CPUID to detect the presence of this feature. This is very easy for
>>> KVM to implement by using a KVM-specific CPUID feature. The problem is
>>> that this will necessarily be KVM-specific, as the guest must first probe for
>>> KVM and then probe for the KVM feature. I doubt that Hyper-V, for
>>> example, wants to claim to be KVM. If we could standardize a non-
>>> hypervisor-specific CPUID feature, then this problem would go away.
>>
>> We would prefer a CPUID feature bit to detect this feature.
>>
>
> I guess if we're introducing the concept of pan-OS MSRs we could also
> have pan-OS CPUID. The real issue is to get a single non-conflicting
> standard.

Agreed.

KVM currently puts 0 in 0x40000000.EAX, meaning that a feature bit in
Microsoft's leaf 0x40000003 would probably not work well for KVM. I
don't expect that Microsoft wants to start claiming to be KVM for the
purpose of using a KVM-style feature bit, so, if we went the CPUID
route, we would probably need something new.

--Andy

>
> -hpa
>
>

--
Andy Lutomirski
AMA Capital Management, LLC