diff options
author | Ovidiu Panait <ovidiu.panait@windriver.com> | 2021-11-30 19:33:52 +0300 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2022-01-05 12:22:03 +0300 |
commit | 48039c333f057a8f95420e1ddf33c77ac974a113 (patch) | |
tree | b775ce712956a013d1e6944965d18ead0ffd75fb | |
parent | 7a971dfbebf639a4a2fdf75909d6d50670c69545 (diff) | |
download | u-boot-48039c333f057a8f95420e1ddf33c77ac974a113.tar.xz |
microblaze: start.S: use stack space as scratch memory for endian offset
To simpify the code, use stack space as scratch memory for endian offset
calculation, rather than saving/restoring the first unused MB vector.
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Link: https://lore.kernel.org/r/20211130163358.2531677-5-ovidiu.panait@windriver.com
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
-rw-r--r-- | arch/microblaze/cpu/start.S | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/microblaze/cpu/start.S b/arch/microblaze/cpu/start.S index 463e0feba4..a1c06108d7 100644 --- a/arch/microblaze/cpu/start.S +++ b/arch/microblaze/cpu/start.S @@ -125,10 +125,8 @@ __setup_exceptions: * 4b) BIG endian - r10 contains 0x0 because 0x2 offset is on addr 0x3 */ addik r6, r0, 0x2 /* BIG/LITTLE endian offset */ - lwi r7, r0, 0x28 - swi r6, r0, 0x28 /* used first unused MB vector */ - lbui r10, r0, 0x28 /* used first unused MB vector */ - swi r7, r0, 0x28 + sw r6, r1, r0 + lbu r10, r1, r0 /* add opcode instruction for 32bit jump - 2 instruction imm & brai */ addi r2, r0, 0xb0000000 /* hex b000 opcode imm */ |