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

Andy Lutomirski
2014-09-19T17:21:27Z

On Sep 19, 2014 9:53 AM, "Gleb Natapov" <gleb@kernel.org> 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)
> }
>

I think that there's a lot of value in having each guest
implementation be automatically compatible with all hypervisors. For
example, you forgot VMware, and VMware might be less excited about
implementing this feature if all the guests won't immediately start
using it.

> ?
>
> --
> Gleb.