mbox series

[GIT,PULL] Please pull my kvm-ppc-uvmem-5.5 tag

Message ID 20191126052455.GA2922@oak.ozlabs.ibm.com
State Superseded
Headers show
Series [GIT,PULL] Please pull my kvm-ppc-uvmem-5.5 tag | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc tags/kvm-ppc-uvmem-5.5

Message

Paul Mackerras Nov. 26, 2019, 5:24 a.m. UTC
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

Comments

Paul Mackerras Nov. 28, 2019, 4:56 a.m. UTC | #1
On Tue, Nov 26, 2019 at 04:24:55PM +1100, Paul Mackerras wrote:
> 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).

Please hold off on this.  Hugh Dickins sent some review comments
identifying a problem (ksm_madvise needs mmap_sem held for writing,
not just reading).  I'll send an updated pull request shortly.

Paul.