Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 852c15b7 authored by David Howells's avatar David Howells Committed by Linus Torvalds
Browse files

MN10300: Fix misaligned index-register addressing handling



Fix misalignment handling for an address calculated from the sum of two
registers.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 6d615c78
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -570,11 +570,11 @@ static int misalignment_addr(unsigned long *registers, unsigned params,
			address += *postinc;
			break;
		case DM1:
			postinc = &registers[Dreg_index[opcode >> 2 & 0x0c]];
			postinc = &registers[Dreg_index[opcode >> 2 & 0x03]];
			address += *postinc;
			break;
		case DM2:
			postinc = &registers[Dreg_index[opcode >> 4 & 0x30]];
			postinc = &registers[Dreg_index[opcode >> 4 & 0x03]];
			address += *postinc;
			break;
		case AM0:
@@ -582,11 +582,11 @@ static int misalignment_addr(unsigned long *registers, unsigned params,
			address += *postinc;
			break;
		case AM1:
			postinc = &registers[Areg_index[opcode >> 2 & 0x0c]];
			postinc = &registers[Areg_index[opcode >> 2 & 0x03]];
			address += *postinc;
			break;
		case AM2:
			postinc = &registers[Areg_index[opcode >> 4 & 0x30]];
			postinc = &registers[Areg_index[opcode >> 4 & 0x03]];
			address += *postinc;
			break;
		case RM0: