[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-mips
Subject: [patch] 2.4,2.6: Small inline assembly fixes
From: "Maciej W. Rozycki" <macro () ds2 ! pg ! gda ! pl>
Date: 2004-05-31 14:46:31
Message-ID: Pine.LNX.4.55.0405311639440.18445 () jurand ! ds ! pg ! gda ! pl
[Download RAW message or body]
Ralf,
These are fixes for a bunch of inline assembly problems. The ARC_CALL5
change is important -- others are just clean-ups. As an extra, a
duplicate __NR_O32_Linux_syscalls definition is removed.
OK to apply?
Maciej
--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +
patch-mips-2.4.24-pre2-20040116-mips-asm-0
diff -up --recursive --new-file \
linux-mips-2.4.24-pre2-20040116.macro/include/asm-mips/sgiarcs.h \
linux-mips-2.4.24-pre2-20040116/include/asm-mips/sgiarcs.h
--- linux-mips-2.4.24-pre2-20040116.macro/include/asm-mips/sgiarcs.h 2003-05-29 \
02:57:12.000000000 +0000
+++ linux-mips-2.4.24-pre2-20040116/include/asm-mips/sgiarcs.h 2004-05-30 \
14:34:33.000000000 +0000 @@ -462,7 +462,7 @@ struct linux_smonblock {
long __vec = (long) romvec->dest; \
__asm__ __volatile__( \
"dsubu\t$29, 32\n\t" \
- "sw\t%6, 16($29)\n\t" \
+ "sw\t%7, 16($29)\n\t" \
"jalr\t%1\n\t" \
"daddu\t$29, 32\n\t" \
"move\t%0, $2" \
diff -up --recursive --new-file \
linux-mips-2.4.24-pre2-20040116.macro/include/asm-mips/unistd.h \
linux-mips-2.4.24-pre2-20040116/include/asm-mips/unistd.h
--- linux-mips-2.4.24-pre2-20040116.macro/include/asm-mips/unistd.h 2003-11-01 \
03:57:23.000000000 +0000
+++ linux-mips-2.4.24-pre2-20040116/include/asm-mips/unistd.h 2004-05-30 \
14:39:41.000000000 +0000 @@ -951,9 +951,9 @@ type name (atype a,btype b,ctype c,dtype
"syscall\n\t" \
"move\t%0, $2\n\t" \
".set\treorder" \
- : "=&r" (__v0), "+r" (__a3), "+r" (__a4) \
- : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##name) \
- : "$2","$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
+ : "=&r" (__v0), "+r" (__a3) \
+ : "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4), "i" (__NR_##name) \
+ : "$2", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
\
if (__a3 == 0) \
return (type) __v0; \
@@ -981,7 +981,7 @@ type name (atype a,btype b,ctype c,dtype
: "=&r" (__v0), "+r" (__a3) \
: "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4), "r" (__a5), \
"i" (__NR_##name) \
- : "$2","$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
+ : "$2", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
\
if (__a3 == 0) \
return (type) __v0; \
diff -up --recursive --new-file \
linux-mips-2.4.24-pre2-20040116.macro/include/asm-mips64/sgiarcs.h \
linux-mips-2.4.24-pre2-20040116/include/asm-mips64/sgiarcs.h
--- linux-mips-2.4.24-pre2-20040116.macro/include/asm-mips64/sgiarcs.h 2004-01-07 \
23:02:08.000000000 +0000
+++ linux-mips-2.4.24-pre2-20040116/include/asm-mips64/sgiarcs.h 2004-05-30 \
14:34:33.000000000 +0000 @@ -462,7 +462,7 @@ struct linux_smonblock {
long __vec = (long) romvec->dest; \
__asm__ __volatile__( \
"dsubu\t$29, 32\n\t" \
- "sw\t%6, 16($29)\n\t" \
+ "sw\t%7, 16($29)\n\t" \
"jalr\t%1\n\t" \
"daddu\t$29, 32\n\t" \
"move\t%0, $2" \
diff -up --recursive --new-file \
linux-mips-2.4.24-pre2-20040116.macro/include/asm-mips64/uaccess.h \
linux-mips-2.4.24-pre2-20040116/include/asm-mips64/uaccess.h
--- linux-mips-2.4.24-pre2-20040116.macro/include/asm-mips64/uaccess.h 2003-09-15 \
02:57:28.000000000 +0000
+++ linux-mips-2.4.24-pre2-20040116/include/asm-mips64/uaccess.h 2004-05-30 \
14:46:22.000000000 +0000 @@ -406,7 +406,6 @@ extern size_t __copy_user(void *__to, co
"daddu\t$1, %1, %2\n\t" \
".set\tat\n\t" \
".set\treorder\n\t" \
- "move\t%0, $6" \
: "+r" (__cu_to_r), "+r" (__cu_from_r), "+r" (__cu_len_r) \
: \
: "$8", "$9", "$10", "$11", "$12", "$15", "$24", "$31", \
diff -up --recursive --new-file \
linux-mips-2.4.24-pre2-20040116.macro/include/asm-mips64/unistd.h \
linux-mips-2.4.24-pre2-20040116/include/asm-mips64/unistd.h
--- linux-mips-2.4.24-pre2-20040116.macro/include/asm-mips64/unistd.h 2003-10-29 \
03:57:28.000000000 +0000
+++ linux-mips-2.4.24-pre2-20040116/include/asm-mips64/unistd.h 2004-05-30 \
14:39:41.000000000 +0000 @@ -268,8 +268,6 @@
#define __NR_O32_Linux 4000
#define __NR_O32_Linux_syscalls 240
-#define __NR_O32_Linux_syscalls 240
-
#if _MIPS_SIM == _MIPS_SIM_ABI64
/*
@@ -953,9 +951,9 @@ type name (atype a,btype b,ctype c,dtype
"syscall\n\t" \
"move\t%0, $2\n\t" \
".set\treorder" \
- : "=&r" (__v0), "+r" (__a3), "+r" (__a4) \
- : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##name) \
- : "$2","$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
+ : "=&r" (__v0), "+r" (__a3) \
+ : "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4), "i" (__NR_##name) \
+ : "$2", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
\
if (__a3 == 0) \
return (type) __v0; \
@@ -983,7 +981,7 @@ type name (atype a,btype b,ctype c,dtype
: "=&r" (__v0), "+r" (__a3) \
: "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4), "r" (__a5), \
"i" (__NR_##name) \
- : "$2","$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
+ : "$2", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24"); \
\
if (__a3 == 0) \
return (type) __v0; \
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic