fix pass_condition() LE condition code check
The LE check is obviously buggy (as easily triggered during some testing), but I didn't audit the rest of the cases. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>__archive__
parent
5535399a46
commit
ed1e45b388
|
@ -243,9 +243,9 @@ int pass_condition(uint32_t cpsr, uint32_t opcode)
|
|||
else
|
||||
return 0;
|
||||
case 0xd: /* LE */
|
||||
if ((cpsr & 0x40000000) &&
|
||||
(((cpsr & 0x80000000) && !(cpsr & 0x10000000))
|
||||
|| (!(cpsr & 0x80000000) && (cpsr & 0x10000000))))
|
||||
if ((cpsr & 0x40000000) ||
|
||||
((cpsr & 0x80000000) && !(cpsr & 0x10000000))
|
||||
|| (!(cpsr & 0x80000000) && (cpsr & 0x10000000)))
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue