Commit 823df435 authored by Anton Blanchard's avatar Anton Blanchard Committed by Benjamin Herrenschmidt

powerpc: No need to save XER in a system call

The XER is a volatile register so there is no need to save and restore
it over a system call - zero it out in the exception stack frame
instead.

This should fix a 5 cycle stall of the mfxer/std seen on POWER7.
Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent d14299de
...@@ -82,6 +82,7 @@ system_call_common: ...@@ -82,6 +82,7 @@ system_call_common:
std r11,GPR10(r1) std r11,GPR10(r1)
std r11,GPR11(r1) std r11,GPR11(r1)
std r11,GPR12(r1) std r11,GPR12(r1)
std r11,_XER(r1)
std r9,GPR13(r1) std r9,GPR13(r1)
mfcr r9 mfcr r9
mflr r10 mflr r10
...@@ -89,9 +90,7 @@ system_call_common: ...@@ -89,9 +90,7 @@ system_call_common:
std r9,_CCR(r1) std r9,_CCR(r1)
std r10,_LINK(r1) std r10,_LINK(r1)
std r11,_TRAP(r1) std r11,_TRAP(r1)
mfxer r9
mfctr r10 mfctr r10
std r9,_XER(r1)
std r10,_CTR(r1) std r10,_CTR(r1)
std r3,ORIG_GPR3(r1) std r3,ORIG_GPR3(r1)
ld r2,PACATOC(r13) ld r2,PACATOC(r13)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment