The second KVM module will have a different Kconfig set. When both modules are compiled the Kconfig sets get merged and the native s390 KVM needs to implement functionality required by the respective config options. Ensure that s390-KVM will still compile by implementing a stub for kvm_arch_vcpu_run_pid_change if CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE is enabled and defining KVM_NO_MMIO to disable KVM_MMIO. Signed-off-by: Steffen Eiden --- arch/s390/include/asm/kvm_host_s390.h | 1 + arch/s390/kvm/s390/s390.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/arch/s390/include/asm/kvm_host_s390.h b/arch/s390/include/asm/kvm_host_s390.h index cfd95df60130..c753dc816b02 100644 --- a/arch/s390/include/asm/kvm_host_s390.h +++ b/arch/s390/include/asm/kvm_host_s390.h @@ -29,6 +29,7 @@ #define KVM_HAVE_MMU_RWLOCK #define KVM_MAX_VCPUS 255 +#define KVM_NO_MMIO #define KVM_INTERNAL_MEM_SLOTS 1 diff --git a/arch/s390/kvm/s390/s390.c b/arch/s390/kvm/s390/s390.c index 87d4b25bc849..0e43754d9cf5 100644 --- a/arch/s390/kvm/s390/s390.c +++ b/arch/s390/kvm/s390/s390.c @@ -5829,6 +5829,14 @@ bool kvm_unmap_gfn_range(struct kvm *kvm, struct kvm_gfn_range *range) return gmap_unmap_gfn_range(kvm->arch.gmap, range->slot, range->start, range->end); } +#ifdef CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE +/* Make s390 compile if arm64-on-s390 is selected */ +int kvm_arch_vcpu_run_pid_change(struct kvm_vcpu *vcpu) +{ + return 0; +} +#endif /* CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE */ + static inline unsigned long nonhyp_mask(int i) { unsigned int nonhyp_fai = (sclp.hmfai << i * 2) >> 30; -- 2.53.0