AnsweredAssumed Answered

"Asynchronous Abort" when attempting to run relocated U-Boot version 2017-11 on LS2088A

Question asked by Alexy Rozen on Apr 7, 2018

Does someone experience problem to run u-boot relocated code from DRAM in non SPL mode on LS2088A device (ARM64). On my custom target based on LS2088A SoC U-Boot version 2016.09 works fine. However, the newest U-Boot 2017-11 from LSDK git causes "Synchronous Abort" exception right after an attempt to return from relocation function and run just relocated code. Interesting that it works fine if I compile u-boot with I-Cache disabled. Relocation function in relocate_64.S does its work fine and put u-boot part in RAM perfect. After return from this function PC (program counter) is set correctly on the instruction in the DRAM that should be executed next after "relocate_code" assembler routine but step in goes to exception. Any idea how to overcome the issue?

 

DRAM:
DDR 15.9 GiB (DDR4, 64-bit, CL=11, ECC on)
DDR Controller Interleaving Mode: 256B
DPDDR 1 GiB (DDR4, 32-bit, CL=11, ECC off)
initcall: 000000002001e14c
New Stack Pointer is: fbb13d60
initcall: 000000002001e0ac
initcall: 000000002001e07c
initcall: 000000002001e084
initcall: 000000002001e268
Relocation Offset is: dbd14000
Relocating to fbd15000, new gd at fbb13d78, sp at fbb13d60
"Synchronous Abort" handler, esr 0x8600000d
ELR: fbd1ab84
LR: fbd1ab84
x0 : 00000000fbdadf80 x1 : 00000000fbdadf50
x2 : 0000000000000040 x3 : 000000000000003f
x4 : 00000000dbd14403 x5 : 0000000000000007
x6 : 0000000000000001 x7 : 000000000000000f
x8 : 00000000000000cd x9 : 00000000dbd14000
x10: 0000000000000000 x11: 0000000020001228
x12: 000000000000000d x13: 0000000000000006
x14: 00000000000000c8 x15: 0000000020004d48
x16: 0000000000000000 x17: 0000000000000000
x18: 00000000fbb13d78 x19: 0000000000000000
x20: 0000000000000000 x21: 0000000000000000
x22: 0000000000000000 x23: 0000000000000000
x24: 0000000000000000 x25: 0000000000000000
x26: 0000000800000000 x27: 0000000000000000
x28: 0000000000000000 x29: 00000000200010b8

Resetting CPU ...

### ERROR ### Please RESET the board ###

Outcomes