summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/kvm-asm-offsets.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2022-11-08 09:44:53 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2022-11-09 12:10:17 -0500
commitdebc5a1ec0d195ffea70d11efeffb713de9fdbc7 (patch)
treec80a687469c6947e0087f37d5c44ee090d8a5fa1 /arch/x86/kvm/kvm-asm-offsets.c
parentf4298cac2bfcced49ab308756dc8fef684f3da81 (diff)
downloadlinux-debc5a1ec0d195ffea70d11efeffb713de9fdbc7.tar.gz
linux-debc5a1ec0d195ffea70d11efeffb713de9fdbc7.tar.bz2
linux-debc5a1ec0d195ffea70d11efeffb713de9fdbc7.zip
KVM: x86: use a separate asm-offsets.c file
This already removes an ugly #include "" from asm-offsets.c, but especially it avoids a future error when trying to define asm-offsets for KVM's svm/svm.h header. This would not work for kernel/asm-offsets.c, because svm/svm.h includes kvm_cache_regs.h which is not in the include path when compiling asm-offsets.c. The problem is not there if the .c file is in arch/x86/kvm. Suggested-by: Sean Christopherson <seanjc@google.com> Cc: stable@vger.kernel.org Fixes: a149180fbcf3 ("x86: Add magic AMD return-thunk") Reviewed-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm/kvm-asm-offsets.c')
-rw-r--r--arch/x86/kvm/kvm-asm-offsets.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/x86/kvm/kvm-asm-offsets.c b/arch/x86/kvm/kvm-asm-offsets.c
new file mode 100644
index 000000000000..9d84f2b32d7f
--- /dev/null
+++ b/arch/x86/kvm/kvm-asm-offsets.c
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Generate definitions needed by assembly language modules.
+ * This code generates raw asm output which is post-processed to extract
+ * and format the required data.
+ */
+#define COMPILE_OFFSETS
+
+#include <linux/kbuild.h>
+#include "vmx/vmx.h"
+
+static void __used common(void)
+{
+ if (IS_ENABLED(CONFIG_KVM_INTEL)) {
+ BLANK();
+ OFFSET(VMX_spec_ctrl, vcpu_vmx, spec_ctrl);
+ }
+}