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 543 { 544 544 unsigned long *postinc = NULL, address = 0, tmp; 545 545 546 - params &= 0x7fffffff; 546 + params &= 0x00ffffff; 547 547 548 548 do { 549 549 switch (params & 0xff) { ··· 631 631 address += disp; 632 632 break; 633 633 default: 634 + BUG(); 634 635 return 0; 635 636 } 636 637 } while ((params >>= 8)); ··· 698 697 break; 699 698 700 699 default: 700 + BUG(); 701 701 return 0; 702 702 } 703 703