summaryrefslogtreecommitdiff
path: root/usr/src/lib/libvmmapi
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libvmmapi')
-rw-r--r--usr/src/lib/libvmmapi/common/vmmapi.c15
-rw-r--r--usr/src/lib/libvmmapi/common/vmmapi.h3
2 files changed, 9 insertions, 9 deletions
diff --git a/usr/src/lib/libvmmapi/common/vmmapi.c b/usr/src/lib/libvmmapi/common/vmmapi.c
index 7d3446a845..6d5145431e 100644
--- a/usr/src/lib/libvmmapi/common/vmmapi.c
+++ b/usr/src/lib/libvmmapi/common/vmmapi.c
@@ -772,17 +772,16 @@ vm_get_register_set(struct vmctx *ctx, int vcpu, unsigned int count,
}
int
-vm_run(struct vmctx *ctx, int vcpu, struct vm_exit *vmexit)
+vm_run(struct vmctx *ctx, int vcpu, const struct vm_entry *vm_entry,
+ struct vm_exit *vm_exit)
{
- int error;
- struct vm_run vmrun;
+ struct vm_entry entry;
- bzero(&vmrun, sizeof(vmrun));
- vmrun.cpuid = vcpu;
+ bcopy(vm_entry, &entry, sizeof (entry));
+ entry.cpuid = vcpu;
+ entry.exit_data = vm_exit;
- error = ioctl(ctx->fd, VM_RUN, &vmrun);
- bcopy(&vmrun.vm_exit, vmexit, sizeof(struct vm_exit));
- return (error);
+ return (ioctl(ctx->fd, VM_RUN, &entry));
}
int
diff --git a/usr/src/lib/libvmmapi/common/vmmapi.h b/usr/src/lib/libvmmapi/common/vmmapi.h
index 997267b8cc..4656f417b4 100644
--- a/usr/src/lib/libvmmapi/common/vmmapi.h
+++ b/usr/src/lib/libvmmapi/common/vmmapi.h
@@ -165,7 +165,8 @@ int vm_set_register_set(struct vmctx *ctx, int vcpu, unsigned int count,
const int *regnums, uint64_t *regvals);
int vm_get_register_set(struct vmctx *ctx, int vcpu, unsigned int count,
const int *regnums, uint64_t *regvals);
-int vm_run(struct vmctx *ctx, int vcpu, struct vm_exit *ret_vmexit);
+int vm_run(struct vmctx *ctx, int vcpu, const struct vm_entry *vm_entry,
+ struct vm_exit *vm_exit);
int vm_suspend(struct vmctx *ctx, enum vm_suspend_how how);
int vm_reinit(struct vmctx *ctx);
int vm_apicid2vcpu(struct vmctx *ctx, int apicid);