I know that CLTS and WBINVD instructions, for example , should cause
#GP(0) if run from CPL which is not 0; but grepping for an asm
instruction
which calls CLTS or WBINVD under the sparse tree gives no results.
Can you give one example for such an instruction which cause a trap
to the hypervisor when run in a guest OS and where in the code it
causes
such a trap ?
(As far as I understand,if we try to issue a privilege instruction from
CPL1 we should get a #GP(0) and reach the general protection
handler in sparse/arch/xen/i386/kernel/traps.c ,
do_general_protection().
But I had looked at do_general_protection() in
sparse/arch/xen/i386/kernel/traps.c
and could not find there a mechanism which will trap to the
hypervisor;maybe
I had totally missed the point?)