]> www.infradead.org Git - users/hch/misc.git/commitdiff
x86/asm: Use RDPKRU and WRPKRU mnemonics in <asm/special_insns.h>
authorUros Bizjak <ubizjak@gmail.com>
Mon, 16 Jun 2025 08:35:57 +0000 (10:35 +0200)
committerBorislav Petkov (AMD) <bp@alien8.de>
Fri, 22 Aug 2025 16:54:07 +0000 (18:54 +0200)
Current minimum required version of binutils is 2.30, which supports RDPKRU and
WRPKRU instruction mnemonics.

Replace the byte-wise specification of RDPKRU and WRPKRU with these proper
mnemonics.

No functional change intended.

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/20250616083611.157740-1-ubizjak@gmail.com
arch/x86/include/asm/special_insns.h

index fde2bd7af19e7b3ff6211694c6c9a40a989a9d2e..c9991456935264564195b5ad1f890264f9e19c8f 100644 (file)
@@ -75,9 +75,7 @@ static inline u32 rdpkru(void)
         * "rdpkru" instruction.  Places PKRU contents in to EAX,
         * clears EDX and requires that ecx=0.
         */
-       asm volatile(".byte 0x0f,0x01,0xee\n\t"
-                    : "=a" (pkru), "=d" (edx)
-                    : "c" (ecx));
+       asm volatile("rdpkru" : "=a" (pkru), "=d" (edx) : "c" (ecx));
        return pkru;
 }
 
@@ -89,8 +87,7 @@ static inline void wrpkru(u32 pkru)
         * "wrpkru" instruction.  Loads contents in EAX to PKRU,
         * requires that ecx = edx = 0.
         */
-       asm volatile(".byte 0x0f,0x01,0xef\n\t"
-                    : : "a" (pkru), "c"(ecx), "d"(edx));
+       asm volatile("wrpkru" : : "a" (pkru), "c"(ecx), "d"(edx));
 }
 
 #else