Commit d471a4b9 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
  m68k: Fix asm constraints for atomic_sub_and_test() and atomic_add_negative()
  m68k: Fix `struct sigcontext' for ColdFire
parents 4e310fda b560177f
...@@ -148,14 +148,18 @@ static inline int atomic_xchg(atomic_t *v, int new) ...@@ -148,14 +148,18 @@ static inline int atomic_xchg(atomic_t *v, int new)
static inline int atomic_sub_and_test(int i, atomic_t *v) static inline int atomic_sub_and_test(int i, atomic_t *v)
{ {
char c; char c;
__asm__ __volatile__("subl %2,%1; seq %0" : "=d" (c), "+m" (*v): "g" (i)); __asm__ __volatile__("subl %2,%1; seq %0"
: "=d" (c), "+m" (*v)
: "id" (i));
return c != 0; return c != 0;
} }
static inline int atomic_add_negative(int i, atomic_t *v) static inline int atomic_add_negative(int i, atomic_t *v)
{ {
char c; char c;
__asm__ __volatile__("addl %2,%1; smi %0" : "=d" (c), "+m" (*v): "g" (i)); __asm__ __volatile__("addl %2,%1; smi %0"
: "=d" (c), "+m" (*v)
: "id" (i));
return c != 0; return c != 0;
} }
......
...@@ -17,13 +17,11 @@ struct sigcontext { ...@@ -17,13 +17,11 @@ struct sigcontext {
#ifndef __uClinux__ #ifndef __uClinux__
# ifdef __mcoldfire__ # ifdef __mcoldfire__
unsigned long sc_fpregs[2][2]; /* room for two fp registers */ unsigned long sc_fpregs[2][2]; /* room for two fp registers */
unsigned long sc_fpcntl[3];
unsigned char sc_fpstate[16+6*8];
# else # else
unsigned long sc_fpregs[2*3]; /* room for two fp registers */ unsigned long sc_fpregs[2*3]; /* room for two fp registers */
# endif
unsigned long sc_fpcntl[3]; unsigned long sc_fpcntl[3];
unsigned char sc_fpstate[216]; unsigned char sc_fpstate[216];
# endif
#endif #endif
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment