linux-mips
[Top] [All Lists]

Re: CONFIG_MIPS32 implies CONFIG_CPU_HAS_PREFETCH

To: Stewart Brodie <stewart.brodie@pace.co.uk>
Subject: Re: CONFIG_MIPS32 implies CONFIG_CPU_HAS_PREFETCH
From: Ralf Baechle <ralf@oss.sgi.com>
Date: Wed, 7 Aug 2002 17:25:31 +0200
Cc: linux-mips@oss.sgi.com
In-reply-to: <0de052624b.sbrodie@sbrodie.cam.pace.co.uk>; from stewart.brodie@pace.co.uk on Wed, Aug 07, 2002 at 04:04:16PM +0100
References: <0de052624b.sbrodie@sbrodie.cam.pace.co.uk>
Sender: owner-linux-mips@oss.sgi.com
User-agent: Mutt/1.2.5.1i
On Wed, Aug 07, 2002 at 04:04:16PM +0100, Stewart Brodie wrote:

> linux_2_4 branch question: In config-shared.in, and previously in config.in,
> whether or not the CPU has prefetch instructions seems to be dependent only
> on whether CONFIG_MIPS32 is y.  However, this causes our kernel builds to die
> when compiling memcpy.S because the compiler is objecting to the pref/prefx
> instructions.  The gcc 2.96 compiler options we are using are -mtune=r4600
> and -mips2.
> 
> Is it simply the case that the processors on all the boards supported in the
> MIPS builds all support prefetch?  At the moment, I've just put a specific
> check in for our particular processor to stop CONFIG_CPU_HAS_PREFETCH from
> being set to y and that stops the problem.  In earlier (2.4.17 pre-release)
> kernels, whether or not to define PREF/PREFX as pref/prefx or the empty
> string was determined on a stricter set of criteria based around actual CPU
> types rather than a blanket check on being a 32-bit MIPS.

The MIPS32 architecture specifies a prefetch instruction.  So it's correct
(though not necessarily alway the most efficient thing) to assume your
system has this instruction available.  The compiler option -mips2 which
you're specifying however tells the tools that you do not have that
instruction, so is wrong.

  Ralf


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