]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: Add wfet()/wfit() helpers
authorMarc Zyngier <maz@kernel.org>
Tue, 19 Apr 2022 18:27:54 +0000 (19:27 +0100)
committerMarc Zyngier <maz@kernel.org>
Wed, 20 Apr 2022 12:24:44 +0000 (13:24 +0100)
Just like we have helpers for WFI and WFE, add the WFxT versions.
Note that the encoding is that reported by objdump, as no currrent
toolchain knows about these instructions yet.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20220419182755.601427-10-maz@kernel.org
arch/arm64/include/asm/barrier.h

index 62217be36217340248550ed10834587e4a4dbe4c..9f3e2c3d2ca0f0ed2b24d4ba5ee7b5547c5b17cc 100644 (file)
 
 #define sev()          asm volatile("sev" : : : "memory")
 #define wfe()          asm volatile("wfe" : : : "memory")
+#define wfet(val)      asm volatile("msr s0_3_c1_c0_0, %0"     \
+                                    : : "r" (val) : "memory")
 #define wfi()          asm volatile("wfi" : : : "memory")
+#define wfit(val)      asm volatile("msr s0_3_c1_c0_1, %0"     \
+                                    : : "r" (val) : "memory")
 
 #define isb()          asm volatile("isb" : : : "memory")
 #define dmb(opt)       asm volatile("dmb " #opt : : : "memory")