MCPcopy Create free account
hub / github.com/F-Stack/f-stack / svm_save_intinfo

Function svm_save_intinfo

freebsd/amd64/vmm/amd/svm.c:988–1009  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

986}
987
988static void
989svm_save_intinfo(struct svm_softc *svm_sc, int vcpu)
990{
991 struct vmcb_ctrl *ctrl;
992 uint64_t intinfo;
993
994 ctrl = svm_get_vmcb_ctrl(svm_sc, vcpu);
995 intinfo = ctrl->exitintinfo;
996 if (!VMCB_EXITINTINFO_VALID(intinfo))
997 return;
998
999 /*
1000 * From APMv2, Section "Intercepts during IDT interrupt delivery"
1001 *
1002 * If a #VMEXIT happened during event delivery then record the event
1003 * that was being delivered.
1004 */
1005 VCPU_CTR2(svm_sc->vm, vcpu, "SVM:Pending INTINFO(0x%lx), vector=%d.\n",
1006 intinfo, VMCB_EXITINTINFO_VECTOR(intinfo));
1007 vmm_stat_incr(svm_sc->vm, vcpu, VCPU_EXITINTINFO, 1);
1008 vm_exit_intinfo(svm_sc->vm, vcpu, intinfo);
1009}
1010
1011#ifdef INVARIANTS
1012static __inline int

Callers 1

svm_vmexitFunction · 0.85

Calls 3

svm_get_vmcb_ctrlFunction · 0.85
vmm_stat_incrFunction · 0.85
vm_exit_intinfoFunction · 0.85

Tested by

no test coverage detected