linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/6] kvmppc: HMM driver to manage pages of secure guest
@ 2019-05-28  6:49 Bharata B Rao
  2019-05-28  6:49 ` [PATCH v4 1/6] kvmppc: HMM backend " Bharata B Rao
                   ` (5 more replies)
  0 siblings, 6 replies; 16+ messages in thread
From: Bharata B Rao @ 2019-05-28  6:49 UTC (permalink / raw)
  To: linuxppc-dev
  Cc: kvm-ppc, linux-mm, paulus, aneesh.kumar, jglisse, linuxram,
	sukadev, cclaudio, Bharata B Rao

Hi,

A pseries guest can be run as a secure guest on Ultravisor-enabled
POWER platforms. On such platforms, this driver will be used to manage
the movement of guest pages between the normal memory managed by
hypervisor (HV) and secure memory managed by Ultravisor (UV).

Private ZONE_DEVICE memory equal to the amount of secure memory
available in the platform for running secure guests is created
via a HMM device. The movement of pages between normal and secure
memory is done by ->alloc_and_copy() callback routine of migrate_vma().

The page-in or page-out requests from UV will come to HV as hcalls and
HV will call back into UV via uvcalls to satisfy these page requests.

These patches apply and work on top of the base Ultravisor patches
posted by Claudio Carvalho at:
https://lists.ozlabs.org/pipermail/linuxppc-dev/2019-May/190694.html

In this version, the last two patches are the new additions.

Changes in v4
=============
- Handling HV side page invalidations by issuing UV_PAGE_INVAL ucall
- Handling HV side radix page faults by sending the page to UV
- Support for rebooting a secure guest
- Some cleanups and code reorgs

v3: https://lists.ozlabs.org/pipermail/linuxppc-dev/2019-January/184731.html

Bharata B Rao (6):
  kvmppc: HMM backend driver to manage pages of secure guest
  kvmppc: Shared pages support for secure guests
  kvmppc: H_SVM_INIT_START and H_SVM_INIT_DONE hcalls
  kvmppc: Handle memory plug/unplug to secure VM
  kvmppc: Radix changes for secure guest
  kvmppc: Support reset of secure guest

 arch/powerpc/include/asm/hvcall.h         |   9 +
 arch/powerpc/include/asm/kvm_book3s_hmm.h |  41 ++
 arch/powerpc/include/asm/kvm_host.h       |  37 ++
 arch/powerpc/include/asm/kvm_ppc.h        |   4 +
 arch/powerpc/include/asm/ultravisor-api.h |   6 +
 arch/powerpc/include/asm/ultravisor.h     |  47 ++
 arch/powerpc/kvm/Makefile                 |   3 +
 arch/powerpc/kvm/book3s_64_mmu_radix.c    |  19 +
 arch/powerpc/kvm/book3s_hv.c              |  69 +++
 arch/powerpc/kvm/book3s_hv_hmm.c          | 666 ++++++++++++++++++++++
 arch/powerpc/kvm/powerpc.c                |  12 +
 include/uapi/linux/kvm.h                  |   1 +
 tools/include/uapi/linux/kvm.h            |   1 +
 13 files changed, 915 insertions(+)
 create mode 100644 arch/powerpc/include/asm/kvm_book3s_hmm.h
 create mode 100644 arch/powerpc/kvm/book3s_hv_hmm.c

-- 
2.17.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2019-07-09 10:06 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-28  6:49 [PATCH v4 0/6] kvmppc: HMM driver to manage pages of secure guest Bharata B Rao
2019-05-28  6:49 ` [PATCH v4 1/6] kvmppc: HMM backend " Bharata B Rao
2019-06-17  5:31   ` Paul Mackerras
2019-07-09 10:03     ` Bharata B Rao
2019-05-28  6:49 ` [PATCH v4 2/6] kvmppc: Shared pages support for secure guests Bharata B Rao
2019-05-28  6:49 ` [PATCH v4 3/6] kvmppc: H_SVM_INIT_START and H_SVM_INIT_DONE hcalls Bharata B Rao
2019-06-17  5:37   ` Paul Mackerras
2019-07-09 10:04     ` Bharata B Rao
2019-06-18 23:05   ` Thiago Jung Bauermann
2019-07-09 10:05     ` Bharata B Rao
2019-05-28  6:49 ` [PATCH v4 4/6] kvmppc: Handle memory plug/unplug to secure VM Bharata B Rao
2019-06-17  5:38   ` Paul Mackerras
2019-05-28  6:49 ` [RFC PATCH v4 5/6] kvmppc: Radix changes for secure guest Bharata B Rao
2019-05-28  6:49 ` [RFC PATCH v4 6/6] kvmppc: Support reset of " Bharata B Rao
2019-06-17  4:06   ` Paul Mackerras
2019-07-09 10:06     ` Bharata B Rao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).