]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc: Fix 64-bit BookE FP unavailable exceptions
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Sun, 4 Mar 2012 23:55:04 +0000 (10:55 +1100)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 8 Mar 2012 23:55:18 +0000 (10:55 +1100)
commit8b242d762250b75476b521a31e3c1e8c2b706eff
tree6ce26cef57e7a3b60507b823191afed84d3f36a4
parentf74e32137f2c592893d487a680a951ab3c53aa00
powerpc: Fix 64-bit BookE FP unavailable exceptions

We were using CR0.EQ after EXCEPTION_COMMON, hoping it still
contained whether we came from userspace or kernel space.

However, under some circumstances, EXCEPTION_COMMON will
call C code and clobber non-volatile registers, so we really
need to re-load the previous MSR from the stackframe and
re-test.

While there, invert the condition to make the fast path more
obvious and remove the BUG_OPCODE which was a debugging
leftover and call .ret_from_except as we should.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/exceptions-64e.S