Hello, Here's the rebase of KVM monolithic on 5.4-rc6 after improving the Kbuild as suggested in the v2 review. This should have corrected also the non-x86 KVM builds (not verified so it may not have full coverage yet, but I should have fixed all issues reported by kbot so far). The effect of the patchset is visible at the end of the below pdf. I dropped CPUID so the results are still an exact match only for the last two bench slides which are the only important ones in real life. https://people.redhat.com/~aarcange/slides/2019-KVM-monolithic.pdf https://git.kernel.org/pub/scm/linux/kernel/git/andrea/aa.git/log/?h=kvm-mono3 Andrea Arcangeli (13): KVM: monolithic: x86: remove kvm.ko KVM: monolithic: x86: convert the kvm_x86_ops and kvm_pmu_ops methods to external functions kvm: monolithic: fixup x86-32 build KVM: monolithic: x86: handle the request_immediate_exit variation KVM: monolithic: add more section prefixes KVM: monolithic: x86: remove __exit section prefix from machine_unsetup KVM: monolithic: x86: remove __init section prefix from kvm_x86_cpu_has_kvm_support KVM: monolithic: remove exports KVM: monolithic: x86: drop the kvm_pmu_ops structure KVM: x86: optimize more exit handlers in vmx.c KVM: retpolines: x86: eliminate retpoline from vmx.c exit handlers KVM: retpolines: x86: eliminate retpoline from svm.c exit handlers x86: retpolines: eliminate retpoline from msr event handlers arch/powerpc/kvm/book3s.c | 2 +- arch/x86/events/intel/core.c | 11 + arch/x86/include/asm/kvm_host.h | 210 ++++++++- arch/x86/kvm/Kconfig | 30 +- arch/x86/kvm/Makefile | 5 +- arch/x86/kvm/cpuid.c | 27 +- arch/x86/kvm/hyperv.c | 8 +- arch/x86/kvm/irq.c | 4 - arch/x86/kvm/irq_comm.c | 2 - arch/x86/kvm/kvm_cache_regs.h | 10 +- arch/x86/kvm/lapic.c | 46 +- arch/x86/kvm/mmu.c | 50 +- arch/x86/kvm/mmu.h | 4 +- arch/x86/kvm/mtrr.c | 2 - arch/x86/kvm/pmu.c | 27 +- arch/x86/kvm/pmu.h | 37 +- arch/x86/kvm/pmu_amd.c | 43 +- arch/x86/kvm/svm.c | 683 ++++++++++++++++----------- arch/x86/kvm/trace.h | 4 +- arch/x86/kvm/vmx/nested.c | 84 ++-- arch/x86/kvm/vmx/pmu_intel.c | 46 +- arch/x86/kvm/vmx/vmx.c | 807 ++++++++++++++++++-------------- arch/x86/kvm/vmx/vmx.h | 39 +- arch/x86/kvm/x86.c | 418 ++++++----------- arch/x86/kvm/x86.h | 2 +- include/linux/kvm_host.h | 8 +- virt/kvm/arm/arm.c | 2 +- virt/kvm/eventfd.c | 1 - virt/kvm/kvm_main.c | 70 +-- 29 files changed, 1440 insertions(+), 1242 deletions(-)