Commit 966f5049 authored by Uros Bizjak's avatar Uros Bizjak Committed by Borislav Petkov (AMD)
Browse files

x86/asm: Use RDPKRU and WRPKRU mnemonics in <asm/special_insns.h>



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: default avatarUros Bizjak <ubizjak@gmail.com>
Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/20250616083611.157740-1-ubizjak@gmail.com
parent d20a5d96
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -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