summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/svm.h
diff options
context:
space:
mode:
authorIzik Eidus <izike@qumranet.com>2008-03-24 23:14:53 +0200
committerAvi Kivity <avi@qumranet.com>2008-04-27 12:00:39 +0300
commit37817f2982d0f559f90cecc66e150dd9d2c2df05 (patch)
tree45114b5720d7a13bdbe48cc6a75dc6de03d6fcd2 /arch/x86/kvm/svm.h
parent2e4d2653497856b102c90153f970c9e344ba96c6 (diff)
downloadop-kernel-dev-37817f2982d0f559f90cecc66e150dd9d2c2df05.zip
op-kernel-dev-37817f2982d0f559f90cecc66e150dd9d2c2df05.tar.gz
KVM: x86: hardware task switching support
This emulates the x86 hardware task switch mechanism in software, as it is unsupported by either vmx or svm. It allows operating systems which use it, like freedos, to run as kvm guests. Signed-off-by: Izik Eidus <izike@qumranet.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch/x86/kvm/svm.h')
-rw-r--r--arch/x86/kvm/svm.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kvm/svm.h b/arch/x86/kvm/svm.h
index 5fd5049..1b8afa7 100644
--- a/arch/x86/kvm/svm.h
+++ b/arch/x86/kvm/svm.h
@@ -238,6 +238,9 @@ struct __attribute__ ((__packed__)) vmcb {
#define SVM_EXITINTINFO_VALID SVM_EVTINJ_VALID
#define SVM_EXITINTINFO_VALID_ERR SVM_EVTINJ_VALID_ERR
+#define SVM_EXITINFOSHIFT_TS_REASON_IRET 36
+#define SVM_EXITINFOSHIFT_TS_REASON_JMP 38
+
#define SVM_EXIT_READ_CR0 0x000
#define SVM_EXIT_READ_CR3 0x003
#define SVM_EXIT_READ_CR4 0x004
OpenPOWER on IntegriCloud