From: Tom Rini Date: Wed, 6 Apr 2022 14:33:32 +0000 (-0400) Subject: Convert CONFIG_SYS_MEM_TOP_HIDE to Kconfig X-Git-Url: http://git.dujemihanovic.xyz/img/sics.gif?a=commitdiff_plain;h=24c904f309f820f8aef4d6364e7bf584d70c0cad;p=u-boot.git Convert CONFIG_SYS_MEM_TOP_HIDE to Kconfig This converts the following to Kconfig: CONFIG_SYS_MEM_TOP_HIDE Signed-off-by: Tom Rini --- diff --git a/Kconfig b/Kconfig index b45e60a75b..e269856f7e 100644 --- a/Kconfig +++ b/Kconfig @@ -489,6 +489,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 d503357f3b..1967961eea 100644 --- a/README +++ b/README @@ -1876,27 +1876,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 97791aaeff..ff178b7fe6 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 5b655ad6ef..4d7e40013e 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 d7f9c208bb..250c0b4b3d 100644 --- a/configs/odroid-xu3_defconfig +++ b/configs/odroid-xu3_defconfig @@ -13,6 +13,7 @@ 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_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 9f5688e039..058e7dc317 100644 --- a/configs/odroid_defconfig +++ b/configs/odroid_defconfig @@ -14,6 +14,7 @@ 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_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 6ffec862cd..b4b0d8b146 100644 --- a/configs/origen_defconfig +++ b/configs/origen_defconfig @@ -16,6 +16,7 @@ CONFIG_SPL=y CONFIG_IDENT_STRING=" for ORIGEN" 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 8a34908e85..e70ce25b09 100644 --- a/configs/s5pc210_universal_defconfig +++ b/configs/s5pc210_universal_defconfig @@ -13,6 +13,7 @@ CONFIG_ENV_OFFSET=0x7000 CONFIG_DEFAULT_DEVICE_TREE="exynos4210-universal_c210" 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 64ae29113e..230c086617 100644 --- a/configs/theadorable_debug_defconfig +++ b/configs/theadorable_debug_defconfig @@ -20,6 +20,7 @@ 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_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 b38ee99371..690cdef4c4 100644 --- a/configs/trats2_defconfig +++ b/configs/trats2_defconfig @@ -13,6 +13,7 @@ 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_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 d0689444f9..1889079953 100644 --- a/configs/trats_defconfig +++ b/configs/trats_defconfig @@ -12,6 +12,7 @@ CONFIG_ENV_OFFSET=0x7000 CONFIG_DEFAULT_DEVICE_TREE="exynos4210-trats" 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 42031bb993..b8b47af471 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 diff --git a/include/configs/odroid_xu3.h b/include/configs/odroid_xu3.h index 616f25eafd..eb35d7b4ae 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 278c204ded..c4f5997c3d 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 8cbdbc733c..ae56c66e15 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 14817b165c..fdf048b27b 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 41ac6090c2..910fc150b1 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 a980e6c47d..3e121bc690 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"