[PATCH 06/12] lmb: Remove imx board_lmb_reserve()

Marek Vasut marek.vasut at gmail.com
Fri Sep 10 22:47:12 CEST 2021


This function is clearly architecture specific code, not board specific
code. The only difference from the previous arm arch_lmb_reserve() is the
extra reservation of 16k of memory below the stack bottom, rather than
the 4k. The common code now also uses 16k alignment. Remove this custom
implementation, as it now behaves exactly as the common code.

Signed-off-by: Marek Vasut <marek.vasut+renesas at gmail.com>
Cc: Alexey Brodkin <alexey.brodkin at synopsys.com>
Cc: Angelo Dureghello <angelo at sysam.it>
Cc: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
Cc: Eugeniy Paltsev <Eugeniy.Paltsev at synopsys.com>
Cc: Hai Pham <hai.pham.ud at renesas.com>
Cc: Michal Simek <monstr at monstr.eu>
Cc: Simon Goldschmidt <simon.k.r.goldschmidt at gmail.com>
Cc: Tom Rini <trini at konsulko.com>
Cc: Wolfgang Denk <wd at denx.de>
Cc: Ye Li <ye.li at nxp.com>
---
V2: Drop the custom implementation altogether
---
 arch/arm/mach-imx/misc.c | 30 ------------------------------
 1 file changed, 30 deletions(-)

diff --git a/arch/arm/mach-imx/misc.c b/arch/arm/mach-imx/misc.c
index d82efa7f8f..09a758ff6e 100644
--- a/arch/arm/mach-imx/misc.c
+++ b/arch/arm/mach-imx/misc.c
@@ -77,33 +77,3 @@ int mxs_reset_block(struct mxs_register_32 *reg)
 
 	return 0;
 }
-
-static ulong get_sp(void)
-{
-	ulong ret;
-
-	asm("mov %0, sp" : "=r"(ret) : );
-	return ret;
-}
-
-void board_lmb_reserve(struct lmb *lmb)
-{
-	ulong sp, bank_end;
-	int bank;
-
-	sp = get_sp();
-	debug("## Current stack ends at 0x%08lx ", sp);
-
-	/* adjust sp by 16K to be safe */
-	sp -= 4096 << 2;
-	for (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) {
-		if (sp < gd->bd->bi_dram[bank].start)
-			continue;
-		bank_end = gd->bd->bi_dram[bank].start +
-			gd->bd->bi_dram[bank].size;
-		if (sp >= bank_end)
-			continue;
-		lmb_reserve(lmb, sp, bank_end - sp);
-		break;
-	}
-}
-- 
2.33.0



More information about the U-Boot mailing list