64 bit build fails
I'm trying to build a 64bit kernel, but it fails with following message:
mips64-linux-gcc -D__KERNEL__ -I/home/soc/proj/work/carstenl/sw/linux-2.4.0/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -mabi=64 -G 0 -mno-abicalls -fno-pic -Wa,--trap -pipe -mcpu=r8000 -mips4
-Wa,-32 -c head.S -o head.ohead.S: Assembler messages:
head.S:69: Error: Missing ')' assumed
head.S:69: Error: Missing ')' assumed
head.S:69: Error: Missing ')' assumed
head.S:69: Error: Missing ')' assumed
head.S:69: Error: Missing ')' assumed
head.S:69: Error: Missing ')' assumed
head.S:69: Error: illegal operands `dli'
head.S:107: Error: Missing ')' assumed
head.S:107: Error: Missing ')' assumed
head.S:107: Error: Missing ')' assumed
head.S:107: Error: Missing ')' assumed
head.S:107: Error: Missing ')' assumed
head.S:107: Error: Missing ')' assumed
head.S:107: Error: illegal operands `dli'
head.S:109: Error: Instruction dsll requires absolute expression head.S:109: Error: Instruction dsll requires absolute expression make[1]: *** [head.o] Error 1
make[1]: Leaving directory `/home/soc/proj/work/carstenl/sw/linux-2.4.0/arch/mips64/kernel'
make: *** [_dir_arch/mips64/kernel] Error 2
What are this macro doing ?
.macro GET_NASID_ASM
dli t1, LOCAL_HUB_ADDR(NI_STATUS_REV_ID)
ld t1, (t1)
and t1, NSRI_NODEID_MASK
dsrl t1, NSRI_NODEID_SHFT
.endm
/Carsten
--
_ _ ____ ___ Carsten Langgaard Mailto:[email protected] |\ /|||___)(___ MIPS Denmark Direct: +45 4486 5527 | \/ ||| ____) Lautrupvang 4B Switch: +45 4486 5555 TECHNOLOGIES 2750 Ballerup Fax...: +45 4486 5556 Denmark http://www.mips.com
Quoted 9 lines · Carsten Langgaard
I'm trying to build a 64bit kernel, but it fails with following message:
mips64-linux-gcc -D__KERNEL__
(quoted diff) +0
-4-I/home/soc/proj/work/carstenl/sw/linux-2.4.0/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -mabi=64 -G 0 -mno-abicalls -fno-pic -Wa,--trap -pipe -mcpu=r8000 -mips4 -Wa,-32 -c head.S -o head.o
head.S: Assembler messages:
head.S:69: Error: Missing ')' assumed
Looks like an attempt to build a 64-bit Indy kernel. Various people working on the Origin support have completly broken the support for anything else in their battle tank-style approach ...
Ralf
Quoted 4 lines · Ralf Baechle
Quoted 2 lines · Carsten Langgaard
I'm trying to build a 64bit kernel, but it fails with following message:
Quoted 11 lines
Quoted 7 lines
mips64-linux-gcc -D__KERNEL__
(quoted diff) +0
-4-I/home/soc/proj/work/carstenl/sw/linux-2.4.0/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -mabi=64 -G 0 -mno-abicalls -fno-pic -Wa,--trap -pipe -mcpu=r8000 -mips4 -Wa,-32 -c head.S -o head.o
head.S: Assembler messages:
head.S:69: Error: Missing ')' assumedLooks like an attempt to build a 64-bit Indy kernel. Various people working on the Origin support have completly broken the support for anything else in their battle tank-style approach ...
Ok, that explains why a lot of things are broken. So who will be responsible for fixing all the broken pieces ?
Quoted 2 lines
Ralf
--
_ _ ____ ___ Carsten Langgaard Mailto:[email protected] |\ /|||___)(___ MIPS Denmark Direct: +45 4486 5527 | \/ ||| ____) Lautrupvang 4B Switch: +45 4486 5555 TECHNOLOGIES 2750 Ballerup Fax...: +45 4486 5556 Denmark http://www.mips.com
Quoted 1 line
Quoted 1 line
Looks like an attempt to build a 64-bit Indy kernel. Various people
working
Quoted 1 line
Quoted 1 line
on the Origin support have completly broken the support for anything
else in
Quoted 4 lines
Quoted 1 line
their battle tank-style approach ...
Ok, that explains why a lot of things are broken. So who will be responsible for fixing all the broken pieces ?
In the absence of the SGI people being directed to do a clean job, I suppose the problem falls to those who have an interest in a clean and portable 64-bit MIPS kernel. That would include MIPS, of course. But what about the rest of you - could we see a show of virtual hands? I know that TI has both 4K and 5K licenses, and may want to be able to exploit the 64-bit capability of the 5K under Linux. And the guys doing the Vr41xx ports may also be interested. Anyone else? Those of you with R4K-based DECstations, perhaps? Software shops looking to support high-end embedded MIPS in set-tops?
Another aspect of this is that, in the newer MIPS designs that conform to the MIPS64 architecture spec, it is finally possible to cleanly seperate the use of 64-bit data types from the use of 64-bit virtual addresses. The processors in the SGI platforms do not have this capability, and it would be a lot to ask of the people doing 64-bit Linux for Origin etc. to treat the addressing and data aspects orthogonally. I haven't checked the code, but I would imagine that we will have to go in and redo things from that perspective as well.
Regards,
Kevin K.
Quoted 12 lines · Kevin D. Kissell
In the absence of the SGI people being directed to do a clean job, I suppose the problem falls to those who have an interest in a clean and portable 64-bit MIPS kernel. That would include MIPS, of course. But what about the rest of you - could we see a show of virtual hands? I know that TI has both 4K and 5K licenses, and may want to be able to exploit the 64-bit capability of the 5K under Linux. And the guys doing the Vr41xx ports may also be interested. Anyone else? Those of you with R4K-based DECstations, perhaps? Software shops looking to support high-end embedded MIPS in set-tops?
Quoted 10 lines
Another aspect of this is that, in the newer MIPS designs that conform to the MIPS64 architecture spec, it is finally possible to cleanly seperate the use of 64-bit data types from the use of 64-bit virtual addresses. The processors in the SGI platforms do not have this capability, and it would be a lot to ask of the people doing 64-bit Linux for Origin etc. to treat the addressing and data aspects orthogonally. I haven't checked the code, but I would imagine that we will have to go in and redo things from that perspective as well.
That's one of the plans I have; even in the absense of these new MIPS64 features separation of these new features makes sense. One of the plans on my agenda is for example the introduction of 2-level pagetables for mips64 which will eleminate much of the extra price the 64-bit kernel currently has to pay.
Ralf
Quoted 10 lines
Quoted 2 lines
Quoted 2 lines
Looks like an attempt to build a 64-bit Indy kernel. Various people
working
Quoted 1 line
Quoted 1 line
on the Origin support have completly broken the support for anything
else in
Quoted 4 lines
Quoted 1 line
their battle tank-style approach ...
Ok, that explains why a lot of things are broken. So who will be responsible for fixing all the broken pieces ?
Quoted 11 lines
In the absence of the SGI people being directed to do a clean job, I suppose the problem falls to those who have an interest in a clean and portable 64-bit MIPS kernel. That would include MIPS, of course. But what about the rest of you - could we see a show of virtual hands? I know that TI has both 4K and 5K licenses, and may want to be able to exploit the 64-bit capability of the 5K under Linux. And the guys doing the Vr41xx ports may also be interested. Anyone else? Those of you with R4K-based DECstations, perhaps? Software shops looking to support high-end embedded MIPS in set-tops?
I took a crack at this a while back trying the non-brute force approach. However, I'm only interested in it as a hobby (I have an I2 R4400, and I'd like to get into some embedded work with the SiByte chip when it comes out). I was trying to make the computer look like a single node (assigning a NASID of 0, etc..), but i got bogged down in the page vs. node stuff before i got to far into it. I'd be willing to help and test again, but i have limited time now, unfortunately.
I was going for functionality, not speed, obviously ;)
john.c
- --
John Clemens BS, Computer Engineering, RPI 2000 [email protected] at home - Parallel Computer Researcher/Hobbist [email protected] at work - Kernel Engineer
Quoted 12 lines · Carsten Langgaard
Quoted 11 lines
Quoted 7 lines
mips64-linux-gcc -D__KERNEL__
(quoted diff) +0
-4-I/home/soc/proj/work/carstenl/sw/linux-2.4.0/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -mabi=64 -G 0 -mno-abicalls -fno-pic -Wa,--trap -pipe -mcpu=r8000 -mips4 -Wa,-32 -c head.S -o head.o
head.S: Assembler messages:
head.S:69: Error: Missing ')' assumedLooks like an attempt to build a 64-bit Indy kernel. Various people working on the Origin support have completly broken the support for anything else in their battle tank-style approach ...
Quoted 2 lines
Ok, that explains why a lot of things are broken. So who will be responsible for fixing all the broken pieces ?
This is the question you'd ask a company. This is Free Software, not some company's product ...
Ralf
Quoted 14 lines · Ralf Baechle
Quoted 12 lines · Carsten Langgaard
Quoted 11 lines
Quoted 7 lines
mips64-linux-gcc -D__KERNEL__
(quoted diff) +0
-4-I/home/soc/proj/work/carstenl/sw/linux-2.4.0/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -mabi=64 -G 0 -mno-abicalls -fno-pic -Wa,--trap -pipe -mcpu=r8000 -mips4 -Wa,-32 -c head.S -o head.o
head.S: Assembler messages:
head.S:69: Error: Missing ')' assumedLooks like an attempt to build a 64-bit Indy kernel. Various people working on the Origin support have completly broken the support for anything else in their battle tank-style approach ...
Quoted 5 lines
Quoted 2 lines
Ok, that explains why a lot of things are broken. So who will be responsible for fixing all the broken pieces ?
This is the question you'd ask a company. This is Free Software, not some company's product ...
What I mean is that we need some discipline, as you mention yourself, it is unfortunate with this battle tank-style approach.
And I think you do a pretty good job trying to make the rest of the code as clean as possible.
Of course some time it is a little bit annoying you doesn't just accept my patches :-)
Just kidding, I think that's the right way to do things.
I was just hoping that the 64bit code was in the same condition as the rest of the code.
/Carsten
--
_ _ ____ ___ Carsten Langgaard Mailto:[email protected] |\ /|||___)(___ MIPS Denmark Direct: +45 4486 5527 | \/ ||| ____) Lautrupvang 4B Switch: +45 4486 5555 TECHNOLOGIES 2750 Ballerup Fax...: +45 4486 5556 Denmark http://www.mips.com
Quoted 2 lines · Carsten Langgaard
Of course some time it is a little bit annoying you doesn't just accept my patches :-) Just kidding, I think that's the right way to do things.
Actually I tried to apply the patch but patch thinks your patch isn't a valid patch file ...
Quoted 2 lines
I was just hoping that the 64bit code was in the same condition as the rest of the code.
Depends. It's running fairly well on Origins; nobody made a more than halfbreed attempt to support IP22 for mips64, so what you see was kind of what had to be expected.
Ralf
Carsten Langgaard wrote:
[snip]
Quoted 5 lines
Quoted 3 lines
Looks like an attempt to build a 64-bit Indy kernel. Various people working on the Origin support have completly broken the support for anything else in their battle tank-style approach ...
Ok, that explains why a lot of things are broken.
You might be interested in some work i have done [1] to create a 64-bit kernel for SGI IP28 aka Indigo2 Impact. Don't expect it to be less broken, it basically does an controlled crash at the very beginning of kernel initialization.
(The IP28 Firmware doesn't like 32-bit ELF or even ecoff kernels.)
Quoted 1 line
So who will be responsible for fixing all the broken pieces ?
The one who asks about it, i assume. ;-)
[1] http://www.csv.ica.uni-stuttgart.de/homes/ths/linux-mips/
Thiemo