提交 e3824e42 编写于 作者: R Russell Currey 提交者: Michael Ellerman

powerpc/swsusp: Only use tlbie in POWER4 mode

If CONFIG_HIBERNATION and CONFIG_PPC_BOOK3S_64 are set, code in
arch/powerpc/kernel/swsusp_amd64.S which uses the tlbia macro is enabled.
tlbia in turn uses tlbie, an instruction which takes more than one
operand in newer versions of POWER.  As such, the kernel fails to build
due to the assembler complaining about missing operands.

This can be worked around by assembling the instruction as in POWER4.
This fixes the build breakage caused by enabling CONFIG_HIBERNATION.
Hibernation is currently only tested on G5 PowerMacs, which should be
unaffected by this change.  For other platforms it may now build,
whether or not it works is a different story.
Signed-off-by: NRussell Currey <ruscur@russell.cc>
Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
上级 a7ee5395
...@@ -427,7 +427,10 @@ END_FTR_SECTION_IFCLR(CPU_FTR_601) ...@@ -427,7 +427,10 @@ END_FTR_SECTION_IFCLR(CPU_FTR_601)
li r4,1024; \ li r4,1024; \
mtctr r4; \ mtctr r4; \
lis r4,KERNELBASE@h; \ lis r4,KERNELBASE@h; \
.machine push; \
.machine "power4"; \
0: tlbie r4; \ 0: tlbie r4; \
.machine pop; \
addi r4,r4,0x1000; \ addi r4,r4,0x1000; \
bdnz 0b bdnz 0b
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册