On 10/2/15, Peter Bergner [off-list ref] wrote:
On Fri, 2015-10-02 at 22:03 +0300, Denis Kirjanov wrote:
quoted
arch/powerpc/kernel/swsusp_asm64.S: Assembler messages:
quoted
arch/powerpc/kernel/swsusp_asm64.S:188: Error: missing operand
scripts/Makefile.build:294: recipe for target
'arch/powerpc/kernel/swsusp_asm64.o' failed
make[1]: *** [arch/powerpc/kernel/swsusp_asm64.o] Error 1
Makefile:941: recipe for target 'arch/powerpc/kernel' failed
make: *** [arch/powerpc/kernel] Error 2
[snip]
quoted
quoted
I don't know enough ppc assembly to properly fix this but I can test.
Could you please test the patch attached?
[snip]
quoted
-0: tlbie r4; \
+0: tlbie r4, 0; \
This isn't correct. With POWER7 and later (which this compile
is, since it's on LE), the tlbie instruction takes two register
operands:
tlbie RB, RS
The tlbie instruction on pre POWER7 cpus had one required register
operand (RB) and an optional second L operand, where if you omitted
it, it was the same as using "0":
tlbie RB, L
This is a POWER7 and later build, so your change which adds the "0"
above is really adding r0 for RS. The new tlbie instruction doesn't
treat r0 specially, so you'll be using whatever random bits which
happen to be in r0 which I don't think that is what you want.
Ok, than we can just zero out r5 for example and use it in tlbie as RS,
right?
Peter