1. 08 11月, 2021 2 次提交
    • R
      KVM: arm64: nvhe: Fix a non-kernel-doc comment · deacd669
      Randy Dunlap 提交于
      Do not use kernel-doc "/**" notation when the comment is not in
      kernel-doc format.
      
      Fixes this docs build warning:
      
      arch/arm64/kvm/hyp/nvhe/sys_regs.c:478: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
          * Handler for protected VM restricted exceptions.
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Reported-by: Nkernel test robot <lkp@intel.com>
      Cc: Fuad Tabba <tabba@google.com>
      Cc: Marc Zyngier <maz@kernel.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: kvmarm@lists.cs.columbia.edu
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      Link: https://lore.kernel.org/r/20211106032529.15057-1-rdunlap@infradead.org
      deacd669
    • M
      KVM: arm64: Extract ESR_ELx.EC only · 8bb08411
      Mark Rutland 提交于
      Since ARMv8.0 the upper 32 bits of ESR_ELx have been RES0, and recently
      some of the upper bits gained a meaning and can be non-zero. For
      example, when FEAT_LS64 is implemented, ESR_ELx[36:32] contain ISS2,
      which for an ST64BV or ST64BV0 can be non-zero. This can be seen in ARM
      DDI 0487G.b, page D13-3145, section D13.2.37.
      
      Generally, we must not rely on RES0 bit remaining zero in future, and
      when extracting ESR_ELx.EC we must mask out all other bits.
      
      All C code uses the ESR_ELx_EC() macro, which masks out the irrelevant
      bits, and therefore no alterations are required to C code to avoid
      consuming irrelevant bits.
      
      In a couple of places the KVM assembly extracts ESR_ELx.EC using LSR on
      an X register, and so could in theory consume previously RES0 bits. In
      both cases this is for comparison with EC values ESR_ELx_EC_HVC32 and
      ESR_ELx_EC_HVC64, for which the upper bits of ESR_ELx must currently be
      zero, but this could change in future.
      
      This patch adjusts the KVM vectors to use UBFX rather than LSR to
      extract ESR_ELx.EC, ensuring these are robust to future additions to
      ESR_ELx.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Cc: Alexandru Elisei <alexandru.elisei@arm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: James Morse <james.morse@arm.com>
      Cc: Marc Zyngier <maz@kernel.org>
      Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
      Cc: Will Deacon <will@kernel.org>
      Acked-by: NWill Deacon <will@kernel.org>
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      Link: https://lore.kernel.org/r/20211103110545.4613-1-mark.rutland@arm.com
      8bb08411
  2. 21 10月, 2021 3 次提交
  3. 19 10月, 2021 1 次提交
    • M
      Merge branch kvm-arm64/pkvm/fixed-features into kvmarm-master/next · be08c3cf
      Marc Zyngier 提交于
      * kvm-arm64/pkvm/fixed-features: (22 commits)
        : .
        : Add the pKVM fixed feature that allows a bunch of exceptions
        : to either be forbidden or be easily handled at EL2.
        : .
        KVM: arm64: pkvm: Give priority to standard traps over pvm handling
        KVM: arm64: pkvm: Pass vpcu instead of kvm to kvm_get_exit_handler_array()
        KVM: arm64: pkvm: Move kvm_handle_pvm_restricted around
        KVM: arm64: pkvm: Consolidate include files
        KVM: arm64: pkvm: Preserve pending SError on exit from AArch32
        KVM: arm64: pkvm: Handle GICv3 traps as required
        KVM: arm64: pkvm: Drop sysregs that should never be routed to the host
        KVM: arm64: pkvm: Drop AArch32-specific registers
        KVM: arm64: pkvm: Make the ERR/ERX*_EL1 registers RAZ/WI
        KVM: arm64: pkvm: Use a single function to expose all id-regs
        KVM: arm64: Fix early exit ptrauth handling
        KVM: arm64: Handle protected guests at 32 bits
        KVM: arm64: Trap access to pVM restricted features
        KVM: arm64: Move sanitized copies of CPU features
        KVM: arm64: Initialize trap registers for protected VMs
        KVM: arm64: Add handlers for protected VM System Registers
        KVM: arm64: Simplify masking out MTE in feature id reg
        KVM: arm64: Add missing field descriptor for MDCR_EL2
        KVM: arm64: Pass struct kvm to per-EC handlers
        KVM: arm64: Move early handlers to per-EC handlers
        ...
      Signed-off-by: NMarc Zyngier <maz@kernel.org>
      be08c3cf
  4. 18 10月, 2021 11 次提交
  5. 17 10月, 2021 23 次提交