Paolo, If you are intending to send a second pull request for Linus for this merge window, and you are OK with taking a new feature in PPC KVM code at this stage, then please do a pull from my kvm-ppc-uvmem-5.5 tag. This adds code to manage the movement of pages for a secure KVM guest between normal memory managed by the host kernel and secure memory managed by the ultravisor on Power systems with Protected Execution Facility hardware and firmware. Secure memory is not accessible to the host kernel and is represented as device memory using the ZONE_DEVICE facility. The patch set has been around for a while and has been reasonably well reviewed -- this branch contains v11 of the patch set. The code changes are confined to PPC KVM code with the exception of a one-line change to mm/ksm.c to export the ksm_madvise function, the addition of a new ioctl number in include/uapi/linux/kvm.h, and the addition of a Kconfig option in arch/powerpc/Kconfig (which Michael Ellerman is OK with). If you prefer not to pull this for 5.5 then we'll submit it for 5.6. Thanks, Paul. The following changes since commit 96710247298df52a4b8150a62a6fe87083093ff3: Merge tag 'kvm-ppc-next-5.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc into HEAD (2019-11-25 11:29:05 +0100) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc tags/kvm-ppc-uvmem-5.5 for you to fetch changes up to 177707824f27d258cf5e20f1a122570e3df011b4: powerpc: Ultravisor: Add PPC_UV config option (2019-11-26 14:33:27 +1100) ---------------------------------------------------------------- KVM: Add support for secure guests under the Protected Execution Framework (PEF) Ultravisor on POWER. This enables secure memory to be represented as device memory, which provides a way for the host to keep track of which pages of a secure guest have been moved into secure memory managed by the ultravisor and are no longer accessible by the host, and manage movement of pages between secure and normal memory. ---------------------------------------------------------------- Anshuman Khandual (1): powerpc: Ultravisor: Add PPC_UV config option Bharata B Rao (6): mm: ksm: Export ksm_madvise() KVM: PPC: Book3S HV: Support for running secure guests KVM: PPC: Book3S HV: Shared pages support for secure guests KVM: PPC: Book3S HV: Radix changes for secure guest KVM: PPC: Book3S HV: Handle memory plug/unplug to secure VM KVM: PPC: Book3S HV: Support reset of secure guest Documentation/virt/kvm/api.txt | 18 + arch/powerpc/Kconfig | 17 + arch/powerpc/include/asm/hvcall.h | 9 + arch/powerpc/include/asm/kvm_book3s_uvmem.h | 74 +++ arch/powerpc/include/asm/kvm_host.h | 6 + arch/powerpc/include/asm/kvm_ppc.h | 1 + arch/powerpc/include/asm/ultravisor-api.h | 6 + arch/powerpc/include/asm/ultravisor.h | 36 ++ arch/powerpc/kvm/Makefile | 3 + arch/powerpc/kvm/book3s_64_mmu_radix.c | 25 + arch/powerpc/kvm/book3s_hv.c | 143 +++++ arch/powerpc/kvm/book3s_hv_uvmem.c | 774 ++++++++++++++++++++++++++++ arch/powerpc/kvm/powerpc.c | 12 + include/uapi/linux/kvm.h | 1 + mm/ksm.c | 1 + 15 files changed, 1126 insertions(+) create mode 100644 arch/powerpc/include/asm/kvm_book3s_uvmem.h create mode 100644 arch/powerpc/kvm/book3s_hv_uvmem.c