mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-23 07:01:23 +00:00
Always use ".set mips3" rather than select between "mips2" or "mips3"
for assembling ll/sc sequences to avoid problems with 64-bit configurations. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
69c75fb458
commit
c4559f67b7
4 changed files with 29 additions and 31 deletions
|
@ -176,7 +176,7 @@ static inline unsigned long __xchg_u32(volatile int * m, unsigned int val)
|
|||
unsigned long dummy;
|
||||
|
||||
__asm__ __volatile__(
|
||||
" .set mips2 \n"
|
||||
" .set mips3 \n"
|
||||
"1: ll %0, %3 # xchg_u32 \n"
|
||||
" move %2, %z4 \n"
|
||||
" sc %2, %1 \n"
|
||||
|
@ -193,7 +193,7 @@ static inline unsigned long __xchg_u32(volatile int * m, unsigned int val)
|
|||
unsigned long dummy;
|
||||
|
||||
__asm__ __volatile__(
|
||||
" .set mips2 \n"
|
||||
" .set mips3 \n"
|
||||
"1: ll %0, %3 # xchg_u32 \n"
|
||||
" move %2, %z4 \n"
|
||||
" sc %2, %1 \n"
|
||||
|
@ -301,7 +301,7 @@ static inline unsigned long __cmpxchg_u32(volatile int * m, unsigned long old,
|
|||
__asm__ __volatile__(
|
||||
" .set push \n"
|
||||
" .set noat \n"
|
||||
" .set mips2 \n"
|
||||
" .set mips3 \n"
|
||||
"1: ll %0, %2 # __cmpxchg_u32 \n"
|
||||
" bne %0, %z3, 2f \n"
|
||||
" move $1, %z4 \n"
|
||||
|
@ -320,7 +320,7 @@ static inline unsigned long __cmpxchg_u32(volatile int * m, unsigned long old,
|
|||
__asm__ __volatile__(
|
||||
" .set push \n"
|
||||
" .set noat \n"
|
||||
" .set mips2 \n"
|
||||
" .set mips3 \n"
|
||||
"1: ll %0, %2 # __cmpxchg_u32 \n"
|
||||
" bne %0, %z3, 2f \n"
|
||||
" move $1, %z4 \n"
|
||||
|
@ -376,7 +376,7 @@ static inline unsigned long __cmpxchg_u64(volatile int * m, unsigned long old,
|
|||
__asm__ __volatile__(
|
||||
" .set push \n"
|
||||
" .set noat \n"
|
||||
" .set mips2 \n"
|
||||
" .set mips3 \n"
|
||||
"1: lld %0, %2 # __cmpxchg_u64 \n"
|
||||
" bne %0, %z3, 2f \n"
|
||||
" move $1, %z4 \n"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue