linux-mips
[Top] [All Lists]

mips64 cpu-probe.c compile failure

To: linux-mips@linux-mips.org, macro@linux-mips.org
Subject: mips64 cpu-probe.c compile failure
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Thu, 18 Sep 2003 18:05:36 +0900 (JST)
In-reply-to: <20030916151302Z8225419-1272+5508@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20030916151302Z8225419-1272+5508@linux-mips.org>
Sender: linux-mips-bounce@linux-mips.org
>>>>> On Tue, 16 Sep 2003 16:12:57 +0100, macro@linux-mips.org said:
macro> Modified files:
macro>  arch/mips64/kernel: Tag: linux_2_4 cpu-probe.c 

macro> Log message:
macro>  Fix indeterminism in the multiply/shift erratum detection leading
macro>  to false negatives.  Plus a few minor comment updates for clarity.

gcc 3.3.1 can not compile current (2.4) arch/mips64/kernel/cpu-probe.c.

cpu-probe.c:118: warning: asm operand 0 probably doesn't match constraints
cpu-probe.c:118: warning: asm operand 1 probably doesn't match constraints
...
cpu-probe.c: In function `check_mult_sh':
cpu-probe.c:118: error: impossible constraint in `asm'

The code is:

static inline void align_mod(int align, int mod)
{
        asm volatile(
                ".set   push\n\t"
                ".set   noreorder\n\t"
                ".balign %0\n\t"
                ".rept  %1\n\t"
                "nop\n\t"
                ".endr\n\t"
                ".set   pop"
                :
                : "i" (align), "i" (mod));
}

The align_mod() and mult_sh_align_mod() should be written as macro?

---
Atsushi Nemoto

<Prev in Thread] Current Thread [Next in Thread>