mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 14:02:06 -04:00
powerpc/44x: Fix build failure with GCC 12 (unrecognized opcode: `wrteei')
Building ppc40x_defconfig leads to following error
CC arch/powerpc/kernel/idle.o
{standard input}: Assembler messages:
{standard input}:67: Error: unrecognized opcode: `wrteei'
{standard input}:78: Error: unrecognized opcode: `wrteei'
Add -mcpu=440 by default and alternatively 464 and 476.
Once that's done, -mcpu=powerpc is only for book3s/32 now.
But then comes
CC arch/powerpc/kernel/io.o
{standard input}: Assembler messages:
{standard input}:198: Error: unrecognized opcode: `eieio'
{standard input}:230: Error: unrecognized opcode: `eieio'
{standard input}:245: Error: unrecognized opcode: `eieio'
{standard input}:254: Error: unrecognized opcode: `eieio'
{standard input}:273: Error: unrecognized opcode: `eieio'
{standard input}:396: Error: unrecognized opcode: `eieio'
{standard input}:404: Error: unrecognized opcode: `eieio'
{standard input}:423: Error: unrecognized opcode: `eieio'
{standard input}:512: Error: unrecognized opcode: `eieio'
{standard input}:520: Error: unrecognized opcode: `eieio'
{standard input}:539: Error: unrecognized opcode: `eieio'
{standard input}:628: Error: unrecognized opcode: `eieio'
{standard input}:636: Error: unrecognized opcode: `eieio'
{standard input}:655: Error: unrecognized opcode: `eieio'
Fix it by replacing eieio by mbar on booke.
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/b0d982e223314ed82ab959f5d4ad2c4c00bedb99.1657549153.git.christophe.leroy@csgroup.eu
This commit is contained in:
committed by
Michael Ellerman
parent
ff27d9200a
commit
2255411d1d
@@ -69,10 +69,10 @@
|
||||
|
||||
static DEFINE_SPINLOCK(fsl_rio_config_lock);
|
||||
|
||||
#define __fsl_read_rio_config(x, addr, err, op) \
|
||||
#define ___fsl_read_rio_config(x, addr, err, op, barrier) \
|
||||
__asm__ __volatile__( \
|
||||
"1: "op" %1,0(%2)\n" \
|
||||
" eieio\n" \
|
||||
" "barrier"\n" \
|
||||
"2:\n" \
|
||||
".section .fixup,\"ax\"\n" \
|
||||
"3: li %1,-1\n" \
|
||||
@@ -83,6 +83,14 @@ static DEFINE_SPINLOCK(fsl_rio_config_lock);
|
||||
: "=r" (err), "=r" (x) \
|
||||
: "b" (addr), "i" (-EFAULT), "0" (err))
|
||||
|
||||
#ifdef CONFIG_BOOKE
|
||||
#define __fsl_read_rio_config(x, addr, err, op) \
|
||||
___fsl_read_rio_config(x, addr, err, op, "mbar")
|
||||
#else
|
||||
#define __fsl_read_rio_config(x, addr, err, op) \
|
||||
___fsl_read_rio_config(x, addr, err, op, "eieio")
|
||||
#endif
|
||||
|
||||
void __iomem *rio_regs_win;
|
||||
void __iomem *rmu_regs_win;
|
||||
resource_size_t rio_law_start;
|
||||
|
||||
Reference in New Issue
Block a user