Commit 11eb28e4 authored by Krzysztof Helt's avatar Krzysztof Helt Committed by David S. Miller

[SPARC]: Fix asm constraints in muldiv.c

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0f087493
...@@ -4,6 +4,9 @@ ...@@ -4,6 +4,9 @@
* *
* Copyright (C) 1996 Jakub Jelinek (jj@sunsite.mff.cuni.cz) * Copyright (C) 1996 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu) * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
*
* 2004-12-25 Krzysztof Helt (krzysztof.h1@wp.pl)
* - fixed registers constrains in inline assembly declarations
*/ */
#include <linux/kernel.h> #include <linux/kernel.h>
...@@ -132,7 +135,7 @@ int do_user_muldiv(struct pt_regs *regs, unsigned long pc) ...@@ -132,7 +135,7 @@ int do_user_muldiv(struct pt_regs *regs, unsigned long pc)
"mov %%o0, %0\n\t" "mov %%o0, %0\n\t"
"mov %%o1, %1\n\t" "mov %%o1, %1\n\t"
: "=r" (rs1), "=r" (rs2) : "=r" (rs1), "=r" (rs2)
: : "0" (rs1), "1" (rs2)
: "o0", "o1", "o2", "o3", "o4", "o5", "o7", "cc"); : "o0", "o1", "o2", "o3", "o4", "o5", "o7", "cc");
#ifdef DEBUG_MULDIV #ifdef DEBUG_MULDIV
printk ("0x%x%08x\n", rs2, rs1); printk ("0x%x%08x\n", rs2, rs1);
...@@ -152,7 +155,7 @@ int do_user_muldiv(struct pt_regs *regs, unsigned long pc) ...@@ -152,7 +155,7 @@ int do_user_muldiv(struct pt_regs *regs, unsigned long pc)
"mov %%o0, %0\n\t" "mov %%o0, %0\n\t"
"mov %%o1, %1\n\t" "mov %%o1, %1\n\t"
: "=r" (rs1), "=r" (rs2) : "=r" (rs1), "=r" (rs2)
: : "0" (rs1), "1" (rs2)
: "o0", "o1", "o2", "o3", "o4", "o5", "o7", "cc"); : "o0", "o1", "o2", "o3", "o4", "o5", "o7", "cc");
#ifdef DEBUG_MULDIV #ifdef DEBUG_MULDIV
printk ("0x%x%08x\n", rs2, rs1); printk ("0x%x%08x\n", rs2, rs1);
...@@ -181,7 +184,7 @@ int do_user_muldiv(struct pt_regs *regs, unsigned long pc) ...@@ -181,7 +184,7 @@ int do_user_muldiv(struct pt_regs *regs, unsigned long pc)
"mov %%o1, %0\n\t" "mov %%o1, %0\n\t"
"mov %%o0, %1\n\t" "mov %%o0, %1\n\t"
: "=r" (rs1), "=r" (rs2) : "=r" (rs1), "=r" (rs2)
: "r" (regs->y) : "r" (regs->y), "0" (rs1), "1" (rs2)
: "o0", "o1", "o2", "o3", "o4", "o5", "o7", : "o0", "o1", "o2", "o3", "o4", "o5", "o7",
"g1", "g2", "g3", "cc"); "g1", "g2", "g3", "cc");
#ifdef DEBUG_MULDIV #ifdef DEBUG_MULDIV
...@@ -210,7 +213,7 @@ int do_user_muldiv(struct pt_regs *regs, unsigned long pc) ...@@ -210,7 +213,7 @@ int do_user_muldiv(struct pt_regs *regs, unsigned long pc)
"mov %%o1, %0\n\t" "mov %%o1, %0\n\t"
"mov %%o0, %1\n\t" "mov %%o0, %1\n\t"
: "=r" (rs1), "=r" (rs2) : "=r" (rs1), "=r" (rs2)
: "r" (regs->y) : "r" (regs->y), "0" (rs1), "1" (rs2)
: "o0", "o1", "o2", "o3", "o4", "o5", "o7", : "o0", "o1", "o2", "o3", "o4", "o5", "o7",
"g1", "g2", "g3", "cc"); "g1", "g2", "g3", "cc");
#ifdef DEBUG_MULDIV #ifdef DEBUG_MULDIV
......
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