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 cd692f8fb764..207f44cb86d9 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 1d0d94f000f7..d1e736e1f06f 100644 --- a/arch/s390/kvm/s390/s390.c +++ b/arch/s390/kvm/s390/s390.c @@ -5868,6 +5868,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