nvmm_impl
(*nvmm_impl->fini)();
nvmm_impl = NULL;
(*nvmm_impl->vcpu_destroy)(mach, vcpu);
(*nvmm_impl->machine_destroy)(mach);
args->cap.state_size = nvmm_impl->state_size;
(*nvmm_impl->capability)(&args->cap);
(*nvmm_impl->machine_create)(mach);
(*nvmm_impl->vcpu_destroy)(mach, vcpu);
(*nvmm_impl->machine_destroy)(mach);
if (__predict_false(op >= nvmm_impl->mach_conf_max)) {
allocsz = nvmm_impl->mach_conf_sizes[op];
error = (*nvmm_impl->machine_configure)(mach, op, data);
error = (*nvmm_impl->vcpu_create)(mach, vcpu);
static const struct nvmm_impl *nvmm_impl_list[] = {
(*nvmm_impl->vcpu_destroy)(mach, vcpu);
if (__predict_false(op >= nvmm_impl->vcpu_conf_max))
allocsz = nvmm_impl->vcpu_conf_sizes[op];
error = (*nvmm_impl->vcpu_configure)(vcpu, op, data);
const struct nvmm_impl *nvmm_impl __read_mostly = NULL;
(*nvmm_impl->vcpu_setstate)(vcpu);
(*nvmm_impl->vcpu_getstate)(vcpu);
error = (*nvmm_impl->vcpu_inject)(vcpu);
ret = (*nvmm_impl->vcpu_run)(mach, vcpu, exit);
const struct nvmm_impl *
nvmm_impl = nvmm_ident();
if (nvmm_impl == NULL)
(*nvmm_impl->init)();
if (__predict_false(nvmm_impl == NULL))
os_printf("nvmm: attached, using backend %s\n", nvmm_impl->name);
extern const struct nvmm_impl nvmm_x86_svm;
extern const struct nvmm_impl nvmm_x86_vmx;
extern const struct nvmm_impl *nvmm_impl;
const struct nvmm_impl *nvmm_ident(void);
if (__predict_false(nvmm_impl == NULL))
nvmm_impl->name);
const struct nvmm_impl nvmm_x86_svm = {
const struct nvmm_impl nvmm_x86_vmx = {