Commit d109ff4f authored by Uros Bizjak's avatar Uros Bizjak Committed by Ingo Molnar
Browse files

x86/asm: Replace "REP; NOP" with PAUSE mnemonic



Current minimum required version of binutils is 2.25,
which supports PAUSE instruction mnemonic.

Replace "REP; NOP" with this proper mnemonic.

No functional change intended.

Reviewed-by: default avatarNikolay Borisov <nik.borisov@suse.com>
Signed-off-by: default avatarUros Bizjak <ubizjak@gmail.com>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
Cc: H. Peter Anvin <hpa@zytor.com>
Link: https://lore.kernel.org/r/20250418080805.83679-2-ubizjak@gmail.com
parent 42c782fa
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@
extern struct setup_header hdr;
extern struct boot_params boot_params;

#define cpu_relax()	asm volatile("rep; nop")
#define cpu_relax()	asm volatile("pause")

static inline void io_delay(void)
{
+2 −2
Original line number Diff line number Diff line
@@ -7,10 +7,10 @@

#ifndef __ASSEMBLER__

/* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */
/* PAUSE is a good thing to insert into busy-wait loops. */
static __always_inline void rep_nop(void)
{
	asm volatile("rep; nop" ::: "memory");
	asm volatile("pause" ::: "memory");
}

static __always_inline void cpu_relax(void)
+2 −2
Original line number Diff line number Diff line
@@ -405,7 +405,7 @@ SYM_CODE_START_LOCAL_NOALIGN(pr_char_8250)
	inb	%dx, %al
	testb	$XMTRDY, %al
	jnz	.Lready
	rep nop
	pause
	jmp .Lxmtrdy_loop

.Lready:
@@ -426,7 +426,7 @@ SYM_CODE_START_LOCAL_NOALIGN(pr_char_8250_mmio32)
	movb	(LSR*4)(%rdx), %ah
	testb	$XMTRDY, %ah
	jnz	.Lready_mmio
	rep nop
	pause
	jmp .Lxmtrdy_loop_mmio

.Lready_mmio: