* [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