mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
a439fe51a1
The majority of this patch was created by the following script: *** ASM=arch/sparc/include/asm mkdir -p $ASM git mv include/asm-sparc64/ftrace.h $ASM git rm include/asm-sparc64/* git mv include/asm-sparc/* $ASM sed -ie 's/asm-sparc64/asm/g' $ASM/* sed -ie 's/asm-sparc/asm/g' $ASM/* *** The rest was an update of the top-level Makefile to use sparc for header files when sparc64 is being build. And a small fixlet to pick up the correct unistd.h from sparc64 code. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
32 lines
514 B
C
32 lines
514 B
C
#ifndef _SPARC64_BACKOFF_H
|
|
#define _SPARC64_BACKOFF_H
|
|
|
|
#define BACKOFF_LIMIT (4 * 1024)
|
|
|
|
#ifdef CONFIG_SMP
|
|
|
|
#define BACKOFF_SETUP(reg) \
|
|
mov 1, reg
|
|
|
|
#define BACKOFF_SPIN(reg, tmp, label) \
|
|
mov reg, tmp; \
|
|
88: brnz,pt tmp, 88b; \
|
|
sub tmp, 1, tmp; \
|
|
set BACKOFF_LIMIT, tmp; \
|
|
cmp reg, tmp; \
|
|
bg,pn %xcc, label; \
|
|
nop; \
|
|
ba,pt %xcc, label; \
|
|
sllx reg, 1, reg;
|
|
|
|
#else
|
|
|
|
#define BACKOFF_SETUP(reg)
|
|
#define BACKOFF_SPIN(reg, tmp, label) \
|
|
ba,pt %xcc, label; \
|
|
nop;
|
|
|
|
#endif
|
|
|
|
#endif /* _SPARC64_BACKOFF_H */
|