Valid Hypercall Environments
Guest operating system can call hypercalls only from the most privileged processor mode. In the case of x64-based systems, the most privileged processor mode is the protected mode with a current privilege level (CPL) of zero. Although real-mode code runs with an effective CPL of zero, hypercalls are not allowed in real mode. If the operating system tries to call a hypercall in an invalid processor mode, the hypervisor will generate an undefined-operation (#UD) exception.
All hypercalls should be called through the architecturally-defined hypercall interface. For more information about discovering and establishing this interface, see Establishing the Hypercall Interface. An attempt to call a hypercall by any other means (for example, copying the code from the hypercall code page to an alternate location and executing it from there) might result in an undefined-operation (#UD) exception. The hypervisor is not guaranteed to generate this exception.
Send comments about this topic to Microsoft
Build date: 11/16/2013