aboutsummaryrefslogtreecommitdiffstats
path: root/target-i386/kvm-gs-restore.h
diff options
context:
space:
mode:
authorJun Nakajima <jun.nakajima@intel.com>2011-05-27 18:24:21 -0700
committerJun Nakajima <jun.nakajima@intel.com>2011-05-27 18:24:21 -0700
commitbb0140b925cb2adce03ebc0885067ea3bfd19a20 (patch)
tree1e5cb53ab8a3cf8da339498754e1a7eda80cb039 /target-i386/kvm-gs-restore.h
parentbd03068d5d287ec638bc834d04f85b4e49404db5 (diff)
downloadexternal_qemu-bb0140b925cb2adce03ebc0885067ea3bfd19a20.zip
external_qemu-bb0140b925cb2adce03ebc0885067ea3bfd19a20.tar.gz
external_qemu-bb0140b925cb2adce03ebc0885067ea3bfd19a20.tar.bz2
x86: Workaorund for the KVM GS_BASE MSR save/restore issue.
In some versions of the kvm module in Ubuntu, the host's GS_BASE MSR is not save/restored correctly when running guests on 64-bit hosts if the qemu/emulator is 32-bit. This patch implements a workaround in the emulator code. Change-Id: If3ebe3cb49f377c5d0547c75f6ac3a3ceacdc375 Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com> Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Diffstat (limited to 'target-i386/kvm-gs-restore.h')
-rw-r--r--target-i386/kvm-gs-restore.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/target-i386/kvm-gs-restore.h b/target-i386/kvm-gs-restore.h
new file mode 100644
index 0000000..0947b33
--- /dev/null
+++ b/target-i386/kvm-gs-restore.h
@@ -0,0 +1,12 @@
+#ifndef _KVM_GS_RESTORE_H
+#define _KVM_GS_RESTORE_H
+
+#ifdef CONFIG_KVM_GS_RESTORE
+int no_gs_ioctl(int fd, int type, void *arg);
+int gs_base_post_run(void);
+int gs_base_pre_run(void);
+extern int gs_need_restore;
+#define KVM_GS_RESTORE_NO 0x2
+#endif
+
+#endif