linux-mips
[Top] [All Lists]

Re: [PATCH UPDATED 4/4] MIPS: Move definition of SMP processor id regist

To: Jayachandran C <jchandra@broadcom.com>, "Maciej W. Rozycki" <macro@linux-mips.org>
Subject: Re: [PATCH UPDATED 4/4] MIPS: Move definition of SMP processor id register to header file
From: Ralf Baechle <ralf@linux-mips.org>
Date: Thu, 20 Jun 2013 16:48:21 +0200
Cc: linux-mips@linux-mips.org
In-reply-to: <1371559516-4862-2-git-send-email-jchandra@broadcom.com>
List-archive: <http://www.linux-mips.org/archives/linux-mips/>
List-help: <mailto:ecartis@linux-mips.org?Subject=help>
List-id: linux-mips <linux-mips.eddie.linux-mips.org>
List-owner: <mailto:ralf@linux-mips.org>
List-post: <mailto:linux-mips@linux-mips.org>
List-software: Ecartis version 1.0.0
List-subscribe: <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips>
List-unsubscribe: <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1370965298-29210-4-git-send-email-jchandra@broadcom.com> <1371559516-4862-1-git-send-email-jchandra@broadcom.com> <1371559516-4862-2-git-send-email-jchandra@broadcom.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.21 (2010-09-15)
On Tue, Jun 18, 2013 at 06:15:16PM +0530, Jayachandran C wrote:

> The definition of the CP0 register used to save the smp processor
> id is repicated in many files, move them all to thread_info.h.
> 
> Signed-off-by: Jayachandran C <jchandra@broadcom.com>

This breaks the ip27_defconfig build:

  AS      arch/mips/kernel/genex.o
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S: Assembler messages:
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:199: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:250: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:334: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:377: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:461: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:462: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:463: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:464: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:465: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:466: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:467: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:468: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:469: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:470: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:471: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:479: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:481: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:482: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:483: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:484: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:546: Error: Illegal 
operands `dmfc0 $26,$4,0'
/home/ralf/src/linux/upstream-sfr/arch/mips/kernel/genex.S:581: Error: Illegal 
operands `dmfc0 $26,$4,0'
make[4]: *** [arch/mips/kernel/genex.o] Error 1

So I've removed it again for now.

Maciej, I wonder why does gas in MIPS III/IV mode accept

        dmfc0   $reg1, $cp0reg

but not

        dmfc0   $reg1, $cp0reg, 0

The generated code is the same after all.  Same for MIPS I/II mode and mfc0.

  Ralf

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