mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
85xx/86xx: Ensure MP boot page is not used
We had a bug on 86xx in which the boot page used to bring up secondary cores was being overwritten and used for the malloc region in u-boot. We need to reserve the region of memory that the boot page is going to be put at so nothing uses it. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Becky Bruce <beckyb@kernel.crashing.org>
This commit is contained in:
parent
c840d26c75
commit
fc39c2fd51
1 changed files with 15 additions and 0 deletions
|
@ -79,6 +79,10 @@
|
|||
#include <asm/mmu.h>
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MP
|
||||
#include <asm/mp.h>
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SYS_UPDATE_FLASH_SIZE
|
||||
extern int update_flash_size (int flash_size);
|
||||
#endif
|
||||
|
@ -444,6 +448,17 @@ void board_init_f (ulong bootflag)
|
|||
|
||||
addr = CONFIG_SYS_SDRAM_BASE + get_effective_memsize();
|
||||
|
||||
#if defined(CONFIG_MP) && (defined(CONFIG_MPC86xx) || defined(CONFIG_E500))
|
||||
/*
|
||||
* We need to make sure the location we intend to put secondary core
|
||||
* boot code is reserved and not used by any part of u-boot
|
||||
*/
|
||||
if (addr > determine_mp_bootpg()) {
|
||||
addr = determine_mp_bootpg();
|
||||
debug ("Reserving MP boot page to %08lx\n", addr);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_LOGBUFFER
|
||||
#ifndef CONFIG_ALT_LB_ADDR
|
||||
/* reserve kernel log buffer */
|
||||
|
|
Loading…
Reference in a new issue