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

Function vm_cpuid_capability

freebsd/amd64/vmm/x86.c:619–648  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

617}
618
619bool
620vm_cpuid_capability(struct vm *vm, int vcpuid, enum vm_cpuid_capability cap)
621{
622 bool rv;
623
624 KASSERT(cap > 0 && cap < VCC_LAST, ("%s: invalid vm_cpu_capability %d",
625 __func__, cap));
626
627 /*
628 * Simply passthrough the capabilities of the host cpu for now.
629 */
630 rv = false;
631 switch (cap) {
632 case VCC_NO_EXECUTE:
633 if (amd_feature & AMDID_NX)
634 rv = true;
635 break;
636 case VCC_FFXSR:
637 if (amd_feature & AMDID_FFXSR)
638 rv = true;
639 break;
640 case VCC_TCE:
641 if (amd_feature2 & AMDID2_TCE)
642 rv = true;
643 break;
644 default:
645 panic("%s: unknown vm_cpu_capability %d", __func__, cap);
646 }
647 return (rv);
648}

Callers 1

svm_write_eferFunction · 0.50

Calls 1

panicFunction · 0.50

Tested by

no test coverage detected