Skip to content
Commit 7422b411 authored by Ovidiu Panait's avatar Ovidiu Panait Committed by Michal Simek
Browse files

microblaze: exception: fix delay slot exception handling



The switch statement in _hw_exception_handler() only covers the
rightmost 5 bits that encode the exception cause:
switch (state & 0x1f)
{
...
}

For this reason, the "0x1000" case will never be reached, because the 13th
bit was zeroed out. To fix this, move delay slot exception handling before
the switch statement (delay slot (DS) bit in Exception Status Register is
independent of the exception cause (EC)).

Signed-off-by: default avatarOvidiu Panait <ovidiu.panait@windriver.com>
Link: https://lore.kernel.org/r/20220213080925.1548411-3-ovidiu.panait@windriver.com


Signed-off-by: default avatarMichal Simek <michal.simek@xilinx.com>
parent 1669b3d1
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment