This series merges our three kvm modules kvm.ko, kvm-hv.ko and kvm-pr.ko into one kvm.ko module. The main reason for this is to deal with the issue that kvm.ko can be loaded on its own without any of the other modules present. This can happen if one or both of the modules fail to init or if the user loads kvm.ko only. With only kvm.ko loaded, the userspace can call any of the KVM ioctls which will fail more or less gracefully depending on what kind of verification we do in powerpc.c. Instead of adding a check to every entry point or finding a hack to link the modules so that when one fails (hv/pr), the other (kvm) exits, I think it is cleaner to just make them all a single module. The two KVM implementations are already selected by Kconfig options, so the only thing that changes is that they are now in the same module. I also kept kvm-hv and kvm-pr as aliases to kvm, so that people don't get too surprised with the change. There is a possible issue with the larger module size for kernel builds that should support both HV-only and PR-only environments, but PR is usually not used in production so I'm not sure if that is a real issue. Patches 1,2,3 are standalone cleanups. Patches 4,5 are the unification work. Fabiano Rosas (5): KVM: PPC: Book3S HV: Check return value of kvmppc_radix_init KVM: PPC: Book3S HV: Delay setting of kvm ops KVM: PPC: Book3S HV: Free allocated memory if module init fails KVM: PPC: Book3S: Unify kvm-hv and kvm-pr modules KVM: PPC: Book3S: Stop exporting non-builtin symbols arch/powerpc/configs/powernv_defconfig | 2 +- arch/powerpc/configs/ppc64_defconfig | 2 +- arch/powerpc/configs/pseries_defconfig | 2 +- arch/powerpc/kvm/Kconfig | 72 ++++++++++++-------------- arch/powerpc/kvm/Makefile | 11 ++-- arch/powerpc/kvm/book3s.c | 61 ++++++++++++++-------- arch/powerpc/kvm/book3s.h | 19 +++++++ arch/powerpc/kvm/book3s_64_mmu_radix.c | 3 -- arch/powerpc/kvm/book3s_64_vio.c | 3 -- arch/powerpc/kvm/book3s_hv.c | 38 ++++++++------ arch/powerpc/kvm/book3s_pr.c | 13 ----- arch/powerpc/kvm/book3s_rtas.c | 1 - arch/powerpc/kvm/book3s_xics.c | 4 -- arch/powerpc/kvm/book3s_xive.c | 6 --- arch/powerpc/kvm/emulate.c | 1 - arch/powerpc/kvm/powerpc.c | 14 ----- kernel/irq/irqdesc.c | 2 +- 17 files changed, 125 insertions(+), 129 deletions(-) -- 2.29.2