aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2017-08-19 22:54:20 +0200
committerWill Deacon <will.deacon@arm.com>2017-08-30 09:42:38 +0100
commit1cc05b24bfe0211bb408f3264af8e0c42dcdde9c (patch)
tree15d0de9bf659d4ac1f7050b9ce5ba4e73561dedc
parentcc874a2246b847b9f8839301da7806b5a35a230f (diff)
downloadkvmtool-1cc05b24bfe0211bb408f3264af8e0c42dcdde9c.tar.gz
x86/kvm-cpu.c: don't include <asm/msr-index.h>
Since kernel commit 25dc1d6cc3082aab293e5dad47623b550f7ddd2a ("x86: stop exporting msr-index.h to userland"), <asm/msr-index.h> is no longer exported to userspace. Therefore, any toolchain built with kernel headers >= 4.12 will no longer have this header file, causing a build failure in kvmtool. As a replacement, this patch includes inside x86/kvm-cpu.c the necessary MSR_* definitions. Reviewed-by: Riku Voipio <riku.voipio@linaro.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
-rw-r--r--x86/kvm-cpu.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/x86/kvm-cpu.c b/x86/kvm-cpu.c
index 5cc4e1e5..b02ff65e 100644
--- a/x86/kvm-cpu.c
+++ b/x86/kvm-cpu.c
@@ -4,7 +4,6 @@
#include "kvm/util.h"
#include "kvm/kvm.h"
-#include <asm/msr-index.h>
#include <asm/apicdef.h>
#include <linux/err.h>
#include <sys/ioctl.h>
@@ -136,6 +135,22 @@ static struct kvm_msrs *kvm_msrs__new(size_t nmsrs)
return vcpu;
}
+#define MSR_IA32_SYSENTER_CS 0x00000174
+#define MSR_IA32_SYSENTER_ESP 0x00000175
+#define MSR_IA32_SYSENTER_EIP 0x00000176
+
+#define MSR_STAR 0xc0000081 /* legacy mode SYSCALL target */
+#define MSR_LSTAR 0xc0000082 /* long mode SYSCALL target */
+#define MSR_CSTAR 0xc0000083 /* compat mode SYSCALL target */
+#define MSR_SYSCALL_MASK 0xc0000084 /* EFLAGS mask for syscall */
+#define MSR_KERNEL_GS_BASE 0xc0000102 /* SwapGS GS shadow */
+
+#define MSR_IA32_TSC 0x00000010
+#define MSR_IA32_MISC_ENABLE 0x000001a0
+
+#define MSR_IA32_MISC_ENABLE_FAST_STRING_BIT 0
+#define MSR_IA32_MISC_ENABLE_FAST_STRING (1ULL << MSR_IA32_MISC_ENABLE_FAST_STRING_BIT)
+
#define KVM_MSR_ENTRY(_index, _data) \
(struct kvm_msr_entry) { .index = _index, .data = _data }