diff options
author | Goran Ferenc <goran.ferenc@imgtec.com> | 2017-07-27 12:08:47 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2017-08-07 07:53:25 -0400 |
commit | b399ee28c29c07f6a7ad87dade9148828757e6e9 (patch) | |
tree | 9bb6c22b8e5c98ab66a669f9d223fa65a2120a5b | |
parent | ae5b0675942ab30cde96099c68a2290bd1aafcca (diff) |
MIPS: VDSO: Fix clobber lists in fallback code paths
Extend clobber lists to include all GP registers.
Fixes: 0b523a85e134 ("MIPS: VDSO: Add implementation of gettimeofday() fallback")
Signed-off-by: Miodrag Dinic <miodrag.dinic@imgtec.com>
Signed-off-by: Goran Ferenc <goran.ferenc@imgtec.com>
Signed-off-by: Aleksandar Markovic <aleksandar.markovic@imgtec.com>
Reviewed-by: James Hogan <james.hogan@imgtec.com>
Cc: Bo Hu <bohu@google.com>
Cc: Douglas Leung <douglas.leung@imgtec.com>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Jin Qian <jinqian@google.com>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: Petar Jovanovic <petar.jovanovic@imgtec.com>
Cc: Raghu Gandham <raghu.gandham@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/16879/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/vdso/gettimeofday.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/mips/vdso/gettimeofday.c b/arch/mips/vdso/gettimeofday.c index 974276e828b2..e2690d7ca4dd 100644 --- a/arch/mips/vdso/gettimeofday.c +++ b/arch/mips/vdso/gettimeofday.c | |||
@@ -35,7 +35,8 @@ static __always_inline long gettimeofday_fallback(struct timeval *_tv, | |||
35 | " syscall\n" | 35 | " syscall\n" |
36 | : "=r" (ret), "=r" (error) | 36 | : "=r" (ret), "=r" (error) |
37 | : "r" (tv), "r" (tz), "r" (nr) | 37 | : "r" (tv), "r" (tz), "r" (nr) |
38 | : "memory"); | 38 | : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", |
39 | "$14", "$15", "$24", "$25", "hi", "lo", "memory"); | ||
39 | 40 | ||
40 | return error ? -ret : ret; | 41 | return error ? -ret : ret; |
41 | } | 42 | } |
@@ -55,7 +56,8 @@ static __always_inline long clock_gettime_fallback(clockid_t _clkid, | |||
55 | " syscall\n" | 56 | " syscall\n" |
56 | : "=r" (ret), "=r" (error) | 57 | : "=r" (ret), "=r" (error) |
57 | : "r" (clkid), "r" (ts), "r" (nr) | 58 | : "r" (clkid), "r" (ts), "r" (nr) |
58 | : "memory"); | 59 | : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13", |
60 | "$14", "$15", "$24", "$25", "hi", "lo", "memory"); | ||
59 | 61 | ||
60 | return error ? -ret : ret; | 62 | return error ? -ret : ret; |
61 | } | 63 | } |