All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org
Cc: Mark Brown <broonie@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: Re: [PATCH 6.13 5/8] KVM: arm64: Remove VHE host restore of CPACR_EL1.SMEN
Date: Thu, 13 Mar 2025 08:31:43 -0400	[thread overview]
Message-ID: <20250313055353-c60b00d4feabc84e@stable.kernel.org> (raw)
In-Reply-To: <20250312-stable-sve-6-13-v1-5-c7ba07a6f4f7@kernel.org>

[ Sasha's backport helper bot ]

Hi,

✅ All tests passed successfully. No issues detected.
No action required from the submitter.

The upstream commit SHA1 provided is correct: 407a99c4654e8ea65393f412c421a55cac539f5b

WARNING: Author mismatch between patch and upstream commit:
Backport author: Mark Brown<broonie@kernel.org>
Commit author: Mark Rutland<mark.rutland@arm.com>

Note: The patch differs from the upstream commit:
---
1:  407a99c4654e8 ! 1:  f237b7994caf9 KVM: arm64: Remove VHE host restore of CPACR_EL1.SMEN
    @@ Metadata
      ## Commit message ##
         KVM: arm64: Remove VHE host restore of CPACR_EL1.SMEN
     
    +    [ Upstream commit 407a99c4654e8ea65393f412c421a55cac539f5b ]
    +
         When KVM is in VHE mode, the host kernel tries to save and restore the
         configuration of CPACR_EL1.SMEN (i.e. CPTR_EL2.SMEN when HCR_EL2.E2H=1)
         across kvm_arch_vcpu_load_fp() and kvm_arch_vcpu_put_fp(), since the
    @@ Commit message
         Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
         Link: https://lore.kernel.org/r/20250210195226.1215254-5-mark.rutland@arm.com
         Signed-off-by: Marc Zyngier <maz@kernel.org>
    +    [Update for rework of flags storage -- broonie]
    +    Signed-off-by: Mark Brown <broonie@kernel.org>
     
      ## arch/arm64/include/asm/kvm_host.h ##
    -@@ arch/arm64/include/asm/kvm_host.h: struct cpu_sve_state {
    - struct kvm_host_data {
    - #define KVM_HOST_DATA_FLAG_HAS_SPE			0
    - #define KVM_HOST_DATA_FLAG_HAS_TRBE			1
    --#define KVM_HOST_DATA_FLAG_HOST_SME_ENABLED		3
    - #define KVM_HOST_DATA_FLAG_TRBE_ENABLED			4
    - #define KVM_HOST_DATA_FLAG_EL1_TRACING_CONFIGURED	5
    - 	unsigned long flags;
    +@@ arch/arm64/include/asm/kvm_host.h: struct kvm_vcpu_arch {
    + /* Save TRBE context if active  */
    + #define DEBUG_STATE_SAVE_TRBE	__vcpu_single_flag(iflags, BIT(6))
    + 
    +-/* SME enabled for EL0 */
    +-#define HOST_SME_ENABLED	__vcpu_single_flag(sflags, BIT(1))
    + /* Physical CPU not in supported_cpus */
    + #define ON_UNSUPPORTED_CPU	__vcpu_single_flag(sflags, BIT(2))
    + /* WFIT instruction trapped */
     
      ## arch/arm64/kvm/fpsimd.c ##
     @@ arch/arm64/kvm/fpsimd.c: void kvm_arch_vcpu_load_fp(struct kvm_vcpu *vcpu)
    @@ arch/arm64/kvm/fpsimd.c: void kvm_arch_vcpu_load_fp(struct kvm_vcpu *vcpu)
      	*host_data_ptr(fp_owner) = FP_STATE_FREE;
      
     -	if (system_supports_sme()) {
    --		host_data_clear_flag(HOST_SME_ENABLED);
    +-		vcpu_clear_flag(vcpu, HOST_SME_ENABLED);
     -		if (read_sysreg(cpacr_el1) & CPACR_EL1_SMEN_EL0EN)
    --			host_data_set_flag(HOST_SME_ENABLED);
    +-			vcpu_set_flag(vcpu, HOST_SME_ENABLED);
     -	}
     -
      	/*
    @@ arch/arm64/kvm/fpsimd.c: void kvm_arch_vcpu_put_fp(struct kvm_vcpu *vcpu)
     -	 */
     -	if (has_vhe() && system_supports_sme()) {
     -		/* Also restore EL0 state seen on entry */
    --		if (host_data_test_flag(HOST_SME_ENABLED))
    --			sysreg_clear_set(CPACR_EL1, 0, CPACR_EL1_SMEN);
    +-		if (vcpu_get_flag(vcpu, HOST_SME_ENABLED))
    +-			sysreg_clear_set(CPACR_EL1, 0, CPACR_ELx_SMEN);
     -		else
     -			sysreg_clear_set(CPACR_EL1,
     -					 CPACR_EL1_SMEN_EL0EN,
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.13.y       |  Success    |  Success   |

  reply	other threads:[~2025-03-13 12:31 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-12 23:49 [PATCH 6.13 0/8] KVM: arm64: Backport of SVE fixes to v6.13 Mark Brown
2025-03-12 23:49 ` [PATCH 6.13 1/8] KVM: arm64: Calculate cptr_el2 traps on activating traps Mark Brown
2025-03-13 12:31   ` Sasha Levin
2025-03-13 16:09   ` Patch "KVM: arm64: Calculate cptr_el2 traps on activating traps" has been added to the 6.13-stable tree gregkh
2025-03-12 23:49 ` [PATCH 6.13 2/8] KVM: arm64: Unconditionally save+flush host FPSIMD/SVE/SME state Mark Brown
2025-03-13 12:31   ` Sasha Levin
2025-03-13 16:09   ` Patch "KVM: arm64: Unconditionally save+flush host FPSIMD/SVE/SME state" has been added to the 6.13-stable tree gregkh
2025-03-12 23:49 ` [PATCH 6.13 3/8] KVM: arm64: Remove host FPSIMD saving for non-protected KVM Mark Brown
2025-03-13 12:31   ` Sasha Levin
2025-03-13 16:09   ` Patch "KVM: arm64: Remove host FPSIMD saving for non-protected KVM" has been added to the 6.13-stable tree gregkh
2025-03-12 23:49 ` [PATCH 6.13 4/8] KVM: arm64: Remove VHE host restore of CPACR_EL1.ZEN Mark Brown
2025-03-13 12:31   ` Sasha Levin
2025-03-13 16:09   ` Patch "KVM: arm64: Remove VHE host restore of CPACR_EL1.ZEN" has been added to the 6.13-stable tree gregkh
2025-03-12 23:49 ` [PATCH 6.13 5/8] KVM: arm64: Remove VHE host restore of CPACR_EL1.SMEN Mark Brown
2025-03-13 12:31   ` Sasha Levin [this message]
2025-03-13 16:09   ` Patch "KVM: arm64: Remove VHE host restore of CPACR_EL1.SMEN" has been added to the 6.13-stable tree gregkh
2025-03-12 23:49 ` [PATCH 6.13 6/8] KVM: arm64: Refactor exit handlers Mark Brown
2025-03-13 12:31   ` Sasha Levin
2025-03-13 16:09   ` Patch "KVM: arm64: Refactor exit handlers" has been added to the 6.13-stable tree gregkh
2025-03-12 23:49 ` [PATCH 6.13 7/8] KVM: arm64: Mark some header functions as inline Mark Brown
2025-03-13 12:31   ` Sasha Levin
2025-03-13 16:09   ` Patch "KVM: arm64: Mark some header functions as inline" has been added to the 6.13-stable tree gregkh
2025-03-12 23:49 ` [PATCH 6.13 8/8] KVM: arm64: Eagerly switch ZCR_EL{1,2} Mark Brown
2025-03-13 12:31   ` Sasha Levin
2025-03-13 16:09   ` Patch "KVM: arm64: Eagerly switch ZCR_EL{1,2}" has been added to the 6.13-stable tree gregkh
2025-03-19 10:29   ` [PATCH 6.13 8/8] KVM: arm64: Eagerly switch ZCR_EL{1,2} Mark Rutland

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250313055353-c60b00d4feabc84e@stable.kernel.org \
    --to=sashal@kernel.org \
    --cc=broonie@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.