[00/13] KVM: PPC: Paravirtualize KVM to support Ultravisor
mbox series

Message ID 1548172784-27414-1-git-send-email-linuxram@us.ibm.com
Headers show
Series
  • KVM: PPC: Paravirtualize KVM to support Ultravisor
Related show

Message

Ram Pai Jan. 22, 2019, 3:59 p.m. UTC
Power9 supports a new feature called Protected Execution Facility; also
known as Secure Memory Facility.

This feature enables a higher privileged execution mode called Ultravisor mode.
When enabled, Hypervisor can access some system resources only through
Ultravisor using ucalls. Paravirtualize the hypervisor to use the services of
the Ultravisor.  The PEF along with the Paravirtualized hypervisor and the
Ultravisor, enables Secure Virtual Machines.


Anshuman Khandual (1):
  KVM: PPC: Ultravisor: Add PPC_KVM_UV config option

Michael Anderson (2):
  KVM: PPC: Ultravisor: Use UV_WRITE_PATE ucall to register a PATE
  KVM: PPC: Ultravisor: Check for MSR_S during hv_reset_msr

Paul Mackerras (1):
  KVM: PPC: Book3S HV: Fixed for running secure guests

Ram Pai (6):
  KVM: PPC: Ultravisor: generic ucall handler plpar_ucall()
  KVM: PPC: Ultravisor: Include ultravisor header file.
  KVM: PPC: Ultravisor: Flush partition tlb cache, only if smf is not
    enabled.
  KVM: PPC: Ultravisor: UV_RESTRICTED_SPR_WRITE ucall
  KVM: PPC: Ultravisor: UV_RESTRICTED_SPR_READ ucall
  KVM: PPC: Ultravisor: fix mtspr and mfspr

Sukadev Bhattiprolu (3):
  KVM: PPC: Ultravisor: Introduce the MSR_S bit
  KVM: PPC: Ultravisor: Return to UV for hcalls from SVM
  KVM: PPC: Ultravisor: Have fast_guest_return check secure_guest

 arch/powerpc/Kconfig                        | 18 +++++++++
 arch/powerpc/include/asm/kvm_host.h         |  1 +
 arch/powerpc/include/asm/reg.h              | 33 +++++++++++++---
 arch/powerpc/include/asm/ucall-api.h        | 58 +++++++++++++++++++++++++++
 arch/powerpc/include/uapi/asm/uapi_uvcall.h | 15 +++++++
 arch/powerpc/kernel/asm-offsets.c           |  1 +
 arch/powerpc/kernel/paca.c                  |  4 +-
 arch/powerpc/kvm/book3s_64_mmu_hv.c         |  1 +
 arch/powerpc/kvm/book3s_hv_rmhandlers.S     | 38 +++++++++++++++---
 arch/powerpc/mm/hash_utils_64.c             |  4 +-
 arch/powerpc/mm/pgtable-book3s64.c          | 61 ++++++++++++++++++++++-------
 arch/powerpc/mm/pgtable-radix.c             | 10 +++--
 arch/powerpc/oprofile/op_model_pa6t.c       |  4 +-
 arch/powerpc/perf/core-book3s.c             |  8 ++--
 arch/powerpc/platforms/powernv/Makefile     |  1 +
 arch/powerpc/platforms/powernv/uvCall.S     | 41 +++++++++++++++++++
 arch/powerpc/xmon/xmon.c                    | 58 ++++++++++++++-------------
 17 files changed, 290 insertions(+), 66 deletions(-)
 create mode 100644 arch/powerpc/include/asm/ucall-api.h
 create mode 100644 arch/powerpc/include/uapi/asm/uapi_uvcall.h
 create mode 100644 arch/powerpc/platforms/powernv/uvCall.S

Comments

Ram Pai Jan. 22, 2019, 4:06 p.m. UTC | #1
On Tue, Jan 22, 2019 at 07:59:31AM -0800, Ram Pai wrote:
> Power9 supports a new feature called Protected Execution Facility; also
> known as Secure Memory Facility.
> 
> This feature enables a higher privileged execution mode called Ultravisor mode.
> When enabled, Hypervisor can access some system resources only through
> Ultravisor using ucalls. Paravirtualize the hypervisor to use the services of
> the Ultravisor.  The PEF along with the Paravirtualized hypervisor and the
> Ultravisor, enables Secure Virtual Machines.

Forgot to add RFC tag to these patches. Yes, requesting your comments.

Thanks,
RP