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. -hpa _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization