microblaze: Fix MSR flags when returning from exception
authorMichal Simek <michal.simek@xilinx.com>
Wed, 24 Feb 2016 10:30:04 +0000 (11:30 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 22 Jun 2017 13:37:00 +0000 (15:37 +0200)
commit14ef905bb2eecb02f7ce31b8fbedd4a75ddf0f57
treeb430bea7ffb54f04d7fb72ed6e1bd17b5d99c7a2
parentfaf154cd49ba99b24f45a65b18b0deca0bfed8ee
microblaze: Fix MSR flags when returning from exception

The issue was that the service routine was sometimes
returning with the wrong flags set in the MSR.

In this case, EIP bit was set while returning to User Mode
which is an illegal combination since exceptions are always
handled in privileged mode.

In order for MicroBlaze to take an interrupt, the MSR must have IE=1,
BIP=0 and EIP=0.

Signed-off-by: Stefan Asserhall <stefana@xilinx.com>
Signed-off-by: Goran Bilski <goran@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arch/microblaze/kernel/entry.S