Re: IP28: "Inconsistent ISA" messages during kernel build

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/12/2015 05:00, Matthew Fortune wrote:
> Markos Chandras <Markos.Chandras@xxxxxxxxxx> writes:
>> On 05/12/2015 04:09 AM, Joshua Kinard wrote:
>>>
>>> Has anyone tried to build an IP28 kernel lately?  I've been getting
>>> quite a few warnings out of the linker regarding e_flags and the new
>> .MIPS.abiflags stuff.
>>>  Not seen it on the other SGI platforms, so I am assuming this has
>>> something to do with what flags are passed to the compiler/linker.
>>>
>>> mips64-unknown-linux-gnu-ld: fs/ext4/symlink.o: warning: Inconsistent
>>> ISA between e_flags and .MIPS.abiflags
>>> mips64-unknown-linux-gnu-ld: fs/ext4/symlink.o: warning: Inconsistent
>>> ISA extensions between e_flags and .MIPS.abiflags
>>>
>>> Seeing this on a build of 4.0.2 based off of a 20150418 checkout from
>> git.
>>>
>>> --J
>>>
>> Hi,
>>
>> I presume you are using binutils >= 2.25? I have seen this problem in my
>> local build tests as well and I discussed this with Matthew (now on CC).
>> It seems it's an 'innocent' warning added to binutils 2.25 but I am not
>> sure if this is now fixed or not. Matthew might be able to provide more
>> information.
> 
> I don't really know what an IP28 kernel is. What is the -march for this?
> There is an issue with -march=xlp as the XLP is marked as an XLR in the
> e_flags which is a mips64 but the xlp is a mips64r2 which is correctly
> annotated as such in the .MIPS.abiflags. I haven't quite figured out what
> to do about this yet.

It's one of the SGI platforms.  Specifically, the Indigo2 Impact R10000.
Here's a short list supported by Linux:

IP22: Indy, Indigo2 (R4x00)
IP27: Origin 200/2000, Onyx2 (R10K/R12K/R14K)
IP28: Indigo2 Impact R10000 (R10K)
IP30: Octane (R10K/R12K/R14K) (not in mainline)
IP32: O2 (R5000, RM5200, RM7000) (R10K/R12K not supported)

Valid -march values for these are:

IP22 (Indy): mips3, mips4, r4000, r4400, r4600, r5000
IP22 (Indigo2): mips3, r4000, r4400, r4600
IP27 to IP30: mips4, r10000, r12000, r14000
IP32: mips4, r5000, rm5200, rm7000


The IPxx number basically indicates the hardware platform.  There's also a
"software" IPxx number for some platforms to indicate minor variations of the
hardware.  E.g., hardware IP22 refers to both Indigo2 and Indy, but Indy is
"software" IP24.  An IP27 Origin 2000/Onyx2 with R12K/R14K node boards is
"software" IP31.  Origin 3x0/3000 is "software" IP35, Fuel is IP45, and Tezro
is IP53, though collectively, all three have a hardware of IP35.  Yes, SGI was
weird.

The Indigo2 was the odd duck of the group.  It has three hardware IPxx
variants, and I guess the "software" IPxx is the same for each.  The R4x00 CPU
is IP22, the rare R8000 is IP26, and the R10000 is IP28.  It's also a
non-coherent machine, which means the R10000's speculative execution feature
comes into play and you're lucky to keep an IP28 kernel running for more than a
few hours if you actually use it for anything.  IP32 (the O2) is also a
non-coherent platform and supports the R10K/R12K CPUs, but little effort has
been made to run Linux reliably on those.

As the GCC/MIPS maintainer, if you've ever wondered what the
-mr10k-cache-barrier switch was used for, it's specifically for building
kernels on IP28 (and maybe IP32) systems running the R10000 CPU.  Check out the
section in the R10000 manual on "Side effects of speculative execution" if you
ever get bored and gasp in wonder at SGI's insanity...

Btw, for anyone interested, there's a good condition R8000 I2 on eBay, item
#141663824264.  Such an odd CPU, that R8000...

-- 
Joshua Kinard
Gentoo/MIPS
kumba@xxxxxxxxxx
6144R/F5C6C943 2015-04-27
177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943

"The past tempts us, the present confuses us, the future frightens us.  And our
lives slip away, moment by moment, lost in that vast, terrible in-between."

--Emperor Turhan, Centauri Republic





[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux