[PATCH v3 02/12] x86/irq: Unionize PID.PIR for 64bit access w/o casting

From: Jacob Pan
Date: Tue Apr 23 2024 - 13:37:01 EST


Make PIR field into u64 such that atomic xchg64 can be used without ugly
casting.

Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
---
arch/x86/include/asm/posted_intr.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/posted_intr.h b/arch/x86/include/asm/posted_intr.h
index f0324c56f7af..acf237b2882e 100644
--- a/arch/x86/include/asm/posted_intr.h
+++ b/arch/x86/include/asm/posted_intr.h
@@ -9,7 +9,10 @@

/* Posted-Interrupt Descriptor */
struct pi_desc {
- u32 pir[8]; /* Posted interrupt requested */
+ union {
+ u32 pir[8]; /* Posted interrupt requested */
+ u64 pir64[4];
+ };
union {
struct {
/* bit 256 - Outstanding Notification */
--
2.25.1