Re: [PATCH v2] x86: svm: use cr_interception for SVM_EXIT_CR0_SEL_WRITE
On Fri, Mar 06, 2015 at 02:44:35PM -0600, Joel Schopp wrote: From: David Kaplan david.kap...@amd.com Another patch in my war on emulate_on_interception() use as a svm exit handler. These were pulled out of a larger patch at the suggestion of Radim Krcmar, see https://lkml.org/lkml/2015/2/25/559 Changes since v1: * fixed typo introduced after test, retested Signed-off-by: David Kaplan david.kap...@amd.com [separated out just cr_interception part from larger removal of INTERCEPT_CR0_WRITE, forward ported, tested] Signed-off-by: Joel Schopp joel.sch...@amd.com Applied, thanks. -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2] x86: svm: use cr_interception for SVM_EXIT_CR0_SEL_WRITE
2015-03-06 14:44-0600, Joel Schopp: From: David Kaplan david.kap...@amd.com Another patch in my war on emulate_on_interception() use as a svm exit handler. These were pulled out of a larger patch at the suggestion of Radim Krcmar, see https://lkml.org/lkml/2015/2/25/559 Changes since v1: * fixed typo introduced after test, retested Signed-off-by: David Kaplan david.kap...@amd.com [separated out just cr_interception part from larger removal of INTERCEPT_CR0_WRITE, forward ported, tested] Signed-off-by: Joel Schopp joel.sch...@amd.com --- (Existing nested handling is tangled, but looks like everything works,) Reviewed-by: Radim Krčmář rkrc...@redhat.com Thanks. -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2] x86: svm: use cr_interception for SVM_EXIT_CR0_SEL_WRITE
From: David Kaplan david.kap...@amd.com Another patch in my war on emulate_on_interception() use as a svm exit handler. These were pulled out of a larger patch at the suggestion of Radim Krcmar, see https://lkml.org/lkml/2015/2/25/559 Changes since v1: * fixed typo introduced after test, retested Signed-off-by: David Kaplan david.kap...@amd.com [separated out just cr_interception part from larger removal of INTERCEPT_CR0_WRITE, forward ported, tested] Signed-off-by: Joel Schopp joel.sch...@amd.com --- arch/x86/kvm/svm.c |7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index d319e0c..16ad05b 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -2940,7 +2940,10 @@ static int cr_interception(struct vcpu_svm *svm) return emulate_on_interception(svm); reg = svm-vmcb-control.exit_info_1 SVM_EXITINFO_REG_MASK; - cr = svm-vmcb-control.exit_code - SVM_EXIT_READ_CR0; + if (svm-vmcb-control.exit_code == SVM_EXIT_CR0_SEL_WRITE) + cr = SVM_EXIT_WRITE_CR0 - SVM_EXIT_READ_CR0; + else + cr = svm-vmcb-control.exit_code - SVM_EXIT_READ_CR0; err = 0; if (cr = 16) { /* mov to cr */ @@ -3325,7 +3328,7 @@ static int (*const svm_exit_handlers[])(struct vcpu_svm *svm) = { [SVM_EXIT_READ_CR3] = cr_interception, [SVM_EXIT_READ_CR4] = cr_interception, [SVM_EXIT_READ_CR8] = cr_interception, - [SVM_EXIT_CR0_SEL_WRITE]= emulate_on_interception, + [SVM_EXIT_CR0_SEL_WRITE]= cr_interception, [SVM_EXIT_WRITE_CR0]= cr_interception, [SVM_EXIT_WRITE_CR3]= cr_interception, [SVM_EXIT_WRITE_CR4]= cr_interception, -- To unsubscribe from this list: send the line unsubscribe kvm in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html