Linux MIPS Architecture development
 help / color / mirror / Atom feed
* Can't build a CONFIG_CPU_NEVADA kernel
@ 2001-03-14 13:46 Daniel Jacobowitz
  2001-03-14 18:59 ` Ralf Baechle
  0 siblings, 1 reply; 24+ messages in thread
From: Daniel Jacobowitz @ 2001-03-14 13:46 UTC (permalink / raw)
  To: linux-mips

I've been trying for a couple of days now to build a MIPS kernel with
CONFIG_CPU_NEVADA, and I can't get it to work.  r4k_switch.S produces a
pile of "opcode not supported by processor" errors.

First, I figured out where the problem is coming from:

r4k_switch.S is included for all processors but the r3000 and r3912. 
Is that really correct?  Then, it references FPU_SAVE_DOUBLE, which
includes:

        cfc1    tmp,  fcr31;                    \
        sdc1    $f0,  (THREAD_FPU + 0x000)(thread); \
        sdc1    $f2,  (THREAD_FPU + 0x010)(thread); \


The sdc1 instruction in binutils is flagged like this:
      if (mips_cpu == CPU_R4650)
        {
          as_bad (_("opcode not supported on this processor"));
          return;
        }

And the IVR sets CONFIG_CPU_NEVADA, which produces
ifdef CONFIG_CPU_NEVADA
GCCFLAGS        += -mcpu=r8000 -mips2 -Wa,--trap -mmad
endif

and -mmad becomes -m4650 to the assembler.


Something is fishy here.  Anyone know what?  I have a suspicion that we
need to change the way we invoke binutils.  Making -mmad imply -m4650
just seems lame, since -m4650 also implies -msingle-float, and I don't
think that's right for the r8000.

I worked back in time in gcc, binutils, and kernel sources and I
couldn't figure out what's changed - I'm sure this worked at some
point.

Any ideas?

-- 
Daniel Jacobowitz                           Debian GNU/Linux Developer
Monta Vista Software                              Debian Security Team
                         "I am croutons!"

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2001-03-16 19:35 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-03-14 13:46 Can't build a CONFIG_CPU_NEVADA kernel Daniel Jacobowitz
2001-03-14 18:59 ` Ralf Baechle
2001-03-14 19:05   ` Daniel Jacobowitz
2001-03-14 19:20     ` Ralf Baechle
2001-03-14 19:48       ` Jun Sun
2001-03-14 20:02         ` Ralf Baechle
2001-03-14 20:56       ` Daniel Jacobowitz
2001-03-14 22:11       ` Kevin D. Kissell
2001-03-14 22:11         ` Kevin D. Kissell
2001-03-14 22:47         ` Kevin D. Kissell
2001-03-14 22:47           ` Kevin D. Kissell
2001-03-15  1:50           ` Pete Popov
2001-03-15  8:01             ` Kevin D. Kissell
2001-03-15  8:01               ` Kevin D. Kissell
2001-03-16 14:04         ` Ralf Baechle
2001-03-16 14:04           ` Ralf Baechle
2001-03-16 18:02           ` Daniel Jacobowitz
2001-03-16 18:16             ` Ralf Baechle
2001-03-16 18:46           ` Kevin D. Kissell
2001-03-16 18:46             ` Kevin D. Kissell
2001-03-16 19:35             ` Ralf Baechle
2001-03-16 19:35               ` Ralf Baechle
2001-03-16 15:34         ` Ralf Baechle
2001-03-16 15:34           ` Ralf Baechle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox