diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-11 11:13:46 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-11 11:13:46 -0800 |
commit | 0969d11e201b82d30a158ccdb3aca67a7b845613 (patch) | |
tree | 25273891ff5ac341d5c65ee0f82fc0a55aa8cfb6 /arch/microblaze/kernel/hw_exception_handler.S | |
parent | 16ee8db6a93ffbc021132599f33288613f042c3d (diff) | |
parent | d15be32c30e6108cdab76ca895a19b5f8b88b5ca (diff) |
Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze
* 'next' of git://git.monstr.eu/linux-2.6-microblaze:
microblaze: remove obsolete DEBUG_BOOTMEM
microblaze: trivial: Fix removed the part of line
microblaze: Fix __muldi3 function for little-endian.
microblaze: Clear i/dcache for sw breakpoints
microblaze: Remove useless early_init_dt_check_for_initrd
microblaze: Fix unaligned exception for little endian platform
microblaze: Add PVR for Microblaze v8.00.b
microblaze: Correct PVR access macros
Revert "microblaze: Simplify syscall rutine"
microblaze: Fix initramfs
arch/microblaze: Remove unnecessary semicolons
Diffstat (limited to 'arch/microblaze/kernel/hw_exception_handler.S')
-rw-r--r-- | arch/microblaze/kernel/hw_exception_handler.S | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/microblaze/kernel/hw_exception_handler.S b/arch/microblaze/kernel/hw_exception_handler.S index 781195438ee..25f6e07d8de 100644 --- a/arch/microblaze/kernel/hw_exception_handler.S +++ b/arch/microblaze/kernel/hw_exception_handler.S @@ -945,11 +945,20 @@ store3: sbi r3, r4, 2; store4: sbi r3, r4, 3; /* Delay slot */ ex_shw_vm: /* Store the lower half-word, byte-by-byte into destination address */ +#ifdef __MICROBLAZEEL__ + lbui r3, r5, 0; +store5: sbi r3, r4, 0; + lbui r3, r5, 1; + brid ret_from_exc; +store6: sbi r3, r4, 1; /* Delay slot */ +#else lbui r3, r5, 2; store5: sbi r3, r4, 0; lbui r3, r5, 3; brid ret_from_exc; store6: sbi r3, r4, 1; /* Delay slot */ +#endif + ex_sw_end_vm: /* Exception handling of store word, ends. */ /* We have to prevent cases that get/put_user macros get unaligned pointer |