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

Re: [Xen-devel] xen pv and cpuid

There's one other mechanism in use here - masking CPUID feature bits
through special vendor MSRs. See the handling of the command line
options cpuid_mask_{edx,ecx} in xen/arch/x86/cpu/. But this is a global
mask (i.e. also affecting what Xen itself sees), and isn't available on all
CPU models...


>>> Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> 26.10.09 18:44 >>>
Silly x86 question of the day:

Is it true in a PV domain that there is no way (short of binary translation) to 
trap a userland cpuid instruction into Xen?

I found the routine pv_cpuid() in arch/x86/traps.c and assumed that userland 
cpuid's would find their way into that code, but it appears to not be the case. 
 After adding some printks and reading the code more closely, I gather that PV 
OS's somehow get their cpuid instructions replaced with an invalid op so that 
kernel-land cpuid's do indeed get trapped? Then looking at the Intel SDM I 
don't see any way to force cpuid at any privilege level to trap (except in an 

(If this is all correct, then I am sadly back to needing userland hypercalls :-(


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.