arm: Add a prototype for save_boot_params_ret()
It is convenient for some boards to implement save_boot_params() in C rather than assembler. Provide a way to return in this case. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
parent
5a942a1527
commit
5519912164
@ -159,6 +159,22 @@ void flush_l3_cache(void);
|
||||
* void save_boot_params(u32 r0, u32 r1, u32 r2, u32 r3);
|
||||
*/
|
||||
|
||||
/**
|
||||
* save_boot_params_ret() - Return from save_boot_params()
|
||||
*
|
||||
* If you provide save_boot_params(), then you should jump back to this
|
||||
* function when done. Try to preserve all registers.
|
||||
*
|
||||
* If your implementation of save_boot_params() is in C then it is acceptable
|
||||
* to simply call save_boot_params_ret() at the end of your function. Since
|
||||
* there is no link register set up, you cannot just exit the function. U-Boot
|
||||
* will return to the (initialised) value of lr, and likely crash/hang.
|
||||
*
|
||||
* If your implementation of save_boot_params() is in assembler then you
|
||||
* should use 'b' or 'bx' to return to save_boot_params_ret.
|
||||
*/
|
||||
void save_boot_params_ret(void);
|
||||
|
||||
#define isb() __asm__ __volatile__ ("" : : : "memory")
|
||||
|
||||
#define nop() __asm__ __volatile__("mov\tr0,r0\t@ nop\n\t");
|
||||
|
Loading…
Reference in New Issue
Block a user