new binutils breaks "tlbie" instruction in kernel?
The "tlbie" instruction has a bit which may be set to indicate regular or large page size. This used to be set via an optional second parameter.
Apparently some time between binutils versions 2.15.91.0.2 and 2.15.92.0.2 a change went in to make this second parameter mandatory, which breaks the kernel ppc code.
What is the recommended way to fix this? Do all binutils versions understand the second parameter, or will "sufficiently old" versions choke on it?
Thanks,
Chris
Quoted 10 lines · Chris Friesen
The "tlbie" instruction has a bit which may be set to indicate regular or large page size. This used to be set via an optional second parameter.
Apparently some time between binutils versions 2.15.91.0.2 and 2.15.92.0.2 a change went in to make this second parameter mandatory, which breaks the kernel ppc code.
What is the recommended way to fix this? Do all binutils versions understand the second parameter, or will "sufficiently old" versions choke on it?
Wasn't it fixed ?
Ben.
Someone should just add some of our asm files into the ppc binutils=20 testsuite, why we cant seem to get a stability on this seems beyond me=20=
:) Well, something else to add to the ppc kernel janitors list.
- kumar
Quoted 8 lines · Benjamin Herrenschmidt
Quoted 1 line · Chris Friesen
The "tlbie" instruction has a bit which may be set to indicate=20
regular
Quoted 1 line
or large page size.=A0 This used to be set via an optional second=20
parameter.
Quoted 3 lines
Apparently some time between binutils versions 2.15.91.0.2 and 2.15.92.0.2 a change went in to make this second parameter =
mandatory,
Quoted 16 lines
Quoted 5 lines
which breaks the kernel ppc code.
What is the recommended way to fix this?=A0 Do all binutils versions understand the second parameter, or will "sufficiently old" versions choke on it?
Wasn't it fixed ?
Ben.
_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev
Quoted 7 lines · Benjamin Herrenschmidt
Quoted 3 lines · Chris Friesen
The "tlbie" instruction has a bit which may be set to indicate regular or large page size. This used to be set via an optional second parameter.
Apparently some time between binutils versions 2.15.91.0.2 and 2.15.92.0.2 a change went in to make this second parameter mandatory, which breaks the kernel ppc code.
Wasn't it fixed ?
Not sure what "it" you mean. The current kernel code does not have the third parm. I'm not sure about the latest binutils, but 2.15.92.0.2 is what a vendor wants to build on.
Chris
Quoted 5 lines · Chris Friesen
Quoted 1 line
Wasn't it fixed ?
Not sure what "it" you mean. The current kernel code does not have the third parm. I'm not sure about the latest binutils, but 2.15.92.0.2 is what a vendor wants to build on.
Binutils was changed in early September last year to require the extra argument. We objected, and it was fixed again about a month later to _not_ require the argument. If you're using 2.15.92.0.2, then apply this patch to it:
2004-10-09 Alan Modra <[email protected]>
* ppc-opc.c: Revert 2004-09-09 change.
ppc-opc.c +1 -1
@@ -300,7 +300,7 @@ const struct powerpc_operand powerpc_ope/* The L field in a D or X form instruction. */ #define L FXM4 + 1 - { 1, 21, 0, 0, 0 }, + { 1, 21, 0, 0, PPC_OPERAND_OPTIONAL },/* The LEV field in a POWER SC form instruction. */ #define LEV L + 1
Signature · 1 line
dwmw2
Quoted 11 lines · Chris Friesen
Quoted 6 lines
The "tlbie" instruction has a bit which may be set to indicate regular or large page size. This used to be set via an optional second parameter.
Apparently some time between binutils versions 2.15.91.0.2 and 2.15.92.0.2 a change went in to make this second parameter mandatory, which breaks the kernel ppc code.
Wasn't it fixed ?
Ben.
My patch indeed was backed out. If ever I find the time I'll get it back in though, but without affecting tlbie (the syntax for tlbie is different when you look at the PEM or at the Books; the patch was supposed to handle a problem in the cmpXX insns only). Someone should get the PEM and the architecture books back in line ;-)
Segher