
On 12.07.20 01:46, Daniel Schwierzeck wrote:
Sync asm/asm.h with Linux 5.7.
Signed-off-by: Daniel Schwierzeck daniel.schwierzeck@gmail.com
Reviewed-by: Stefan Roese sr@denx.de Tested-by: Stefan Roese sr@denx.de
Thanks, Stefan
arch/mips/include/asm/asm.h | 130 +++--------------------------------- 1 file changed, 10 insertions(+), 120 deletions(-)
diff --git a/arch/mips/include/asm/asm.h b/arch/mips/include/asm/asm.h index 7abcf6df07..a6876e1b07 100644 --- a/arch/mips/include/asm/asm.h +++ b/arch/mips/include/asm/asm.h @@ -16,37 +16,12 @@
#include <asm/sgidefs.h>
-#ifndef CAT -#ifdef __STDC__ -#define __CAT(str1, str2) str1##str2 -#else -#define __CAT(str1, str2) str1/**/str2 -#endif -#define CAT(str1, str2) __CAT(str1, str2) -#endif
-/*
- PIC specific declarations
- Not used for the kernel but here seems to be the right place.
- */
-#ifdef __PIC__ -#define CPRESTORE(register) \
.cprestore register
-#define CPADD(register) \
.cpadd register
-#define CPLOAD(register) \
.cpload register
-#else -#define CPRESTORE(register) -#define CPADD(register) -#define CPLOAD(register) -#endif
- #define ENTRY(symbol) \ .globl symbol; \ .type symbol, @function; \ .ent symbol, 0; \
-symbol: +symbol: .cfi_startproc; \
.insn
/*
- LEAF - declare leaf routine
@@ -57,7 +32,9 @@ symbol: .type symbol, @function; \ .ent symbol, 0; \ .section .text.symbol, "x"; \ -symbol: .frame sp, 0, ra +symbol: .frame sp, 0, ra; \
.cfi_startproc; \
.insn
/*
- NESTED - declare nested routine entry point
@@ -68,12 +45,15 @@ symbol: .frame sp, 0, ra .type symbol, @function; \ .ent symbol, 0; \ .section .text.symbol, "x"; \ -symbol: .frame sp, framesize, rpc +symbol: .frame sp, framesize, rpc; \
.cfi_startproc; \
.insn
/*
- END - mark end of function
*/ #define END(function) \
.cfi_endproc; \
.end function; \ .size function, .-function
@@ -90,7 +70,7 @@ symbol: #define FEXPORT(symbol) \ .globl symbol; \ .type symbol, @function; \ -symbol: +symbol: .insn
/*
- ABS - export absolute symbol
@@ -128,96 +108,6 @@ symbol = value 8: .asciiz msg; \ .popsection;
-/*
- Build text tables
- */
-#define TTABLE(string) \
.pushsection .text; \
.word 1f; \
.popsection \
.pushsection .data; \
-1: .asciiz string; \
.popsection
-/*
- MIPS IV pref instruction.
- Use with .set noreorder only!
- MIPS IV implementations are free to treat this as a nop. The R5000
- is one of them. So we should have an option not to use this instruction.
- */
-#ifdef CONFIG_CPU_HAS_PREFETCH
-#define PREF(hint, addr) \
.set push; \
.set arch=r5000; \
pref hint, addr; \
.set pop
-#define PREFE(hint, addr) \
.set push; \
.set mips0; \
.set eva; \
prefe hint, addr; \
.set pop
-#define PREFX(hint, addr) \
.set push; \
.set arch=r5000; \
prefx hint, addr; \
.set pop
-#else /* !CONFIG_CPU_HAS_PREFETCH */
-#define PREF(hint, addr) -#define PREFE(hint, addr) -#define PREFX(hint, addr)
-#endif /* !CONFIG_CPU_HAS_PREFETCH */
-/*
- MIPS ISA IV/V movn/movz instructions and equivalents for older CPUs.
- */
-#if (_MIPS_ISA == _MIPS_ISA_MIPS1) -#define MOVN(rd, rs, rt) \
.set push; \
.set reorder; \
beqz rt, 9f; \
move rd, rs; \
.set pop; \
-9: -#define MOVZ(rd, rs, rt) \
.set push; \
.set reorder; \
bnez rt, 9f; \
move rd, rs; \
.set pop; \
-9: -#endif /* _MIPS_ISA == _MIPS_ISA_MIPS1 */ -#if (_MIPS_ISA == _MIPS_ISA_MIPS2) || (_MIPS_ISA == _MIPS_ISA_MIPS3) -#define MOVN(rd, rs, rt) \
.set push; \
.set noreorder; \
bnezl rt, 9f; \
move rd, rs; \
.set pop; \
-9: -#define MOVZ(rd, rs, rt) \
.set push; \
.set noreorder; \
beqzl rt, 9f; \
move rd, rs; \
.set pop; \
-9: -#endif /* (_MIPS_ISA == _MIPS_ISA_MIPS2) || (_MIPS_ISA == _MIPS_ISA_MIPS3) */ -#if (_MIPS_ISA == _MIPS_ISA_MIPS4 ) || (_MIPS_ISA == _MIPS_ISA_MIPS5) || \
- (_MIPS_ISA == _MIPS_ISA_MIPS32) || (_MIPS_ISA == _MIPS_ISA_MIPS64)
-#define MOVN(rd, rs, rt) \
movn rd, rs, rt
-#define MOVZ(rd, rs, rt) \
movz rd, rs, rt
-#endif /* MIPS IV, MIPS V, MIPS32 or MIPS64 */
- /*
*/
- Stack alignment
Viele Grüße, Stefan