Commit ab843583 authored by David S. Miller's avatar David S. Miller

[SPARC64]: __volatile --> __volatile__

parent 4b3eb953
...@@ -694,24 +694,24 @@ pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) ...@@ -694,24 +694,24 @@ pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
* So we stash 'fn' and 'arg' into global registers which * So we stash 'fn' and 'arg' into global registers which
* will not be modified by the parent. * will not be modified by the parent.
*/ */
__asm__ __volatile("mov %4, %%g2\n\t" /* Save FN into global */ __asm__ __volatile__("mov %4, %%g2\n\t" /* Save FN into global */
"mov %5, %%g3\n\t" /* Save ARG into global */ "mov %5, %%g3\n\t" /* Save ARG into global */
"mov %1, %%g1\n\t" /* Clone syscall nr. */ "mov %1, %%g1\n\t" /* Clone syscall nr. */
"mov %2, %%o0\n\t" /* Clone flags. */ "mov %2, %%o0\n\t" /* Clone flags. */
"mov 0, %%o1\n\t" /* usp arg == 0 */ "mov 0, %%o1\n\t" /* usp arg == 0 */
"t 0x6d\n\t" /* Linux/Sparc clone(). */ "t 0x6d\n\t" /* Linux/Sparc clone(). */
"brz,a,pn %%o1, 1f\n\t" /* Parent, just return. */ "brz,a,pn %%o1, 1f\n\t" /* Parent, just return. */
" mov %%o0, %0\n\t" " mov %%o0, %0\n\t"
"jmpl %%g2, %%o7\n\t" /* Call the function. */ "jmpl %%g2, %%o7\n\t" /* Call the function. */
" mov %%g3, %%o0\n\t" /* Set arg in delay. */ " mov %%g3, %%o0\n\t" /* Set arg in delay. */
"mov %3, %%g1\n\t" "mov %3, %%g1\n\t"
"t 0x6d\n\t" /* Linux/Sparc exit(). */ "t 0x6d\n\t" /* Linux/Sparc exit(). */
/* Notreached by child. */ /* Notreached by child. */
"1:" : "1:" :
"=r" (retval) : "=r" (retval) :
"i" (__NR_clone), "r" (flags | CLONE_VM | CLONE_UNTRACED), "i" (__NR_clone), "r" (flags | CLONE_VM | CLONE_UNTRACED),
"i" (__NR_exit), "r" (fn), "r" (arg) : "i" (__NR_exit), "r" (fn), "r" (arg) :
"g1", "g2", "g3", "o0", "o1", "memory", "cc"); "g1", "g2", "g3", "o0", "o1", "memory", "cc");
return retval; return retval;
} }
......
...@@ -163,7 +163,7 @@ __asm__ __volatile__( \ ...@@ -163,7 +163,7 @@ __asm__ __volatile__( \
".previous\n\n\t" \ ".previous\n\n\t" \
: "=r" (foo) : "r" (x), "r" (__m(addr))); \ : "=r" (foo) : "r" (x), "r" (__m(addr))); \
else \ else \
__asm__ __volatile( \ __asm__ __volatile__( \
"/* Put user asm ret, inline. */\n" \ "/* Put user asm ret, inline. */\n" \
"1:\t" "st"#size "a %1, [%2] %%asi\n\n\t" \ "1:\t" "st"#size "a %1, [%2] %%asi\n\n\t" \
".section .fixup,#alloc,#execinstr\n\t" \ ".section .fixup,#alloc,#execinstr\n\t" \
......
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