MN10300: Fix register-postinc addressing misalignment handling

Fix misalignment handling of operands with register postincrement addressing.
The flag to indicate that postincrement is required should not be interpreted
as an specification of a value to be added to the address.

Also add BUGs to catch unimplemented parameter markings in the opcodes table.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by David Howells and committed by Linus Torvalds f911c685 b308bf3b

+3 -1
+3 -1
arch/mn10300/mm/misalignment.c
··· 543 { 544 unsigned long *postinc = NULL, address = 0, tmp; 545 546 - params &= 0x7fffffff; 547 548 do { 549 switch (params & 0xff) { ··· 631 address += disp; 632 break; 633 default: 634 return 0; 635 } 636 } while ((params >>= 8)); ··· 698 break; 699 700 default: 701 return 0; 702 } 703
··· 543 { 544 unsigned long *postinc = NULL, address = 0, tmp; 545 546 + params &= 0x00ffffff; 547 548 do { 549 switch (params & 0xff) { ··· 631 address += disp; 632 break; 633 default: 634 + BUG(); 635 return 0; 636 } 637 } while ((params >>= 8)); ··· 697 break; 698 699 default: 700 + BUG(); 701 return 0; 702 } 703