diff options
Diffstat (limited to 'usr/src/lib/libvmmapi')
-rw-r--r-- | usr/src/lib/libvmmapi/common/vmmapi.c | 15 | ||||
-rw-r--r-- | usr/src/lib/libvmmapi/common/vmmapi.h | 3 |
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); |