ARM: Add new entry point for barebox
Memory is a precious resource, so it makes sense to make it available as early as possible. By definition the lowlevel init code already knows where to find memory because it's the lowlevel init code which sets up the memory. Until all boards are converted this new entry is just a fallback to the old entry point. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
4458614954
commit
5b03b8148f
|
@ -183,3 +183,16 @@ void __naked board_init_lowlevel_return(void)
|
|||
|
||||
barebox_uncompress((void *)pg_start, pg_len);
|
||||
}
|
||||
|
||||
/*
|
||||
* Main ARM entry point in the compressed image. Call this with the memory
|
||||
* region you can spare for barebox. This doesn't necessarily have to be the
|
||||
* full SDRAM. The currently running binary can be inside or outside of this
|
||||
* region. TEXT_BASE can be inside or outside of this region. boarddata will
|
||||
* be preserved and can be accessed later with barebox_arm_boarddata().
|
||||
*/
|
||||
void __naked __noreturn barebox_arm_entry(uint32_t membase, uint32_t memsize,
|
||||
uint32_t boarddata)
|
||||
{
|
||||
board_init_lowlevel_return();
|
||||
}
|
||||
|
|
|
@ -63,3 +63,16 @@ void __naked board_init_lowlevel_return(void)
|
|||
|
||||
start_barebox();
|
||||
}
|
||||
|
||||
/*
|
||||
* Main ARM entry point in the uncompressed image. Call this with the memory
|
||||
* region you can spare for barebox. This doesn't necessarily have to be the
|
||||
* full SDRAM. The currently running binary can be inside or outside of this
|
||||
* region. TEXT_BASE can be inside or outside of this region. boarddata will
|
||||
* be preserved and can be accessed later with barebox_arm_boarddata().
|
||||
*/
|
||||
void __naked __noreturn barebox_arm_entry(uint32_t membase, uint32_t memsize,
|
||||
uint32_t boarddata)
|
||||
{
|
||||
board_init_lowlevel_return();
|
||||
}
|
||||
|
|
|
@ -39,5 +39,6 @@ void board_init_lowlevel_return(void);
|
|||
uint32_t get_runtime_offset(void);
|
||||
|
||||
void setup_c(void);
|
||||
void __noreturn barebox_arm_entry(uint32_t membase, uint32_t memsize, uint32_t boarddata);
|
||||
|
||||
#endif /* _BAREBOX_ARM_H_ */
|
||||
|
|
Loading…
Reference in New Issue