binman: Add binman symbol support to SPL
Allow SPL to access binman symbols and use this to get the address of U-Boot. This falls back to CONFIG_SYS_TEXT_BASE if the binman symbol is not available. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -37,6 +37,17 @@
|
||||
_type binman_symname(_entry_name, _prop_name) \
|
||||
__attribute__((aligned(4), unused, section(".binman_sym")))
|
||||
|
||||
/**
|
||||
* binman_sym_extern() - Declare a extern symbol that will be used at run-time
|
||||
*
|
||||
* @_type: Type f the symbol (e.g. unsigned long)
|
||||
* @entry_name: Name of the entry to look for (e.g. 'u_boot_spl')
|
||||
* @_prop_name: Property value to get from that entry (e.g. 'pos')
|
||||
*/
|
||||
#define binman_sym_extern(_type, _entry_name, _prop_name) \
|
||||
extern _type binman_symname(_entry_name, _prop_name) \
|
||||
__attribute__((aligned(4), unused, section(".binman_sym")))
|
||||
|
||||
/**
|
||||
* binman_sym_declare_optional() - Declare an optional symbol
|
||||
*
|
||||
@@ -73,6 +84,8 @@
|
||||
|
||||
#define binman_sym_declare_optional(_type, _entry_name, _prop_name)
|
||||
|
||||
#define binman_sym_extern(_type, _entry_name, _prop_name)
|
||||
|
||||
#define binman_sym(_type, _entry_name, _prop_name) BINMAN_SYM_MISSING
|
||||
|
||||
#endif /* BINMAN */
|
||||
|
||||
Reference in New Issue
Block a user