162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Generate definitions needed by assembly language modules. 462306a36Sopenharmony_ci * This code generates raw asm output which is post-processed to extract 562306a36Sopenharmony_ci * and format the required data. 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci#define COMPILE_OFFSETS 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <linux/kbuild.h> 1062306a36Sopenharmony_ci#include "vmx/vmx.h" 1162306a36Sopenharmony_ci#include "svm/svm.h" 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cistatic void __used common(void) 1462306a36Sopenharmony_ci{ 1562306a36Sopenharmony_ci if (IS_ENABLED(CONFIG_KVM_AMD)) { 1662306a36Sopenharmony_ci BLANK(); 1762306a36Sopenharmony_ci OFFSET(SVM_vcpu_arch_regs, vcpu_svm, vcpu.arch.regs); 1862306a36Sopenharmony_ci OFFSET(SVM_current_vmcb, vcpu_svm, current_vmcb); 1962306a36Sopenharmony_ci OFFSET(SVM_spec_ctrl, vcpu_svm, spec_ctrl); 2062306a36Sopenharmony_ci OFFSET(SVM_vmcb01, vcpu_svm, vmcb01); 2162306a36Sopenharmony_ci OFFSET(KVM_VMCB_pa, kvm_vmcb_info, pa); 2262306a36Sopenharmony_ci OFFSET(SD_save_area_pa, svm_cpu_data, save_area_pa); 2362306a36Sopenharmony_ci } 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci if (IS_ENABLED(CONFIG_KVM_INTEL)) { 2662306a36Sopenharmony_ci BLANK(); 2762306a36Sopenharmony_ci OFFSET(VMX_spec_ctrl, vcpu_vmx, spec_ctrl); 2862306a36Sopenharmony_ci } 2962306a36Sopenharmony_ci} 30