MCPcopy Create free account
hub / github.com/HoShiMin/Kernel-Bridge / VmxRelatedHandler

Function VmxRelatedHandler

Kernel-Bridge/API/Hypervisor.cpp:2455–2468  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2453 _IRQL_requires_same_
2454 _IRQL_requires_min_(DISPATCH_LEVEL)
2455 static VMM_STATUS VmxRelatedHandler(__inout PRIVATE_VM_DATA* Private, __inout GUEST_CONTEXT* Context, unsigned long long Rip, __inout_opt bool& RepeatInstruction)
2456 {
2457 UNREFERENCED_PARAMETER(Private);
2458 UNREFERENCED_PARAMETER(Context);
2459 UNREFERENCED_PARAMETER(Rip);
2460 UNREFERENCED_PARAMETER(RepeatInstruction);
2461
2462 RFLAGS Rflags = {};
2463 Rflags.Value = vmread(VMX::VMCS_FIELD_GUEST_RFLAGS);
2464 Rflags.Bitmap.Eflags.Bitmap.CF = TRUE;
2465 __vmx_vmwrite(VMX::VMCS_FIELD_GUEST_RFLAGS, Rflags.Value);
2466
2467 return VMM_STATUS::VMM_CONTINUE;
2468 }
2469
2470 // It is large enough to contain all possible handlers (the last handler has number 68 (EXIT_REASON_TPAUSE)):
2471 static FnVmexitHandler HandlersTable[72] = {};

Callers

nothing calls this directly

Calls 1

vmreadFunction · 0.85

Tested by

no test coverage detected