aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/kvm/svm.c6
-rw-r--r--drivers/kvm/svm.h6
2 files changed, 11 insertions, 1 deletions
diff --git a/drivers/kvm/svm.c b/drivers/kvm/svm.c
index ddc0505c337..0542d3357ce 100644
--- a/drivers/kvm/svm.c
+++ b/drivers/kvm/svm.c
@@ -511,7 +511,9 @@ static void init_vmcb(struct vmcb *vmcb)
511 (1ULL << INTERCEPT_VMSAVE) | 511 (1ULL << INTERCEPT_VMSAVE) |
512 (1ULL << INTERCEPT_STGI) | 512 (1ULL << INTERCEPT_STGI) |
513 (1ULL << INTERCEPT_CLGI) | 513 (1ULL << INTERCEPT_CLGI) |
514 (1ULL << INTERCEPT_SKINIT); 514 (1ULL << INTERCEPT_SKINIT) |
515 (1ULL << INTERCEPT_MONITOR) |
516 (1ULL << INTERCEPT_MWAIT);
515 517
516 control->iopm_base_pa = iopm_base; 518 control->iopm_base_pa = iopm_base;
517 control->msrpm_base_pa = msrpm_base; 519 control->msrpm_base_pa = msrpm_base;
@@ -1292,6 +1294,8 @@ static int (*svm_exit_handlers[])(struct kvm_vcpu *vcpu,
1292 [SVM_EXIT_STGI] = invalid_op_interception, 1294 [SVM_EXIT_STGI] = invalid_op_interception,
1293 [SVM_EXIT_CLGI] = invalid_op_interception, 1295 [SVM_EXIT_CLGI] = invalid_op_interception,
1294 [SVM_EXIT_SKINIT] = invalid_op_interception, 1296 [SVM_EXIT_SKINIT] = invalid_op_interception,
1297 [SVM_EXIT_MONITOR] = invalid_op_interception,
1298 [SVM_EXIT_MWAIT] = invalid_op_interception,
1295}; 1299};
1296 1300
1297 1301
diff --git a/drivers/kvm/svm.h b/drivers/kvm/svm.h
index df731c3fb58..5e93814400c 100644
--- a/drivers/kvm/svm.h
+++ b/drivers/kvm/svm.h
@@ -44,6 +44,9 @@ enum {
44 INTERCEPT_RDTSCP, 44 INTERCEPT_RDTSCP,
45 INTERCEPT_ICEBP, 45 INTERCEPT_ICEBP,
46 INTERCEPT_WBINVD, 46 INTERCEPT_WBINVD,
47 INTERCEPT_MONITOR,
48 INTERCEPT_MWAIT,
49 INTERCEPT_MWAIT_COND,
47}; 50};
48 51
49 52
@@ -298,6 +301,9 @@ struct __attribute__ ((__packed__)) vmcb {
298#define SVM_EXIT_RDTSCP 0x087 301#define SVM_EXIT_RDTSCP 0x087
299#define SVM_EXIT_ICEBP 0x088 302#define SVM_EXIT_ICEBP 0x088
300#define SVM_EXIT_WBINVD 0x089 303#define SVM_EXIT_WBINVD 0x089
304#define SVM_EXIT_MONITOR 0x08a
305#define SVM_EXIT_MWAIT 0x08b
306#define SVM_EXIT_MWAIT_COND 0x08c
301#define SVM_EXIT_NPF 0x400 307#define SVM_EXIT_NPF 0x400
302 308
303#define SVM_EXIT_ERR -1 309#define SVM_EXIT_ERR -1