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

Gleb Natapov
2014-09-19T16:53:49Z

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)
  }

?

--
			Gleb.