2. the hypercall page is defined by hypercall api and that hypercall page contains the vmexit calls.
3. when guest os issues syscall an hypercall is perfomed by the hypercall page and vmexit operation is peformed
4. the vmx_vmexit_handler(struct cpu_user_regs *regs) (vmx.c) is invoked to emulate the hypercall.
I would like to ask is this flow is right? Is there somethingimportant missing?
I would like to ask how the vmx_vmexit_handler is invoked - may be on hardware level or there is some other party at the flow?