From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kumar Gala Date: Wed, 1 Apr 2009 11:06:29 -0500 Subject: [U-Boot] [PATCH 3/3] 85xx/86xx: Ensure MP boot page is not used In-Reply-To: <1238601989-6251-2-git-send-email-galak@kernel.crashing.org> References: <1238601989-6251-1-git-send-email-galak@kernel.crashing.org> <1238601989-6251-2-git-send-email-galak@kernel.crashing.org> Message-ID: <1238601989-6251-3-git-send-email-galak@kernel.crashing.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 Acked-by: Becky Bruce --- * No real change, just here for completeness lib_ppc/board.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) diff --git a/lib_ppc/board.c b/lib_ppc/board.c index 3b93e4e..6eeca02 100644 --- a/lib_ppc/board.c +++ b/lib_ppc/board.c @@ -79,6 +79,10 @@ #include #endif +#ifdef CONFIG_MP +extern u32 determine_mp_bootpg(void); +#endif + #ifdef CONFIG_SYS_UPDATE_FLASH_SIZE extern int update_flash_size (int flash_size); #endif @@ -444,6 +448,15 @@ 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 */ -- 1.5.6.6