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

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

 



On Sep 19, 2014 9:40 AM, "H. Peter Anvin" <hpa@xxxxxxxxx> wrote:
>
> On 09/19/2014 09:14 AM, Nakajima, Jun wrote:
> >
> > I slept on it, and I think using the CPUID instruction alone would be
> > simple and efficient:
> > - We have a huge space for CPUID leaves
> > - CPUID also works for user-level
> > - It can take an additional 32-bit parameter (ECX), and returns 4
> > 32-bit values (EAX, EBX, ECX, and EDX).  RDMSR, for example, returns a
> > 64-bit value.
> >
> > Basically we can use it to implement a hypercall (rather than VMCALL).
> >
> > For example,
> > - CPUID 0x48000001.EAX would return the feature presence (e.g. in
> > EBX), and the result in EDX:EAX (if present) at the same time, or
> > - CPUID 0x48000001.EAX would return the feature presence only, and
> > CPUID 0x48000002.EAX (acts like a hypercall) returns up to 4 32-bit
> > values.
> >
>
> There is a huge disadvantage to the fact that CPUID is a user space
> instruction, though.

We can always make cpuid on the leaf in question return all zeros if CPL > 0.

>
>         -hpa
>
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux