This patch set is part-4 of this RFC patches. It contains patches for misc functionalities including supporting of VPID, debug and NMI handling. Enable VPID for host VM in pKVM if the platform supports it, which improve VMX transition overhead. Add tmp debug method for pKVM by allowing access Linux printk. Add nmi support in pKVM, which will record nmi happened in root mode then inject to host VM when vmenter. This ensure physical nmi will not be lost. Chuanxiao Dong (1): pkvm: x86: Handle pending nmi in pKVM runtime Jason Chen CJ (3): pkvm: x86: Enable VPID for host VM pkvm: x86: Add pKVM debug support pkvm: x86: Support get_pcpu_id arch/x86/include/asm/pkvm_image.h | 2 +- arch/x86/include/asm/pkvm_image_vars.h | 4 ++ arch/x86/kvm/Kconfig | 8 +++ arch/x86/kvm/vmx/pkvm/hyp/Makefile | 10 ++- arch/x86/kvm/vmx/pkvm/hyp/cpu.h | 30 ++++++++ arch/x86/kvm/vmx/pkvm/hyp/debug.h | 7 ++ arch/x86/kvm/vmx/pkvm/hyp/idt.S | 67 ++++++++++++++++++ arch/x86/kvm/vmx/pkvm/hyp/init_finalise.c | 28 +++++++- arch/x86/kvm/vmx/pkvm/hyp/irq.c | 60 ++++++++++++++++ arch/x86/kvm/vmx/pkvm/hyp/mmu.c | 21 ++++++ arch/x86/kvm/vmx/pkvm/hyp/mmu.h | 6 ++ arch/x86/kvm/vmx/pkvm/hyp/vmexit.c | 26 +++++++ arch/x86/kvm/vmx/pkvm/hyp/vmx.h | 5 ++ arch/x86/kvm/vmx/pkvm/include/pkvm.h | 6 ++ arch/x86/kvm/vmx/pkvm/pkvm_host.c | 83 ++++++++++++++++++++--- virt/kvm/pkvm/pkvm.c | 6 +- 16 files changed, 352 insertions(+), 17 deletions(-) create mode 100644 arch/x86/kvm/vmx/pkvm/hyp/cpu.h create mode 100644 arch/x86/kvm/vmx/pkvm/hyp/idt.S create mode 100644 arch/x86/kvm/vmx/pkvm/hyp/irq.c -- 2.25.1