diff options
| author | maxv <maxv@NetBSD.org> | 2018-12-13 16:28:10 +0000 |
|---|---|---|
| committer | maxv <maxv@NetBSD.org> | 2018-12-13 16:28:10 +0000 |
| commit | 359af47fec2896f28653e69f4d8b55debfd84f1d (patch) | |
| tree | eb0b09fe345a560016ef7cc64cdacd5ada2edaab /sys/dev | |
| parent | bbe2937638c8a2d7f1e0c6a9662515a46ed6fa7d (diff) | |
Don't forget to advance the RIP after an XSETBV emulation.
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/nvmm/x86/nvmm_x86_svm.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/nvmm/x86/nvmm_x86_svm.c b/sys/dev/nvmm/x86/nvmm_x86_svm.c index 5d385ab6c7f..d613ed2aee1 100644 --- a/sys/dev/nvmm/x86/nvmm_x86_svm.c +++ b/sys/dev/nvmm/x86/nvmm_x86_svm.c @@ -1,4 +1,4 @@ -/* $NetBSD: nvmm_x86_svm.c,v 1.6 2018/11/25 14:09:57 maxv Exp $ */ +/* $NetBSD: nvmm_x86_svm.c,v 1.7 2018/12/13 16:28:10 maxv Exp $ */ /* * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: nvmm_x86_svm.c,v 1.6 2018/11/25 14:09:57 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: nvmm_x86_svm.c,v 1.7 2018/12/13 16:28:10 maxv Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -963,6 +963,7 @@ svm_exit_xsetbv(struct nvmm_machine *mach, struct nvmm_cpu *vcpu, state->crs[NVMM_X64_CR_XCR0] = val; + cpudata->vmcb->state.rip = cpudata->vmcb->ctrl.nrip; return; error: |
