@ -217,6 +217,49 @@ extern char console_buffer[];
/* arch/$(ARCH)/lib/board.c */
void board_init_f ( ulong ) ;
void board_init_r ( gd_t * , ulong ) __attribute__ ( ( noreturn ) ) ;
/**
* board_init_f_mem ( ) - Allocate global data and set stack position
*
* This function is called by each architecture very early in the start - up
* code to set up the environment for board_init_f ( ) . It allocates space for
* global_data ( see include / asm - generic / global_data . h ) and places the stack
* below this .
*
* This function requires a stack [ 1 ] Normally this is at @ top . The function
* starts allocating space from 64 bytes below @ top . First it creates space
* for global_data . Then it calls arch_setup_gd ( ) which sets gd to point to
* the global_data space and can reserve additional bytes of space if
* required ) . Finally it allocates early malloc ( ) memory
* ( CONFIG_SYS_MALLOC_F_LEN ) . The new top of the stack is just below this ,
* and it returned by this function .
*
* [ 1 ] Strictly speaking it would be possible to implement this function
* in C on many archs such that it does not require a stack . However this
* does not seem hugely important as only 64 byte are wasted . The 64 bytes
* are used to handle the calling standard which generally requires pushing
* addresses or registers onto the stack . We should be able to get away with
* less if this becomes important .
*
* @ top : Top of available memory , also normally the top of the stack
* @ return : New stack location
*/
ulong board_init_f_mem ( ulong top ) ;
/**
* arch_setup_gd ( ) - Set up the global_data pointer
*
* This pointer is special in some architectures and cannot easily be assigned
* to . For example on x86 it is implemented by adding a specific record to its
* Global Descriptor Table ! So we we provide a function to carry out this task .
* For most architectures this can simply be :
*
* gd = gd_ptr ;
*
* @ gd_ptr : Pointer to global data
*/
void arch_setup_gd ( gd_t * gd_ptr ) ;
int checkboard ( void ) ;
int show_board_info ( void ) ;
int checkflash ( void ) ;