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

H. Peter Anvin
2014-09-19T17:08:20Z

On 09/19/2014 09:53 AM, Gleb Natapov wrote:
> On Fri, Sep 19, 2014 at 09:40:07AM -0700, H. Peter Anvin wrote:
>> On 09/19/2014 09:37 AM, Gleb Natapov wrote:
>>>
>>> Linux detects what hypervior it runs on very early
>>
>> Not anywhere close to early enough. We're talking for uses like kASLR.
>>
> Still to early to do:
>
> h = cpuid(HYPERVIOR_SIGNATURE)
> if (h == KVMKVMKVM) {
> if (cpuid(kvm_features) & kvm_rnd)
> rdmsr(kvm_rnd)
> else (h == HyperV) {
> if (cpuid(hv_features) & hv_rnd)
> rdmsr(hv_rnd)
> else (h == XenXenXen) {
> if (cpuid(xen_features) & xen_rnd)
> rdmsr(xen_rnd)
> }
>

If we need to do chase loops, especially not so...

-hpa