[PATCH v9 00/22] KVM: arm64: Fixed features for protected VMs
Marc Zyngier
maz at kernel.org
Wed Oct 13 05:03:35 PDT 2021
This is an update on Fuad's series[1].
Instead of going going back and forth over a series that has seen a
fair few versions, I've opted for simply writing a set of fixes on
top, hopefully greatly simplifying the handling of most registers, and
moving things around to suit my own taste (just because I can).
I won't be reposting the initial 11 patches, which is why this series
in is reply to patch 11.
Thanks,
M.
[1] https://lore.kernel.org/r/20211010145636.1950948-1-tabba@google.com
Fuad Tabba (8):
KVM: arm64: Pass struct kvm to per-EC handlers
KVM: arm64: Add missing field descriptor for MDCR_EL2
KVM: arm64: Simplify masking out MTE in feature id reg
KVM: arm64: Add handlers for protected VM System Registers
KVM: arm64: Initialize trap registers for protected VMs
KVM: arm64: Move sanitized copies of CPU features
KVM: arm64: Trap access to pVM restricted features
KVM: arm64: Handle protected guests at 32 bits
Marc Zyngier (14):
KVM: arm64: Move __get_fault_info() and co into their own include file
KVM: arm64: Don't include switch.h into nvhe/kvm-main.c
KVM: arm64: Move early handlers to per-EC handlers
KVM: arm64: Fix early exit ptrauth handling
KVM: arm64: pkvm: Use a single function to expose all id-regs
KVM: arm64: pkvm: Make the ERR/ERX*_EL1 registers RAZ/WI
KVM: arm64: pkvm: Drop AArch32-specific registers
KVM: arm64: pkvm: Drop sysregs that should never be routed to the host
KVM: arm64: pkvm: Handle GICv3 traps as required
KVM: arm64: pkvm: Preserve pending SError on exit from AArch32
KVM: arm64: pkvm: Consolidate include files
KVM: arm64: pkvm: Move kvm_handle_pvm_restricted around
KVM: arm64: pkvm: Pass vpcu instead of kvm to
kvm_get_exit_handler_array()
KVM: arm64: pkvm: Give priority to standard traps over pvm handling
arch/arm64/include/asm/kvm_arm.h | 1 +
arch/arm64/include/asm/kvm_asm.h | 1 +
arch/arm64/include/asm/kvm_host.h | 2 +
arch/arm64/include/asm/kvm_hyp.h | 5 +
arch/arm64/kvm/arm.c | 13 +
arch/arm64/kvm/hyp/include/hyp/fault.h | 75 +++
arch/arm64/kvm/hyp/include/hyp/switch.h | 235 ++++-----
.../arm64/kvm/hyp/include/nvhe/fixed_config.h | 200 +++++++
.../arm64/kvm/hyp/include/nvhe/trap_handler.h | 2 +
arch/arm64/kvm/hyp/nvhe/Makefile | 2 +-
arch/arm64/kvm/hyp/nvhe/hyp-main.c | 11 +-
arch/arm64/kvm/hyp/nvhe/mem_protect.c | 8 +-
arch/arm64/kvm/hyp/nvhe/pkvm.c | 185 +++++++
arch/arm64/kvm/hyp/nvhe/setup.c | 3 +
arch/arm64/kvm/hyp/nvhe/switch.c | 99 ++++
arch/arm64/kvm/hyp/nvhe/sys_regs.c | 487 ++++++++++++++++++
arch/arm64/kvm/hyp/vhe/switch.c | 16 +
arch/arm64/kvm/sys_regs.c | 10 +-
18 files changed, 1200 insertions(+), 155 deletions(-)
create mode 100644 arch/arm64/kvm/hyp/include/hyp/fault.h
create mode 100644 arch/arm64/kvm/hyp/include/nvhe/fixed_config.h
create mode 100644 arch/arm64/kvm/hyp/nvhe/pkvm.c
create mode 100644 arch/arm64/kvm/hyp/nvhe/sys_regs.c
--
2.30.2
More information about the linux-arm-kernel
mailing list