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