• Paolo Bonzini's avatar
    Merge tag 'kvmarm-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD · cc744042
    Paolo Bonzini authored
    KVM/arm64 updates for 6.5
    
     - Eager page splitting optimization for dirty logging, optionally
       allowing for a VM to avoid the cost of block splitting in the stage-2
       fault path.
    
     - Arm FF-A proxy for pKVM, allowing a pKVM host to safely interact with
       services that live in the Secure world. pKVM intervenes on FF-A calls
       to guarantee the host doesn't misuse memory donated to the hyp or a
       pKVM guest.
    
     - Support for running the split hypervisor with VHE enabled, known as
       'hVHE' mode. This is extremely useful for testing the split
       hypervisor on VHE-only systems, and paves the way for new use cases
       that depend on having two TTBRs available at EL2.
    
     - Generalized framework for configurable ID registers from userspace.
       KVM/arm64 currently prevents arbitrary CPU feature set configuration
       from userspace, but the intent is to relax this limitation and allow
       userspace to select a feature set consistent with the CPU.
    
     - Enable the use of Branch Target Identification (FEAT_BTI) in the
       hypervisor.
    
     - Use a separate set of pointer authentication keys for the hypervisor
       when running in protected mode, as the host is untrusted at runtime.
    
     - Ensure timer IRQs are consistently released in the init failure
       paths.
    
     - Avoid trapping CTR_EL0 on systems with Enhanced Virtualization Traps
       (FEAT_EVT), as it is a register commonly read from userspace.
    
     - Erratum workaround for the upcoming AmpereOne part, which has broken
       hardware A/D state management.
    
    As a consequence of the hVHE series reworking the arm64 software
    features framework, the for-next/module-alloc branch from the arm64 tree
    comes along for the ride.
    cc744042
switch.c 10.9 KB