mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-08-21 04:36:18 -04:00
microblaze: Save and restore first unused vector
Use one memory space to detect little/big endian platforms. The first unused address(0x28) is used instead 0x0 address (reset vectors). Detection rewrited reset vector setup from first stage bootloader. Workflow: 1. Store 0x28 to r7 2. Do little/big endian test 3. Restore r7 to 0x28 Signed-off-by: Michal Simek <monstr@monstr.eu>
This commit is contained in:
parent
86c1b2a86b
commit
f3090fce77
@ -51,8 +51,10 @@ _start:
|
|||||||
* 4b) BIG endian - r10 contains 0x0 because 0x2 offset is on addr 0x3
|
* 4b) BIG endian - r10 contains 0x0 because 0x2 offset is on addr 0x3
|
||||||
*/
|
*/
|
||||||
addik r6, r0, 0x2 /* BIG/LITTLE endian offset */
|
addik r6, r0, 0x2 /* BIG/LITTLE endian offset */
|
||||||
swi r6, r0, 0
|
lwi r7, r0, 0x28
|
||||||
lbui r10, r0, 0
|
swi r6, r0, 0x28 /* used first unused MB vector */
|
||||||
|
lbui r10, r0, 0x28 /* used first unused MB vector */
|
||||||
|
swi r7, r0, 0x28
|
||||||
|
|
||||||
/* add opcode instruction for 32bit jump - 2 instruction imm & brai */
|
/* add opcode instruction for 32bit jump - 2 instruction imm & brai */
|
||||||
addi r2, r0, 0xb0000000 /* hex b000 opcode imm */
|
addi r2, r0, 0xb0000000 /* hex b000 opcode imm */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user