--- /dev/null
+From 7c6dd961d0c8e7e8f9fdc65071fb09ece702e18d Mon Sep 17 00:00:00 2001
+From: Peter Zijlstra <peterz@infradead.org>
+Date: Tue, 10 Jan 2023 12:15:40 +0100
+Subject: x86/boot: Avoid using Intel mnemonics in AT&T syntax asm
+
+From: Peter Zijlstra <peterz@infradead.org>
+
+commit 7c6dd961d0c8e7e8f9fdc65071fb09ece702e18d upstream.
+
+With 'GNU assembler (GNU Binutils for Debian) 2.39.90.20221231' the
+build now reports:
+
+ arch/x86/realmode/rm/../../boot/bioscall.S: Assembler messages:
+ arch/x86/realmode/rm/../../boot/bioscall.S:35: Warning: found `movsd'; assuming `movsl' was meant
+ arch/x86/realmode/rm/../../boot/bioscall.S:70: Warning: found `movsd'; assuming `movsl' was meant
+
+ arch/x86/boot/bioscall.S: Assembler messages:
+ arch/x86/boot/bioscall.S:35: Warning: found `movsd'; assuming `movsl' was meant
+ arch/x86/boot/bioscall.S:70: Warning: found `movsd'; assuming `movsl' was meant
+
+Which is due to:
+
+ PR gas/29525
+
+ Note that with the dropped CMPSD and MOVSD Intel Syntax string insn
+ templates taking operands, mixed IsString/non-IsString template groups
+ (with memory operands) cannot occur anymore. With that
+ maybe_adjust_templates() becomes unnecessary (and is hence being
+ removed).
+
+More details: https://sourceware.org/bugzilla/show_bug.cgi?id=29525
+
+Borislav Petkov further explains:
+
+ " the particular problem here is is that the 'd' suffix is
+ "conflicting" in the sense that you can have SSE mnemonics like movsD %xmm...
+ and the same thing also for string ops (which is the case here) so apparently
+ the agreement in binutils land is to use the always accepted suffixes 'l' or 'q'
+ and phase out 'd' slowly... "
+
+Fixes: 7a734e7dd93b ("x86, setup: "glove box" BIOS calls -- infrastructure")
+Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
+Signed-off-by: Ingo Molnar <mingo@kernel.org>
+Acked-by: Borislav Petkov (AMD) <bp@alien8.de>
+Link: https://lore.kernel.org/r/Y71I3Ex2pvIxMpsP@hirez.programming.kicks-ass.net
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/x86/boot/bioscall.S | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/x86/boot/bioscall.S
++++ b/arch/x86/boot/bioscall.S
+@@ -35,7 +35,7 @@ intcall:
+ movw %dx, %si
+ movw %sp, %di
+ movw $11, %cx
+- rep; movsd
++ rep; movsl
+
+ /* Pop full state from the stack */
+ popal
+@@ -70,7 +70,7 @@ intcall:
+ jz 4f
+ movw %sp, %si
+ movw $11, %cx
+- rep; movsd
++ rep; movsl
+ 4: addw $44, %sp
+
+ /* Restore state and return */