[PATCH] Convert CONFIG_SYS_MEM_TOP_HIDE to Kconfig

Tom Rini trini at konsulko.com
Wed Apr 6 16:33:32 CEST 2022


This converts the following to Kconfig:
   CONFIG_SYS_MEM_TOP_HIDE

Signed-off-by: Tom Rini <trini at konsulko.com>
---
 Kconfig                             | 11 +++++++++++
 README                              | 21 ---------------------
 board/samsung/common/board.c        |  4 ++--
 common/board_f.c                    |  2 +-
 configs/odroid-xu3_defconfig        |  3 ++-
 configs/odroid_defconfig            |  3 ++-
 configs/origen_defconfig            |  3 ++-
 configs/s5pc210_universal_defconfig |  3 ++-
 configs/theadorable_debug_defconfig |  3 ++-
 configs/trats2_defconfig            |  3 ++-
 configs/trats_defconfig             |  3 ++-
 include/configs/odroid.h            |  3 ---
 include/configs/odroid_xu3.h        |  3 ---
 include/configs/origen.h            |  2 --
 include/configs/s5pc210_universal.h |  2 --
 include/configs/theadorable.h       |  3 ---
 include/configs/trats.h             |  2 --
 include/configs/trats2.h            |  2 --
 18 files changed, 28 insertions(+), 48 deletions(-)

diff --git a/Kconfig b/Kconfig
index 112745440b5a..cd63f6a74e52 100644
--- a/Kconfig
+++ b/Kconfig
@@ -456,6 +456,17 @@ config STACK_SIZE
 	  by the UEFI sub-system. On some boards initrd_high is calculated as
 	  base stack pointer minus this stack size.
 
+config SYS_MEM_TOP_HIDE
+	hex "Exclude some memory from U-Boot / OS information"
+	default 0x0
+	help
+	  If set, this specified memory area will get subtracted from the top
+	  (end) of RAM and won't get "touched" at all by U-Boot. By fixing up
+	  gd->ram_size the OS / next stage should gets passed the now
+	  "corrected" memory size and won't touch it either.
+	  WARNING: Please make sure that this value is a multiple of the OS
+	  page size.
+
 config SYS_HAS_SRAM
 	bool
 	default y if TARGET_PIC32MZDASK
diff --git a/README b/README
index f31fcd73f196..4deef2789450 100644
--- a/README
+++ b/README
@@ -1887,27 +1887,6 @@ Configuration Settings:
 		the RAM base is not zero, or RAM is divided into banks,
 		this variable needs to be recalcuated to get the address.
 
-- CONFIG_SYS_MEM_TOP_HIDE:
-		If CONFIG_SYS_MEM_TOP_HIDE is defined in the board config header,
-		this specified memory area will get subtracted from the top
-		(end) of RAM and won't get "touched" at all by U-Boot. By
-		fixing up gd->ram_size the Linux kernel should gets passed
-		the now "corrected" memory size and won't touch it either.
-		This should work for arch/ppc and arch/powerpc. Only Linux
-		board ports in arch/powerpc with bootwrapper support that
-		recalculate the memory size from the SDRAM controller setup
-		will have to get fixed in Linux additionally.
-
-		This option can be used as a workaround for the 440EPx/GRx
-		CHIP 11 errata where the last 256 bytes in SDRAM shouldn't
-		be touched.
-
-		WARNING: Please make sure that this value is a multiple of
-		the Linux page size (normally 4k). If this is not the case,
-		then the end address of the Linux memory will be located at a
-		non page size aligned address and this could cause major
-		problems.
-
 - CONFIG_SYS_LOADS_BAUD_CHANGE:
 		Enable temporary baudrate change while serial download
 
diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c
index 97791aaeffe2..ff178b7fe677 100644
--- a/board/samsung/common/board.c
+++ b/board/samsung/common/board.c
@@ -107,9 +107,9 @@ int board_init(void)
 	}
 	boot_temp_check();
 #endif
-#ifdef CONFIG_TZSW_RESERVED_DRAM_SIZE
+#if CONFIG_VAL(SYS_MEM_TOP_HIDE)
 	/* The last few MB of memory can be reserved for secure firmware */
-	ulong size = CONFIG_TZSW_RESERVED_DRAM_SIZE;
+	ulong size = CONFIG_SYS_MEM_TOP_HIDE;
 
 	gd->ram_size -= size;
 	gd->bd->bi_dram[CONFIG_NR_DRAM_BANKS - 1].size -= size;
diff --git a/common/board_f.c b/common/board_f.c
index 5b655ad6efe4..4d7e40013e1c 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -327,7 +327,7 @@ static int setup_dest_addr(void)
 	 * Ram is setup, size stored in gd !!
 	 */
 	debug("Ram size: %08lX\n", (ulong)gd->ram_size);
-#if defined(CONFIG_SYS_MEM_TOP_HIDE)
+#if CONFIG_VAL(SYS_MEM_TOP_HIDE)
 	/*
 	 * Subtract specified amount of memory to hide so that it won't
 	 * get "touched" at all by U-Boot. By fixing up gd->ram_size
diff --git a/configs/odroid-xu3_defconfig b/configs/odroid-xu3_defconfig
index 8a507904be9f..250c0b4b3da3 100644
--- a/configs/odroid-xu3_defconfig
+++ b/configs/odroid-xu3_defconfig
@@ -10,9 +10,10 @@ CONFIG_ENV_SIZE=0x4000
 CONFIG_ENV_OFFSET=0x310000
 CONFIG_DEFAULT_DEVICE_TREE="exynos5422-odroidxu3"
 CONFIG_IDENT_STRING=" for ODROID-XU3/XU4/HC1/HC2"
+CONFIG_SYS_LOAD_ADDR=0x43e00000
 CONFIG_DISTRO_DEFAULTS=y
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SYS_LOAD_ADDR=0x43e00000
+CONFIG_SYS_MEM_TOP_HIDE=0x01600000
 CONFIG_FIT=y
 CONFIG_FIT_BEST_MATCH=y
 CONFIG_SILENT_CONSOLE=y
diff --git a/configs/odroid_defconfig b/configs/odroid_defconfig
index 54ff5799cb73..058e7dc3177c 100644
--- a/configs/odroid_defconfig
+++ b/configs/odroid_defconfig
@@ -11,9 +11,10 @@ CONFIG_NR_DRAM_BANKS=8
 CONFIG_ENV_SIZE=0x4000
 CONFIG_ENV_OFFSET=0x140000
 CONFIG_DEFAULT_DEVICE_TREE="exynos4412-odroid"
+CONFIG_SYS_LOAD_ADDR=0x43e00000
 CONFIG_DISTRO_DEFAULTS=y
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SYS_LOAD_ADDR=0x43e00000
+CONFIG_SYS_MEM_TOP_HIDE=0x00100000
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_USE_BOOTARGS=y
diff --git a/configs/origen_defconfig b/configs/origen_defconfig
index 83a83ab13b14..b4b0d8b1464c 100644
--- a/configs/origen_defconfig
+++ b/configs/origen_defconfig
@@ -14,8 +14,9 @@ CONFIG_DEFAULT_DEVICE_TREE="exynos4210-origen"
 CONFIG_SPL_TEXT_BASE=0x02021410
 CONFIG_SPL=y
 CONFIG_IDENT_STRING=" for ORIGEN"
-CONFIG_DISTRO_DEFAULTS=y
 CONFIG_SYS_LOAD_ADDR=0x43e00000
+CONFIG_DISTRO_DEFAULTS=y
+CONFIG_SYS_MEM_TOP_HIDE=0x100000
 CONFIG_BOOTCOMMAND="if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootenv; then echo Loaded environment from ${bootenv};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;if run loadbootscript; then run bootscript; fi; fi;load mmc ${mmcdev} ${loadaddr} uImage; bootm ${loadaddr} "
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
diff --git a/configs/s5pc210_universal_defconfig b/configs/s5pc210_universal_defconfig
index 3c0c7b53547b..e70ce25b099d 100644
--- a/configs/s5pc210_universal_defconfig
+++ b/configs/s5pc210_universal_defconfig
@@ -11,8 +11,9 @@ CONFIG_NR_DRAM_BANKS=2
 CONFIG_ENV_SIZE=0x1000
 CONFIG_ENV_OFFSET=0x7000
 CONFIG_DEFAULT_DEVICE_TREE="exynos4210-universal_c210"
-CONFIG_DISTRO_DEFAULTS=y
 CONFIG_SYS_LOAD_ADDR=0x44800000
+CONFIG_DISTRO_DEFAULTS=y
+CONFIG_SYS_MEM_TOP_HIDE=0x100000
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="Please use defined boot"
 CONFIG_BOOTCOMMAND="run mmcboot"
diff --git a/configs/theadorable_debug_defconfig b/configs/theadorable_debug_defconfig
index 3b841b0c427a..230c086617a5 100644
--- a/configs/theadorable_debug_defconfig
+++ b/configs/theadorable_debug_defconfig
@@ -17,9 +17,10 @@ CONFIG_SPL_SERIAL=y
 CONFIG_SPL=y
 CONFIG_DEBUG_UART_BASE=0xd0012000
 CONFIG_DEBUG_UART_CLOCK=250000000
+CONFIG_SYS_LOAD_ADDR=0x800000
 CONFIG_DEBUG_UART=y
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SYS_LOAD_ADDR=0x800000
+CONFIG_SYS_MEM_TOP_HIDE=0x80000
 CONFIG_FIT=y
 CONFIG_BOOTDELAY=3
 CONFIG_USE_PREBOOT=y
diff --git a/configs/trats2_defconfig b/configs/trats2_defconfig
index b93c9eb7175b..690cdef4c4ab 100644
--- a/configs/trats2_defconfig
+++ b/configs/trats2_defconfig
@@ -10,9 +10,10 @@ CONFIG_TARGET_TRATS2=y
 CONFIG_ENV_SIZE=0x1000
 CONFIG_ENV_OFFSET=0x7000
 CONFIG_DEFAULT_DEVICE_TREE="exynos4412-trats2"
+CONFIG_SYS_LOAD_ADDR=0x43e00000
 CONFIG_DISTRO_DEFAULTS=y
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
-CONFIG_SYS_LOAD_ADDR=0x43e00000
+CONFIG_SYS_MEM_TOP_HIDE=0x100000
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_USE_BOOTARGS=y
diff --git a/configs/trats_defconfig b/configs/trats_defconfig
index d55c1d70e64b..18890799535e 100644
--- a/configs/trats_defconfig
+++ b/configs/trats_defconfig
@@ -10,8 +10,9 @@ CONFIG_TARGET_TRATS=y
 CONFIG_ENV_SIZE=0x1000
 CONFIG_ENV_OFFSET=0x7000
 CONFIG_DEFAULT_DEVICE_TREE="exynos4210-trats"
-CONFIG_DISTRO_DEFAULTS=y
 CONFIG_SYS_LOAD_ADDR=0x44800000
+CONFIG_DISTRO_DEFAULTS=y
+CONFIG_SYS_MEM_TOP_HIDE=0x100000
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_USE_BOOTARGS=y
diff --git a/include/configs/odroid.h b/include/configs/odroid.h
index 42031bb99344..b8b47af4712b 100644
--- a/include/configs/odroid.h
+++ b/include/configs/odroid.h
@@ -21,9 +21,6 @@
 #define CONFIG_SYS_SDRAM_BASE	0x40000000
 #define SDRAM_BANK_SIZE		(256 << 20)	/* 256 MB */
 #define PHYS_SDRAM_1		CONFIG_SYS_SDRAM_BASE
-/* Reserve the last 1 MiB for the secure firmware */
-#define CONFIG_SYS_MEM_TOP_HIDE		(1UL << 20UL)
-#define CONFIG_TZSW_RESERVED_DRAM_SIZE	CONFIG_SYS_MEM_TOP_HIDE
 
 #include <linux/sizes.h>
 
diff --git a/include/configs/odroid_xu3.h b/include/configs/odroid_xu3.h
index 616f25eafd3e..eb35d7b4ae2d 100644
--- a/include/configs/odroid_xu3.h
+++ b/include/configs/odroid_xu3.h
@@ -15,9 +15,6 @@
 #define TZPC_BASE_OFFSET		0x10000
 
 #define SDRAM_BANK_SIZE			(256UL << 20UL)	/* 256 MB */
-/* Reserve the last 22 MiB for the secure firmware */
-#define CONFIG_SYS_MEM_TOP_HIDE		(22UL << 20UL)
-#define CONFIG_TZSW_RESERVED_DRAM_SIZE	CONFIG_SYS_MEM_TOP_HIDE
 
 #define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_LOAD_ADDR - 0x1000000)
 
diff --git a/include/configs/origen.h b/include/configs/origen.h
index 278c204ded8a..c4f5997c3dec 100644
--- a/include/configs/origen.h
+++ b/include/configs/origen.h
@@ -19,8 +19,6 @@
 #define PHYS_SDRAM_1			CONFIG_SYS_SDRAM_BASE
 #define SDRAM_BANK_SIZE			(256 << 20)	/* 256 MB */
 
-#define CONFIG_SYS_MEM_TOP_HIDE	(1 << 20)	/* ram console */
-
 /* Power Down Modes */
 #define S5P_CHECK_SLEEP			0x00000BAD
 #define S5P_CHECK_DIDLE			0xBAD00000
diff --git a/include/configs/s5pc210_universal.h b/include/configs/s5pc210_universal.h
index 8cbdbc733c0b..ae56c66e15cd 100644
--- a/include/configs/s5pc210_universal.h
+++ b/include/configs/s5pc210_universal.h
@@ -24,8 +24,6 @@
 #define CONFIG_SYS_INIT_SP_ADDR	(CONFIG_SYS_LOAD_ADDR \
 					- GENERATED_GBL_DATA_SIZE)
 
-#define CONFIG_SYS_MEM_TOP_HIDE	(1 << 20)	/* ram console */
-
 /* Actual modem binary size is 16MiB. Add 2MiB for bad block handling */
 
 #define NORMAL_MTDPARTS_DEFAULT CONFIG_MTDPARTS_DEFAULT
diff --git a/include/configs/theadorable.h b/include/configs/theadorable.h
index 14817b165cfa..fdf048b27b3c 100644
--- a/include/configs/theadorable.h
+++ b/include/configs/theadorable.h
@@ -43,9 +43,6 @@
 /* SATA support */
 #define CONFIG_LBA48
 
-/* Enable LCD and reserve 512KB from top of memory*/
-#define CONFIG_SYS_MEM_TOP_HIDE		0x80000
-
 /* FPGA programming support */
 #define CONFIG_FPGA_STRATIX_V
 
diff --git a/include/configs/trats.h b/include/configs/trats.h
index 41ac6090c270..910fc150b18b 100644
--- a/include/configs/trats.h
+++ b/include/configs/trats.h
@@ -28,8 +28,6 @@
 #define CONFIG_SYS_INIT_SP_ADDR	(CONFIG_SYS_LOAD_ADDR \
 					- GENERATED_GBL_DATA_SIZE)
 
-#define CONFIG_SYS_MEM_TOP_HIDE	(1 << 20)	/* ram console */
-
 /* Tizen - partitions definitions */
 #define PARTS_CSA		"csa-mmc"
 #define PARTS_BOOT		"boot"
diff --git a/include/configs/trats2.h b/include/configs/trats2.h
index a980e6c47d11..3e121bc6909a 100644
--- a/include/configs/trats2.h
+++ b/include/configs/trats2.h
@@ -27,8 +27,6 @@
 #define CONFIG_SYS_INIT_SP_ADDR	(CONFIG_SYS_LOAD_ADDR \
 					- GENERATED_GBL_DATA_SIZE)
 
-#define CONFIG_SYS_MEM_TOP_HIDE	(1 << 20)	/* ram console */
-
 /* Tizen - partitions definitions */
 #define PARTS_CSA		"csa-mmc"
 #define PARTS_BOOT		"boot"
-- 
2.25.1



More information about the U-Boot mailing list