linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] arm64/sysreg: ISR register conversions
@ 2022-12-27 17:05 Mark Brown
  2022-12-27 17:05 ` [PATCH v2 1/3] arm64/sysreg: Add definition for ICC_NMIAR1_EL1 Mark Brown
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Mark Brown @ 2022-12-27 17:05 UTC (permalink / raw)
  To: Catalin Marinas, Will Deacon
  Cc: Marc Zyngier, kvmarm, linux-arm-kernel, Mark Brown

This series pulls the generated sysreg updates out of the previously
posted series for NMI support then adds an incremental patch on top of
that using the generated constant for ISR_EL1.A in the KVM entry code
suggested by Marc Zyngier.  This should hopefully help these progress
without getting tied up by the more involved NMI rework (and cut down
the size of that series if they do get merged).

v2:
 - Rebased onto v6.2-rc1.

To: Catalin Marinas <catalin.marinas@arm.com>
To: Will Deacon <will@kernel.org>
Cc: Marc Zyngier <maz@kernel.org>
Cc: kvmarm@lists.linux.dev
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Mark Brown <broonie@kernel.org>

---
Mark Brown (3):
      arm64/sysreg: Add definition for ICC_NMIAR1_EL1
      arm64/sysreg: Add definition of ISR_EL1
      KVM: arm64: Use symbolic definition for ISR_EL1.A

 arch/arm64/kvm/hyp/entry.S |  2 +-
 arch/arm64/tools/sysreg    | 15 +++++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)
---
base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2
change-id: 20221208-arm64-isr-el1-945133823d50

Best regards,
-- 
Mark Brown <broonie@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 1/3] arm64/sysreg: Add definition for ICC_NMIAR1_EL1
  2022-12-27 17:05 [PATCH v2 0/3] arm64/sysreg: ISR register conversions Mark Brown
@ 2022-12-27 17:05 ` Mark Brown
  2022-12-27 17:05 ` [PATCH v2 2/3] arm64/sysreg: Add definition of ISR_EL1 Mark Brown
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2022-12-27 17:05 UTC (permalink / raw)
  To: Catalin Marinas, Will Deacon
  Cc: Marc Zyngier, kvmarm, linux-arm-kernel, Mark Brown

FEAT_NMI adds a new interrupt status register for NMIs, ICC_NMIAR1_EL1.
Add the definition for this register as per IHI0069H.

Signed-off-by: Mark Brown <broonie@kernel.org>
---
 arch/arm64/tools/sysreg | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg
index 184e58fd5631..50ef5e5bff02 100644
--- a/arch/arm64/tools/sysreg
+++ b/arch/arm64/tools/sysreg
@@ -1842,3 +1842,8 @@ Field	23:16	LD
 Res0	15:8
 Field	7:0	LR
 EndSysreg
+
+Sysreg	ICC_NMIAR1_EL1	3	0	12	9	5
+Res0	63:24
+Field	23:0	INTID
+EndSysreg

-- 
2.30.2

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 2/3] arm64/sysreg: Add definition of ISR_EL1
  2022-12-27 17:05 [PATCH v2 0/3] arm64/sysreg: ISR register conversions Mark Brown
  2022-12-27 17:05 ` [PATCH v2 1/3] arm64/sysreg: Add definition for ICC_NMIAR1_EL1 Mark Brown
@ 2022-12-27 17:05 ` Mark Brown
  2022-12-27 17:05 ` [PATCH v2 3/3] KVM: arm64: Use symbolic definition for ISR_EL1.A Mark Brown
  2023-01-12 17:50 ` [PATCH v2 0/3] arm64/sysreg: ISR register conversions Catalin Marinas
  3 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2022-12-27 17:05 UTC (permalink / raw)
  To: Catalin Marinas, Will Deacon
  Cc: Marc Zyngier, kvmarm, linux-arm-kernel, Mark Brown

Add a definition of ISR_EL1 as per DDI0487I.a. This register was not
previously defined in sysreg.h, no functional changes.

Acked-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 arch/arm64/tools/sysreg | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg
index 50ef5e5bff02..fa7b76124dce 100644
--- a/arch/arm64/tools/sysreg
+++ b/arch/arm64/tools/sysreg
@@ -1843,6 +1843,16 @@ Res0	15:8
 Field	7:0	LR
 EndSysreg
 
+Sysreg	ISR_EL1	3	0	12	1	0
+Res0	63:11
+Field	10	IS
+Field	9	FS
+Field	8	A
+Field	7	I
+Field	6	F
+Res0	5:0
+EndSysreg
+
 Sysreg	ICC_NMIAR1_EL1	3	0	12	9	5
 Res0	63:24
 Field	23:0	INTID

-- 
2.30.2

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 3/3] KVM: arm64: Use symbolic definition for ISR_EL1.A
  2022-12-27 17:05 [PATCH v2 0/3] arm64/sysreg: ISR register conversions Mark Brown
  2022-12-27 17:05 ` [PATCH v2 1/3] arm64/sysreg: Add definition for ICC_NMIAR1_EL1 Mark Brown
  2022-12-27 17:05 ` [PATCH v2 2/3] arm64/sysreg: Add definition of ISR_EL1 Mark Brown
@ 2022-12-27 17:05 ` Mark Brown
  2023-01-12 17:50 ` [PATCH v2 0/3] arm64/sysreg: ISR register conversions Catalin Marinas
  3 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2022-12-27 17:05 UTC (permalink / raw)
  To: Catalin Marinas, Will Deacon
  Cc: Marc Zyngier, kvmarm, linux-arm-kernel, Mark Brown

Now that we are generating ISR_EL1 we have acquired a constant for
ISR_EL1.A, use it rather than the magic number we had been using in the KVM
entry code.

Suggested-by: Marc Zyngier <maz@kernel.org>
Acked-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 arch/arm64/kvm/hyp/entry.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/kvm/hyp/entry.S b/arch/arm64/kvm/hyp/entry.S
index 435346ea1504..f3aa7738b477 100644
--- a/arch/arm64/kvm/hyp/entry.S
+++ b/arch/arm64/kvm/hyp/entry.S
@@ -171,7 +171,7 @@ alternative_else
 	dsb	sy		// Synchronize against in-flight ld/st
 	isb			// Prevent an early read of side-effect free ISR
 	mrs	x2, isr_el1
-	tbnz	x2, #8, 2f	// ISR_EL1.A
+	tbnz	x2, #ISR_EL1_A_SHIFT, 2f
 	ret
 	nop
 2:

-- 
2.30.2

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 0/3] arm64/sysreg: ISR register conversions
  2022-12-27 17:05 [PATCH v2 0/3] arm64/sysreg: ISR register conversions Mark Brown
                   ` (2 preceding siblings ...)
  2022-12-27 17:05 ` [PATCH v2 3/3] KVM: arm64: Use symbolic definition for ISR_EL1.A Mark Brown
@ 2023-01-12 17:50 ` Catalin Marinas
  3 siblings, 0 replies; 5+ messages in thread
From: Catalin Marinas @ 2023-01-12 17:50 UTC (permalink / raw)
  To: Will Deacon, Mark Brown; +Cc: Marc Zyngier, kvmarm, linux-arm-kernel

On Tue, 27 Dec 2022 17:05:03 +0000, Mark Brown wrote:
> This series pulls the generated sysreg updates out of the previously
> posted series for NMI support then adds an incremental patch on top of
> that using the generated constant for ISR_EL1.A in the KVM entry code
> suggested by Marc Zyngier.  This should hopefully help these progress
> without getting tied up by the more involved NMI rework (and cut down
> the size of that series if they do get merged).
> 
> [...]

Applied to arm64 (for-next/sysreg), thanks!

[1/3] arm64/sysreg: Add definition for ICC_NMIAR1_EL1
      https://git.kernel.org/arm64/c/541826afb2c7
[2/3] arm64/sysreg: Add definition of ISR_EL1
      https://git.kernel.org/arm64/c/df5f1775aab2
[3/3] KVM: arm64: Use symbolic definition for ISR_EL1.A
      https://git.kernel.org/arm64/c/1abf363d085c

-- 
Catalin


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-01-12 17:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-27 17:05 [PATCH v2 0/3] arm64/sysreg: ISR register conversions Mark Brown
2022-12-27 17:05 ` [PATCH v2 1/3] arm64/sysreg: Add definition for ICC_NMIAR1_EL1 Mark Brown
2022-12-27 17:05 ` [PATCH v2 2/3] arm64/sysreg: Add definition of ISR_EL1 Mark Brown
2022-12-27 17:05 ` [PATCH v2 3/3] KVM: arm64: Use symbolic definition for ISR_EL1.A Mark Brown
2023-01-12 17:50 ` [PATCH v2 0/3] arm64/sysreg: ISR register conversions Catalin Marinas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).