[PATCH v4 0/9] Remove CONFIG_NR_DRAM_BANKS option and bi_memstart/memsize from bd_info

This patchset is an extension of the previous single patch "CONFIG_NR_DRAM_BANKS: Remove unreferenced code as its always defined". With a split into separate patches, its hopefully easier to understand, what is changed.
The earlier patch versions tried a simple search and replace of the bi_memstart / bi_memsize values with bi_dram[].start/.size. This did not work. This patchset now removes some of the assignments and changes in most cases to gd->ram_base/ram_size instead, which seems a better choice.
Thanks, Stefan
Changes in v4: - Only remove dead code with CONFIG_NR_DRAM_BANKS always defined - New patch - New patch - New patch - New patch - New patch - New patch - New patch - New patch
Stefan Roese (9): CONFIG_NR_DRAM_BANKS: Remove unreferenced code as its always defined image: Use gd->ram_base/_size in env_get_bootm_size() board_f: Add default values for bi_dram[] in dram_init_banksize() global: Move from bi_memstart/memsize -> gd->ram_base/ram_size xtensa: Remove arch_setup_bdinfo() video: cfb_console.c: Use bi_dram[] values on all platforms powerpc: Remove bi_memstart & bi_memsize assignments in spl.c cmd: bdinfo: Remove print of superseeded bi_memstart / bi_memsize values asm-generic/u-boot.h: Remove bi_memstart & bi_memsize from bd_info
api/api_platform-mips.c | 3 +-- api/api_platform-powerpc.c | 2 +- arch/mips/lib/boot.c | 2 +- arch/mips/lib/bootm.c | 2 +- arch/powerpc/cpu/mpc83xx/fdt.c | 2 +- arch/powerpc/cpu/mpc83xx/traps.c | 2 +- arch/powerpc/cpu/mpc85xx/fdt.c | 4 ++-- arch/powerpc/cpu/mpc85xx/traps.c | 2 +- arch/powerpc/cpu/mpc86xx/fdt.c | 4 +++- arch/powerpc/cpu/mpc86xx/traps.c | 2 +- arch/powerpc/cpu/mpc8xx/fdt.c | 2 +- arch/powerpc/lib/bootm.c | 4 ++-- arch/x86/cpu/broadwell/cpu_from_spl.c | 2 -- arch/xtensa/lib/Makefile | 2 +- arch/xtensa/lib/bdinfo.c | 22 ------------------ arch/xtensa/lib/bootm.c | 5 ++-- board/Arcturus/ucp1020/spl.c | 2 -- board/freescale/p1010rdb/spl.c | 2 -- board/freescale/p1_p2_rdb_pc/spl.c | 2 -- board/freescale/t102xrdb/spl.c | 2 -- board/freescale/t104xrdb/spl.c | 2 -- board/freescale/t208xqds/spl.c | 2 -- board/freescale/t208xrdb/spl.c | 2 -- board/freescale/t4rdb/spl.c | 2 -- board/xilinx/zynqmp/zynqmp.c | 2 -- cmd/bdinfo.c | 10 -------- cmd/bedbug.c | 2 +- common/board_f.c | 13 ++++------- common/image.c | 10 ++------ common/init/handoff.c | 33 +++++++++++---------------- drivers/pci/pci-uclass.c | 17 +------------- drivers/video/cfb_console.c | 8 +------ include/asm-generic/u-boot.h | 4 ---- include/handoff.h | 2 -- lib/fdtdec.c | 5 ---- lib/lmb.c | 9 ++------ 36 files changed, 43 insertions(+), 150 deletions(-) delete mode 100644 arch/xtensa/lib/bdinfo.c

Since commit 86cf1c82850f ("configs: Migrate CONFIG_NR_DRAM_BANKS") & commit 999a772d9f24 ("Kconfig: Migrate CONFIG_NR_DRAM_BANKS"), CONFIG_NR_DRAM_BANKS is always defined with a value (4 is default). It makes no sense to still carry code that is guarded with "#ifndef CONFIG_NR_DRAM_BANKS" (and similar). This patch removes all these unreferenced code paths.
Signed-off-by: Stefan Roese sr@denx.de
---
Changes in v4: - Only remove dead code with CONFIG_NR_DRAM_BANKS always defined
arch/x86/cpu/broadwell/cpu_from_spl.c | 2 -- board/xilinx/zynqmp/zynqmp.c | 2 -- cmd/bdinfo.c | 2 -- common/board_f.c | 7 +----- common/image.c | 3 +-- common/init/handoff.c | 33 +++++++++++---------------- drivers/pci/pci-uclass.c | 17 +------------- include/asm-generic/u-boot.h | 2 -- include/handoff.h | 2 -- lib/fdtdec.c | 5 ---- lib/lmb.c | 9 ++------ 11 files changed, 18 insertions(+), 66 deletions(-)
diff --git a/arch/x86/cpu/broadwell/cpu_from_spl.c b/arch/x86/cpu/broadwell/cpu_from_spl.c index 6567d50653..4d4cdafa2b 100644 --- a/arch/x86/cpu/broadwell/cpu_from_spl.c +++ b/arch/x86/cpu/broadwell/cpu_from_spl.c @@ -53,14 +53,12 @@ void board_debug_uart_init(void)
int dram_init_banksize(void) { -#ifdef CONFIG_NR_DRAM_BANKS struct spl_handoff *ho;
ho = bloblist_find(BLOBLISTT_SPL_HANDOFF, sizeof(*ho)); if (!ho) return log_msg_ret("Missing SPL hand-off info", -ENOENT); handoff_load_dram_banks(ho); -#endif
return 0; } diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index ebb7172908..4cc5cb6fd7 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -467,10 +467,8 @@ int dram_init(void) #else int dram_init_banksize(void) { -#if defined(CONFIG_NR_DRAM_BANKS) gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; gd->bd->bi_dram[0].size = get_effective_memsize(); -#endif
mem_map_fill();
diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c index 9593b345a3..9e230f23cb 100644 --- a/cmd/bdinfo.c +++ b/cmd/bdinfo.c @@ -49,7 +49,6 @@ void bdinfo_print_mhz(const char *name, unsigned long hz)
static void print_bi_dram(const struct bd_info *bd) { -#ifdef CONFIG_NR_DRAM_BANKS int i;
for (i = 0; i < CONFIG_NR_DRAM_BANKS; ++i) { @@ -59,7 +58,6 @@ static void print_bi_dram(const struct bd_info *bd) bdinfo_print_num("-> size", bd->bi_dram[i].size); } } -#endif }
__weak void arch_print_bdinfo(void) diff --git a/common/board_f.c b/common/board_f.c index 79532f4365..dd9a5220e1 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -215,8 +215,6 @@ static int announce_dram_init(void) static int show_dram_config(void) { unsigned long long size; - -#ifdef CONFIG_NR_DRAM_BANKS int i;
debug("\nRAM Configuration:\n"); @@ -229,9 +227,6 @@ static int show_dram_config(void) #endif } debug("\nDRAM: "); -#else - size = gd->ram_size; -#endif
print_size(size, ""); board_add_ram_info(0); @@ -242,7 +237,7 @@ static int show_dram_config(void)
__weak int dram_init_banksize(void) { -#if defined(CONFIG_NR_DRAM_BANKS) && defined(CONFIG_SYS_SDRAM_BASE) +#if defined(CONFIG_SYS_SDRAM_BASE) gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; gd->bd->bi_dram[0].size = get_effective_memsize(); #endif diff --git a/common/image.c b/common/image.c index 9d7d5c17d1..2ed46f7685 100644 --- a/common/image.c +++ b/common/image.c @@ -685,8 +685,7 @@ phys_size_t env_get_bootm_size(void) return tmp; }
-#if (defined(CONFIG_ARM) || defined(CONFIG_MICROBLAZE)) && \ - defined(CONFIG_NR_DRAM_BANKS) +#if defined(CONFIG_ARM) || defined(CONFIG_MICROBLAZE) start = gd->bd->bi_dram[0].start; size = gd->bd->bi_dram[0].size; #else diff --git a/common/init/handoff.c b/common/init/handoff.c index e00b43e6a7..62071bd017 100644 --- a/common/init/handoff.c +++ b/common/init/handoff.c @@ -12,18 +12,15 @@ DECLARE_GLOBAL_DATA_PTR;
void handoff_save_dram(struct spl_handoff *ho) { + struct bd_info *bd = gd->bd; + int i; + ho->ram_size = gd->ram_size; -#ifdef CONFIG_NR_DRAM_BANKS - { - struct bd_info *bd = gd->bd; - int i; - - for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { - ho->ram_bank[i].start = bd->bi_dram[i].start; - ho->ram_bank[i].size = bd->bi_dram[i].size; - } + + for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { + ho->ram_bank[i].start = bd->bi_dram[i].start; + ho->ram_bank[i].size = bd->bi_dram[i].size; } -#endif }
void handoff_load_dram_size(struct spl_handoff *ho) @@ -33,15 +30,11 @@ void handoff_load_dram_size(struct spl_handoff *ho)
void handoff_load_dram_banks(struct spl_handoff *ho) { -#ifdef CONFIG_NR_DRAM_BANKS - { - struct bd_info *bd = gd->bd; - int i; - - for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { - bd->bi_dram[i].start = ho->ram_bank[i].start; - bd->bi_dram[i].size = ho->ram_bank[i].size; - } + struct bd_info *bd = gd->bd; + int i; + + for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { + bd->bi_dram[i].start = ho->ram_bank[i].start; + bd->bi_dram[i].size = ho->ram_bank[i].size; } -#endif } diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c index 834526c5a4..69fb46d3f4 100644 --- a/drivers/pci/pci-uclass.c +++ b/drivers/pci/pci-uclass.c @@ -871,6 +871,7 @@ static void decode_regions(struct pci_controller *hose, ofnode parent_node, ofnode node) { int pci_addr_cells, addr_cells, size_cells; + struct bd_info *bd = gd->bd; int cells_per_record; const u32 *prop; int len; @@ -938,9 +939,6 @@ static void decode_regions(struct pci_controller *hose, ofnode parent_node, }
/* Add a region for our local memory */ -#ifdef CONFIG_NR_DRAM_BANKS - struct bd_info *bd = gd->bd; - if (!bd) return;
@@ -958,19 +956,6 @@ static void decode_regions(struct pci_controller *hose, ofnode parent_node, PCI_REGION_MEM | PCI_REGION_SYS_MEMORY); } } -#else - phys_addr_t base = 0, size; - - size = gd->ram_size; -#ifdef CONFIG_SYS_SDRAM_BASE - base = CONFIG_SYS_SDRAM_BASE; -#endif - if (gd->pci_ram_top && gd->pci_ram_top < base + size) - size = gd->pci_ram_top - base; - if (size) - pci_set_region(hose->regions + hose->region_count++, base, - base, size, PCI_REGION_MEM | PCI_REGION_SYS_MEMORY); -#endif
return; } diff --git a/include/asm-generic/u-boot.h b/include/asm-generic/u-boot.h index 62e61d41cc..99d3fe33ad 100644 --- a/include/asm-generic/u-boot.h +++ b/include/asm-generic/u-boot.h @@ -70,12 +70,10 @@ struct bd_info { #endif ulong bi_arch_number; /* unique id for this board */ ulong bi_boot_params; /* where this board expects params */ -#ifdef CONFIG_NR_DRAM_BANKS struct { /* RAM configuration */ phys_addr_t start; phys_size_t size; } bi_dram[CONFIG_NR_DRAM_BANKS]; -#endif /* CONFIG_NR_DRAM_BANKS */ };
#endif /* __ASSEMBLY__ */ diff --git a/include/handoff.h b/include/handoff.h index 75d19b1f6e..070a79c1b9 100644 --- a/include/handoff.h +++ b/include/handoff.h @@ -20,12 +20,10 @@ struct spl_handoff { struct arch_spl_handoff arch; u64 ram_size; -#ifdef CONFIG_NR_DRAM_BANKS struct { u64 start; u64 size; } ram_bank[CONFIG_NR_DRAM_BANKS]; -#endif };
void handoff_save_dram(struct spl_handoff *ho); diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 78576b530f..ecbf10121d 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -1055,8 +1055,6 @@ int fdtdec_setup_mem_size_base(void) return 0; }
-#if defined(CONFIG_NR_DRAM_BANKS) - static int get_next_memory_node(const void *blob, int mem) { do { @@ -1106,7 +1104,6 @@ int fdtdec_setup_memory_banksize(void)
return 0; } -#endif
#if CONFIG_IS_ENABLED(MULTI_DTB_FIT) # if CONFIG_IS_ENABLED(MULTI_DTB_FIT_GZIP) ||\ @@ -1569,7 +1566,6 @@ int fdtdec_resetup(int *rescan) } #endif
-#ifdef CONFIG_NR_DRAM_BANKS int fdtdec_decode_ram_size(const void *blob, const char *area, int board_id, phys_addr_t *basep, phys_size_t *sizep, struct bd_info *bd) @@ -1675,6 +1671,5 @@ int fdtdec_decode_ram_size(const void *blob, const char *area, int board_id,
return 0; } -#endif /* CONFIG_NR_DRAM_BANKS */
#endif /* !USE_HOSTCC */ diff --git a/lib/lmb.c b/lib/lmb.c index 75082f3559..d126f8dc04 100644 --- a/lib/lmb.c +++ b/lib/lmb.c @@ -117,22 +117,17 @@ static void lmb_reserve_common(struct lmb *lmb, void *fdt_blob) /* Initialize the struct, add memory and call arch/board reserve functions */ void lmb_init_and_reserve(struct lmb *lmb, struct bd_info *bd, void *fdt_blob) { -#ifdef CONFIG_NR_DRAM_BANKS int i; -#endif
lmb_init(lmb); -#ifdef CONFIG_NR_DRAM_BANKS + for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { if (bd->bi_dram[i].size) { lmb_add(lmb, bd->bi_dram[i].start, bd->bi_dram[i].size); } } -#else - if (bd->bi_memsize) - lmb_add(lmb, bd->bi_memstart, bd->bi_memsize); -#endif + lmb_reserve_common(lmb, fdt_blob); }

On Thursday 13 August 2020 07:47:52 Stefan Roese wrote:
Since commit 86cf1c82850f ("configs: Migrate CONFIG_NR_DRAM_BANKS") & commit 999a772d9f24 ("Kconfig: Migrate CONFIG_NR_DRAM_BANKS"), CONFIG_NR_DRAM_BANKS is always defined with a value (4 is default). It makes no sense to still carry code that is guarded with "#ifndef CONFIG_NR_DRAM_BANKS" (and similar). This patch removes all these unreferenced code paths.
Signed-off-by: Stefan Roese sr@denx.de
Looks good for me, you can add my:
Reviewed-by: Pali Rohár pali@kernel.org

On Thu, Aug 13, 2020 at 07:47:52AM +0200, Stefan Roese wrote:
Since commit 86cf1c82850f ("configs: Migrate CONFIG_NR_DRAM_BANKS") & commit 999a772d9f24 ("Kconfig: Migrate CONFIG_NR_DRAM_BANKS"), CONFIG_NR_DRAM_BANKS is always defined with a value (4 is default). It makes no sense to still carry code that is guarded with "#ifndef CONFIG_NR_DRAM_BANKS" (and similar). This patch removes all these unreferenced code paths.
...
int pci_addr_cells, addr_cells, size_cells;
- struct bd_info *bd = gd->bd; int cells_per_record; const u32 *prop; int len;
/* Add a region for our local memory */
-#ifdef CONFIG_NR_DRAM_BANKS
- struct bd_info *bd = gd->bd;
Can we leave assignment here?
if (!bd) return;

On 13.08.20 13:14, Andy Shevchenko wrote:
On Thu, Aug 13, 2020 at 07:47:52AM +0200, Stefan Roese wrote:
Since commit 86cf1c82850f ("configs: Migrate CONFIG_NR_DRAM_BANKS") & commit 999a772d9f24 ("Kconfig: Migrate CONFIG_NR_DRAM_BANKS"), CONFIG_NR_DRAM_BANKS is always defined with a value (4 is default). It makes no sense to still carry code that is guarded with "#ifndef CONFIG_NR_DRAM_BANKS" (and similar). This patch removes all these unreferenced code paths.
...
int pci_addr_cells, addr_cells, size_cells;
- struct bd_info *bd = gd->bd; int cells_per_record; const u32 *prop; int len;
/* Add a region for our local memory */
-#ifdef CONFIG_NR_DRAM_BANKS
- struct bd_info *bd = gd->bd;
Can we leave assignment here?
Sure. Just curious why? Is it recommended not to make the assignment with the declaration?
Thanks, Stefan

On Thu, Aug 13, 2020 at 01:28:29PM +0200, Stefan Roese wrote:
On 13.08.20 13:14, Andy Shevchenko wrote:
On Thu, Aug 13, 2020 at 07:47:52AM +0200, Stefan Roese wrote:
Since commit 86cf1c82850f ("configs: Migrate CONFIG_NR_DRAM_BANKS") & commit 999a772d9f24 ("Kconfig: Migrate CONFIG_NR_DRAM_BANKS"), CONFIG_NR_DRAM_BANKS is always defined with a value (4 is default). It makes no sense to still carry code that is guarded with "#ifndef CONFIG_NR_DRAM_BANKS" (and similar). This patch removes all these unreferenced code paths.
...
int pci_addr_cells, addr_cells, size_cells;
- struct bd_info *bd = gd->bd; int cells_per_record; const u32 *prop; int len;
/* Add a region for our local memory */
-#ifdef CONFIG_NR_DRAM_BANKS
- struct bd_info *bd = gd->bd;
Can we leave assignment here?
Sure. Just curious why? Is it recommended not to make the assignment with the declaration?
Slightly easier to read and understand the code. I find it's hard when you need to spend additional 1,2...10 seconds to go around and see where this value comes from. Easy question to ask when you see such code: is this parameter evaluation (defensive programming) or some assignment happened earlier to check?

On Thu, Aug 13, 2020 at 07:47:52AM +0200, Stefan Roese wrote:
Since commit 86cf1c82850f ("configs: Migrate CONFIG_NR_DRAM_BANKS") & commit 999a772d9f24 ("Kconfig: Migrate CONFIG_NR_DRAM_BANKS"), CONFIG_NR_DRAM_BANKS is always defined with a value (4 is default). It makes no sense to still carry code that is guarded with "#ifndef CONFIG_NR_DRAM_BANKS" (and similar). This patch removes all these unreferenced code paths.
I don't see any other patches, this one, after addressing the assignment position,
Reviewed-by: Andy Shevchenko andriy.shevchenko@linux.intel.com
Signed-off-by: Stefan Roese sr@denx.de
Changes in v4:
- Only remove dead code with CONFIG_NR_DRAM_BANKS always defined
arch/x86/cpu/broadwell/cpu_from_spl.c | 2 -- board/xilinx/zynqmp/zynqmp.c | 2 -- cmd/bdinfo.c | 2 -- common/board_f.c | 7 +----- common/image.c | 3 +-- common/init/handoff.c | 33 +++++++++++---------------- drivers/pci/pci-uclass.c | 17 +------------- include/asm-generic/u-boot.h | 2 -- include/handoff.h | 2 -- lib/fdtdec.c | 5 ---- lib/lmb.c | 9 ++------ 11 files changed, 18 insertions(+), 66 deletions(-)
diff --git a/arch/x86/cpu/broadwell/cpu_from_spl.c b/arch/x86/cpu/broadwell/cpu_from_spl.c index 6567d50653..4d4cdafa2b 100644 --- a/arch/x86/cpu/broadwell/cpu_from_spl.c +++ b/arch/x86/cpu/broadwell/cpu_from_spl.c @@ -53,14 +53,12 @@ void board_debug_uart_init(void)
int dram_init_banksize(void) { -#ifdef CONFIG_NR_DRAM_BANKS struct spl_handoff *ho;
ho = bloblist_find(BLOBLISTT_SPL_HANDOFF, sizeof(*ho)); if (!ho) return log_msg_ret("Missing SPL hand-off info", -ENOENT); handoff_load_dram_banks(ho); -#endif
return 0; } diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index ebb7172908..4cc5cb6fd7 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -467,10 +467,8 @@ int dram_init(void) #else int dram_init_banksize(void) { -#if defined(CONFIG_NR_DRAM_BANKS) gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; gd->bd->bi_dram[0].size = get_effective_memsize(); -#endif
mem_map_fill();
diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c index 9593b345a3..9e230f23cb 100644 --- a/cmd/bdinfo.c +++ b/cmd/bdinfo.c @@ -49,7 +49,6 @@ void bdinfo_print_mhz(const char *name, unsigned long hz)
static void print_bi_dram(const struct bd_info *bd) { -#ifdef CONFIG_NR_DRAM_BANKS int i;
for (i = 0; i < CONFIG_NR_DRAM_BANKS; ++i) { @@ -59,7 +58,6 @@ static void print_bi_dram(const struct bd_info *bd) bdinfo_print_num("-> size", bd->bi_dram[i].size); } } -#endif }
__weak void arch_print_bdinfo(void) diff --git a/common/board_f.c b/common/board_f.c index 79532f4365..dd9a5220e1 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -215,8 +215,6 @@ static int announce_dram_init(void) static int show_dram_config(void) { unsigned long long size;
-#ifdef CONFIG_NR_DRAM_BANKS int i;
debug("\nRAM Configuration:\n"); @@ -229,9 +227,6 @@ static int show_dram_config(void) #endif } debug("\nDRAM: "); -#else
- size = gd->ram_size;
-#endif
print_size(size, ""); board_add_ram_info(0); @@ -242,7 +237,7 @@ static int show_dram_config(void)
__weak int dram_init_banksize(void) { -#if defined(CONFIG_NR_DRAM_BANKS) && defined(CONFIG_SYS_SDRAM_BASE) +#if defined(CONFIG_SYS_SDRAM_BASE) gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; gd->bd->bi_dram[0].size = get_effective_memsize(); #endif diff --git a/common/image.c b/common/image.c index 9d7d5c17d1..2ed46f7685 100644 --- a/common/image.c +++ b/common/image.c @@ -685,8 +685,7 @@ phys_size_t env_get_bootm_size(void) return tmp; }
-#if (defined(CONFIG_ARM) || defined(CONFIG_MICROBLAZE)) && \
defined(CONFIG_NR_DRAM_BANKS)
+#if defined(CONFIG_ARM) || defined(CONFIG_MICROBLAZE) start = gd->bd->bi_dram[0].start; size = gd->bd->bi_dram[0].size; #else diff --git a/common/init/handoff.c b/common/init/handoff.c index e00b43e6a7..62071bd017 100644 --- a/common/init/handoff.c +++ b/common/init/handoff.c @@ -12,18 +12,15 @@ DECLARE_GLOBAL_DATA_PTR;
void handoff_save_dram(struct spl_handoff *ho) {
- struct bd_info *bd = gd->bd;
- int i;
- ho->ram_size = gd->ram_size;
-#ifdef CONFIG_NR_DRAM_BANKS
- {
struct bd_info *bd = gd->bd;
int i;
for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
ho->ram_bank[i].start = bd->bi_dram[i].start;
ho->ram_bank[i].size = bd->bi_dram[i].size;
}
- for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
ho->ram_bank[i].start = bd->bi_dram[i].start;
}ho->ram_bank[i].size = bd->bi_dram[i].size;
-#endif }
void handoff_load_dram_size(struct spl_handoff *ho) @@ -33,15 +30,11 @@ void handoff_load_dram_size(struct spl_handoff *ho)
void handoff_load_dram_banks(struct spl_handoff *ho) { -#ifdef CONFIG_NR_DRAM_BANKS
- {
struct bd_info *bd = gd->bd;
int i;
for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
bd->bi_dram[i].start = ho->ram_bank[i].start;
bd->bi_dram[i].size = ho->ram_bank[i].size;
}
- struct bd_info *bd = gd->bd;
- int i;
- for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
bd->bi_dram[i].start = ho->ram_bank[i].start;
}bd->bi_dram[i].size = ho->ram_bank[i].size;
-#endif } diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c index 834526c5a4..69fb46d3f4 100644 --- a/drivers/pci/pci-uclass.c +++ b/drivers/pci/pci-uclass.c @@ -871,6 +871,7 @@ static void decode_regions(struct pci_controller *hose, ofnode parent_node, ofnode node) { int pci_addr_cells, addr_cells, size_cells;
- struct bd_info *bd = gd->bd; int cells_per_record; const u32 *prop; int len;
@@ -938,9 +939,6 @@ static void decode_regions(struct pci_controller *hose, ofnode parent_node, }
/* Add a region for our local memory */ -#ifdef CONFIG_NR_DRAM_BANKS
- struct bd_info *bd = gd->bd;
- if (!bd) return;
@@ -958,19 +956,6 @@ static void decode_regions(struct pci_controller *hose, ofnode parent_node, PCI_REGION_MEM | PCI_REGION_SYS_MEMORY); } } -#else
- phys_addr_t base = 0, size;
- size = gd->ram_size;
-#ifdef CONFIG_SYS_SDRAM_BASE
- base = CONFIG_SYS_SDRAM_BASE;
-#endif
- if (gd->pci_ram_top && gd->pci_ram_top < base + size)
size = gd->pci_ram_top - base;
- if (size)
pci_set_region(hose->regions + hose->region_count++, base,
base, size, PCI_REGION_MEM | PCI_REGION_SYS_MEMORY);
-#endif
return; } diff --git a/include/asm-generic/u-boot.h b/include/asm-generic/u-boot.h index 62e61d41cc..99d3fe33ad 100644 --- a/include/asm-generic/u-boot.h +++ b/include/asm-generic/u-boot.h @@ -70,12 +70,10 @@ struct bd_info { #endif ulong bi_arch_number; /* unique id for this board */ ulong bi_boot_params; /* where this board expects params */ -#ifdef CONFIG_NR_DRAM_BANKS struct { /* RAM configuration */ phys_addr_t start; phys_size_t size; } bi_dram[CONFIG_NR_DRAM_BANKS]; -#endif /* CONFIG_NR_DRAM_BANKS */ };
#endif /* __ASSEMBLY__ */ diff --git a/include/handoff.h b/include/handoff.h index 75d19b1f6e..070a79c1b9 100644 --- a/include/handoff.h +++ b/include/handoff.h @@ -20,12 +20,10 @@ struct spl_handoff { struct arch_spl_handoff arch; u64 ram_size; -#ifdef CONFIG_NR_DRAM_BANKS struct { u64 start; u64 size; } ram_bank[CONFIG_NR_DRAM_BANKS]; -#endif };
void handoff_save_dram(struct spl_handoff *ho); diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 78576b530f..ecbf10121d 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -1055,8 +1055,6 @@ int fdtdec_setup_mem_size_base(void) return 0; }
-#if defined(CONFIG_NR_DRAM_BANKS)
static int get_next_memory_node(const void *blob, int mem) { do { @@ -1106,7 +1104,6 @@ int fdtdec_setup_memory_banksize(void)
return 0; } -#endif
#if CONFIG_IS_ENABLED(MULTI_DTB_FIT) # if CONFIG_IS_ENABLED(MULTI_DTB_FIT_GZIP) ||\ @@ -1569,7 +1566,6 @@ int fdtdec_resetup(int *rescan) } #endif
-#ifdef CONFIG_NR_DRAM_BANKS int fdtdec_decode_ram_size(const void *blob, const char *area, int board_id, phys_addr_t *basep, phys_size_t *sizep, struct bd_info *bd) @@ -1675,6 +1671,5 @@ int fdtdec_decode_ram_size(const void *blob, const char *area, int board_id,
return 0; } -#endif /* CONFIG_NR_DRAM_BANKS */
#endif /* !USE_HOSTCC */ diff --git a/lib/lmb.c b/lib/lmb.c index 75082f3559..d126f8dc04 100644 --- a/lib/lmb.c +++ b/lib/lmb.c @@ -117,22 +117,17 @@ static void lmb_reserve_common(struct lmb *lmb, void *fdt_blob) /* Initialize the struct, add memory and call arch/board reserve functions */ void lmb_init_and_reserve(struct lmb *lmb, struct bd_info *bd, void *fdt_blob) { -#ifdef CONFIG_NR_DRAM_BANKS int i; -#endif
lmb_init(lmb); -#ifdef CONFIG_NR_DRAM_BANKS
- for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { if (bd->bi_dram[i].size) { lmb_add(lmb, bd->bi_dram[i].start, bd->bi_dram[i].size); } }
-#else
- if (bd->bi_memsize)
lmb_add(lmb, bd->bi_memstart, bd->bi_memsize);
-#endif
- lmb_reserve_common(lmb, fdt_blob);
}
-- 2.28.0

Dear Stefan Roese,
In message 20200813054800.469284-2-sr@denx.de you wrote:
Since commit 86cf1c82850f ("configs: Migrate CONFIG_NR_DRAM_BANKS") & commit 999a772d9f24 ("Kconfig: Migrate CONFIG_NR_DRAM_BANKS"), CONFIG_NR_DRAM_BANKS is always defined with a value (4 is default).
Has there been any evaluation about the impact this change had on both text and data sizes of the resulting U-Boot image? Especially the default value of 4 makes no sense to me - whiy is this not 1?
It makes no sense to still carry code that is guarded with "#ifndef CONFIG_NR_DRAM_BANKS" (and similar). This patch removes all these unreferenced code paths.
...thus futher hiding where we just lost another lof of memory, for no advantage.
Sic...
Best regards,
Wolfgang Denk

Hi Wolfgang,
(added Ramon to Cc)
On 18.08.20 12:31, Wolfgang Denk wrote:
In message 20200813054800.469284-2-sr@denx.de you wrote:
Since commit 86cf1c82850f ("configs: Migrate CONFIG_NR_DRAM_BANKS") & commit 999a772d9f24 ("Kconfig: Migrate CONFIG_NR_DRAM_BANKS"), CONFIG_NR_DRAM_BANKS is always defined with a value (4 is default).
Has there been any evaluation about the impact this change had on both text and data sizes of the resulting U-Boot image?
Not sure. Ramon and / or Tom might comment on this. Even though the git history shows that these Kconfig migration patches have been committed ~2 years ago, so their memory might be foggy ;)
commit 86cf1c82850f7c226f23684e19616e526ffaf10f Author: Tom Rini trini@konsulko.com Date: Thu Aug 16 08:16:24 2018 -0400
configs: Migrate CONFIG_NR_DRAM_BANKS
We have the following cases: - CONFIG_NR_DRAM_BANKS was defined, migrate normally - CONFIG_NR_DRAM_BANKS_MAX was defined and then used for CONFIG_NR_DRAM_BANKS after a check, just migrate it over now. - CONFIG_NR_DRAM_BANKS was very oddly defined on p2771-0000-* (to 1024 + 2), set this to 8.
Signed-off-by: Tom Rini trini@konsulko.com
commit 999a772d9f24bf9b8d0726e1359c9d8c3bdad72e Author: Ramon Fried ramon.fried@gmail.com Date: Tue Aug 14 01:00:04 2018 +0300
Kconfig: Migrate CONFIG_NR_DRAM_BANKS
Move CONFIG_NR_DRAM_BANKS from headers to Kconfig.
Signed-off-by: Ramon Fried ramon.fried@gmail.com
Especially the default value of 4 makes no sense to me - whiy is this not 1?
I can't really tell. I can only assume, that it originates from this patch:
commit 6b6f216f9234c33881af05116057c902cb411a62 Author: Ramon Fried ramon.fried@gmail.com Date: Tue Aug 14 00:35:42 2018 +0300
fdt_support: Use CONFIG_NR_DRAM_BANKS if necessary
If CONFIG_NR_DRAM_BANKS is bigger than the default value (4) define MEMORY_BANKS_MAX as CONFIG_NR_DRAM_BANKS.
Fixes: 2a1f4f1758b5 ("Revert "fdt_support: Use CONFIG_NR_DRAM_BANKS if defined"") Signed-off-by: Ramon Fried ramon.fried@gmail.com
It makes no sense to still carry code that is guarded with "#ifndef CONFIG_NR_DRAM_BANKS" (and similar). This patch removes all these unreferenced code paths.
...thus futher hiding where we just lost another lof of memory, for no advantage.
Sic...
I'm not sure, what you mean with "lost lot of memory"? We carried referenced code for ~2 years, which this patch series now tries to solve.
Thanks, Stefan

Dear Stefan,
In message 8ddb672c-956c-68d2-ceb4-d77f96cdf4e4@denx.de you wrote:
Especially the default value of 4 makes no sense to me - whiy is this not 1?
I can't really tell. I can only assume, that it originates from this patch:
Yes, probably.
I think the issue here resutlsfromt he fact that those who worked on the patches came primarily from architectures where this array of banks has been used; for Power Architecture systems this has (for a long, long time) not been the case - there we would map several memory banks (after determining their respecitve sizes) into one contiguous area of memory starting at address 0.
So on all such system the definition of this array meand code and data overhead, as it is not needed.
...thus futher hiding where we just lost another lof of memory, for no advantage.
Sic...
I'm not sure, what you mean with "lost lot of memory"? We carried referenced code for ~2 years, which this patch series now tries to solve.
See above. On most PPC systems this array of sizes and addresses is not needed at all, and _if_ code is changed to use such an array, it should not waste even more memory be defining room for 4 banks where there usually will be only one.
Sorry, I know that you are not to blame for that...
Best regards,
Wolfgang Denk

On Tue, Aug 18, 2020 at 12:31:32PM +0200, Wolfgang Denk wrote:
Dear Stefan Roese,
In message 20200813054800.469284-2-sr@denx.de you wrote:
Since commit 86cf1c82850f ("configs: Migrate CONFIG_NR_DRAM_BANKS") & commit 999a772d9f24 ("Kconfig: Migrate CONFIG_NR_DRAM_BANKS"), CONFIG_NR_DRAM_BANKS is always defined with a value (4 is default).
Has there been any evaluation about the impact this change had on both text and data sizes of the resulting U-Boot image? Especially the default value of 4 makes no sense to me - whiy is this not 1?
The default value is 4 because that was the most commonly used value. Annoyingly enough, I don't have those logs around (either I did them on Google Compute, or it was on a build box we reinstalled and I didn't save the logs off of) but I'm fairly sure there wasn't a size change, that's one of my tests for these migrations (that does sometimes fail to catch things, I need to play with getting the data out of buildman in something I can filter more easily).

Use only gd->ram_base/_size in env_get_bootm_size() instead of bi_dram[] in some cases and bi_memstart in others.
Signed-off-by: Stefan Roese sr@denx.de
---
Changes in v4: - New patch
common/image.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/common/image.c b/common/image.c index 2ed46f7685..6f68b13fce 100644 --- a/common/image.c +++ b/common/image.c @@ -685,13 +685,8 @@ phys_size_t env_get_bootm_size(void) return tmp; }
-#if defined(CONFIG_ARM) || defined(CONFIG_MICROBLAZE) - start = gd->bd->bi_dram[0].start; - size = gd->bd->bi_dram[0].size; -#else - start = gd->bd->bi_memstart; - size = gd->bd->bi_memsize; -#endif + start = gd->ram_base; + size = gd->ram_size;
s = env_get("bootm_low"); if (s)

Remove the bi_memstart / bi_memsize assignment in setup_bdinfo() and make sure, that bd_dram[] is always configured in the weak default implementation of dram_init_banksize(), when CONFIG_SYS_SDRAM_BASE is not set.
Signed-off-by: Stefan Roese sr@denx.de
---
Changes in v4: - New patch
common/board_f.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/common/board_f.c b/common/board_f.c index dd9a5220e1..bfbeda29b2 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -240,6 +240,9 @@ __weak int dram_init_banksize(void) #if defined(CONFIG_SYS_SDRAM_BASE) gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; gd->bd->bi_dram[0].size = get_effective_memsize(); +#else + gd->bd->bi_dram[0].start = gd->ram_base; + gd->bd->bi_dram[0].size = gd->ram_size; #endif
return 0; @@ -602,9 +605,6 @@ int setup_bdinfo(void) { struct bd_info *bd = gd->bd;
- bd->bi_memstart = gd->ram_base; /* start of memory */ - bd->bi_memsize = gd->ram_size; /* size in bytes */ - if (IS_ENABLED(CONFIG_SYS_HAS_SRAM)) { bd->bi_sramstart = CONFIG_SYS_SRAM_BASE; /* start of SRAM */ bd->bi_sramsize = CONFIG_SYS_SRAM_SIZE; /* size of SRAM */

With the removal of bi_memstart & bi_memsize, this patch now moves the references to the better suiting gd->ram_base/ram_size variables.
Signed-off-by: Stefan Roese sr@denx.de
---
Changes in v4: - New patch
api/api_platform-mips.c | 3 +-- api/api_platform-powerpc.c | 2 +- arch/mips/lib/boot.c | 2 +- arch/mips/lib/bootm.c | 2 +- arch/powerpc/cpu/mpc83xx/fdt.c | 2 +- arch/powerpc/cpu/mpc83xx/traps.c | 2 +- arch/powerpc/cpu/mpc85xx/fdt.c | 4 ++-- arch/powerpc/cpu/mpc85xx/traps.c | 2 +- arch/powerpc/cpu/mpc86xx/fdt.c | 4 +++- arch/powerpc/cpu/mpc86xx/traps.c | 2 +- arch/powerpc/cpu/mpc8xx/fdt.c | 2 +- arch/powerpc/lib/bootm.c | 4 ++-- arch/xtensa/lib/bootm.c | 5 ++--- cmd/bedbug.c | 2 +- 14 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/api/api_platform-mips.c b/api/api_platform-mips.c index 51cd328b3d..e1509663af 100644 --- a/api/api_platform-mips.c +++ b/api/api_platform-mips.c @@ -24,8 +24,7 @@ DECLARE_GLOBAL_DATA_PTR; int platform_sys_info(struct sys_info *si) {
- platform_set_mr(si, gd->bd->bi_memstart, - gd->bd->bi_memsize, MR_ATTR_DRAM); + platform_set_mr(si, gd->ram_base, gd->ram_size, MR_ATTR_DRAM);
return 1; } diff --git a/api/api_platform-powerpc.c b/api/api_platform-powerpc.c index 15930cfdb6..847a4a3015 100644 --- a/api/api_platform-powerpc.c +++ b/api/api_platform-powerpc.c @@ -42,7 +42,7 @@ int platform_sys_info(struct sys_info *si) si->bar = 0; #endif
- platform_set_mr(si, gd->bd->bi_memstart, gd->bd->bi_memsize, MR_ATTR_DRAM); + platform_set_mr(si, gd->ram_base, gd->ram_size, MR_ATTR_DRAM); platform_set_mr(si, gd->bd->bi_flashstart, gd->bd->bi_flashsize, MR_ATTR_FLASH); platform_set_mr(si, gd->bd->bi_sramstart, gd->bd->bi_sramsize, MR_ATTR_SRAM);
diff --git a/arch/mips/lib/boot.c b/arch/mips/lib/boot.c index db862f6379..6ef9109022 100644 --- a/arch/mips/lib/boot.c +++ b/arch/mips/lib/boot.c @@ -17,7 +17,7 @@ unsigned long do_go_exec(ulong (*entry)(int, char * const []), * whole SDRAM area, since we don't know the size of the image * that was loaded. */ - flush_cache(gd->bd->bi_memstart, gd->ram_top - gd->bd->bi_memstart); + flush_cache(gd->ram_base, gd->ram_top - gd->ram_base);
return entry(argc, argv); } diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c index 0a13f6edb7..d5c99d891c 100644 --- a/arch/mips/lib/bootm.c +++ b/arch/mips/lib/bootm.c @@ -242,7 +242,7 @@ static int boot_reloc_fdt(bootm_headers_t *images) #if CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && CONFIG_IS_ENABLED(OF_LIBFDT) int arch_fixup_fdt(void *blob) { - u64 mem_start = virt_to_phys((void *)gd->bd->bi_memstart); + u64 mem_start = virt_to_phys((void *)gd->ram_base); u64 mem_size = gd->ram_size;
return fdt_fixup_memory_banks(blob, &mem_start, &mem_size, 1); diff --git a/arch/powerpc/cpu/mpc83xx/fdt.c b/arch/powerpc/cpu/mpc83xx/fdt.c index ebdedb2888..4ea7b27ef4 100644 --- a/arch/powerpc/cpu/mpc83xx/fdt.c +++ b/arch/powerpc/cpu/mpc83xx/fdt.c @@ -121,7 +121,7 @@ void ft_cpu_setup(void *blob, struct bd_info *bd) "clock-frequency", get_serial_clock(), 1); #endif
- fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize); + fdt_fixup_memory(blob, (u64)gd->ram_base, (u64)gd->ram_size);
#if defined(CONFIG_BOOTCOUNT_LIMIT) && \ (defined(CONFIG_QE) && !defined(CONFIG_ARCH_MPC831X)) diff --git a/arch/powerpc/cpu/mpc83xx/traps.c b/arch/powerpc/cpu/mpc83xx/traps.c index c3cc119d65..ea8bc6c152 100644 --- a/arch/powerpc/cpu/mpc83xx/traps.c +++ b/arch/powerpc/cpu/mpc83xx/traps.c @@ -23,7 +23,7 @@ DECLARE_GLOBAL_DATA_PTR; /* Returns 0 if exception not found and fixup otherwise. */ extern unsigned long search_exception_table(unsigned long);
-#define END_OF_MEM (gd->bd->bi_memstart + gd->bd->bi_memsize) +#define END_OF_MEM (gd->ram_base + gd->ram_size)
/* * Trap & Exception support diff --git a/arch/powerpc/cpu/mpc85xx/fdt.c b/arch/powerpc/cpu/mpc85xx/fdt.c index 9569c1a64b..0d8353ceb2 100644 --- a/arch/powerpc/cpu/mpc85xx/fdt.c +++ b/arch/powerpc/cpu/mpc85xx/fdt.c @@ -672,10 +672,10 @@ void ft_cpu_setup(void *blob, struct bd_info *bd) "clock-frequency", get_bus_freq(0), 1); #endif
- fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize); + fdt_fixup_memory(blob, (u64)gd->ram_base, (u64)gd->ram_size);
#ifdef CONFIG_MP - ft_fixup_cpu(blob, (u64)bd->bi_memstart + (u64)bd->bi_memsize); + ft_fixup_cpu(blob, (u64)gd->ram_base + (u64)gd->ram_size); ft_fixup_num_cores(blob); #endif
diff --git a/arch/powerpc/cpu/mpc85xx/traps.c b/arch/powerpc/cpu/mpc85xx/traps.c index f37a45e269..db6ed1fc92 100644 --- a/arch/powerpc/cpu/mpc85xx/traps.c +++ b/arch/powerpc/cpu/mpc85xx/traps.c @@ -37,7 +37,7 @@ extern unsigned long search_exception_table(unsigned long); * amount of memory on the system if we're unable to keep all * the memory mapped in. */ -#define END_OF_MEM (gd->bd->bi_memstart + get_effective_memsize()) +#define END_OF_MEM (gd->ram_base + get_effective_memsize())
static __inline__ void set_tsr(unsigned long val) { diff --git a/arch/powerpc/cpu/mpc86xx/fdt.c b/arch/powerpc/cpu/mpc86xx/fdt.c index 24e53115ec..010b6d4fe6 100644 --- a/arch/powerpc/cpu/mpc86xx/fdt.c +++ b/arch/powerpc/cpu/mpc86xx/fdt.c @@ -8,6 +8,8 @@ #include <fdt_support.h> #include <asm/mp.h>
+DECLARE_GLOBAL_DATA_PTR; + extern void ft_fixup_num_cores(void *blob); extern void ft_srio_setup(void *blob);
@@ -27,7 +29,7 @@ void ft_cpu_setup(void *blob, struct bd_info *bd) do_fixup_by_prop_u32(blob, "device_type", "soc", 4, "bus-frequency", bd->bi_busfreq, 1);
- fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize); + fdt_fixup_memory(blob, (u64)gd->ram_base, (u64)gd->ram_size);
#ifdef CONFIG_SYS_NS16550 do_fixup_by_compat_u32(blob, "ns16550", diff --git a/arch/powerpc/cpu/mpc86xx/traps.c b/arch/powerpc/cpu/mpc86xx/traps.c index c0161e3379..3ee0ec859c 100644 --- a/arch/powerpc/cpu/mpc86xx/traps.c +++ b/arch/powerpc/cpu/mpc86xx/traps.c @@ -30,7 +30,7 @@ extern unsigned long search_exception_table(unsigned long); * amount of memory on the system if we're unable to keep all * the memory mapped in. */ -#define END_OF_MEM (gd->bd->bi_memstart + get_effective_memsize()) +#define END_OF_MEM (gd->ram_base + get_effective_memsize())
/* * Trap & Exception support diff --git a/arch/powerpc/cpu/mpc8xx/fdt.c b/arch/powerpc/cpu/mpc8xx/fdt.c index 4d952a3882..226e258f0e 100644 --- a/arch/powerpc/cpu/mpc8xx/fdt.c +++ b/arch/powerpc/cpu/mpc8xx/fdt.c @@ -25,5 +25,5 @@ void ft_cpu_setup(void *blob, struct bd_info *bd) do_fixup_by_compat_u32(blob, "fsl,cpm-brg", "clock-frequency", gd->arch.brg_clk, 1);
- fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize); + fdt_fixup_memory(blob, (u64)gd->ram_base, (u64)gd->ram_size); } diff --git a/arch/powerpc/lib/bootm.c b/arch/powerpc/lib/bootm.c index 8c8ed99cd3..b903e6ec8d 100644 --- a/arch/powerpc/lib/bootm.c +++ b/arch/powerpc/lib/bootm.c @@ -298,8 +298,8 @@ void boot_prep_vxworks(bootm_headers_t *images) if (!images->ft_addr) return;
- base = (u64)gd->bd->bi_memstart; - size = (u64)gd->bd->bi_memsize; + base = (u64)gd->ram_base; + size = (u64)gd->ram_size;
off = fdt_path_offset(images->ft_addr, "/memory"); if (off < 0) diff --git a/arch/xtensa/lib/bootm.c b/arch/xtensa/lib/bootm.c index 458eaf95c0..6fcbfc4292 100644 --- a/arch/xtensa/lib/bootm.c +++ b/arch/xtensa/lib/bootm.c @@ -41,15 +41,14 @@ static struct bp_tag *setup_last_tag(struct bp_tag *params)
static struct bp_tag *setup_memory_tag(struct bp_tag *params) { - struct bd_info *bd = gd->bd; struct meminfo *mem;
params->id = BP_TAG_MEMORY; params->size = sizeof(struct meminfo); mem = (struct meminfo *)params->data; mem->type = MEMORY_TYPE_CONVENTIONAL; - mem->start = bd->bi_memstart; - mem->end = bd->bi_memstart + bd->bi_memsize; + mem->start = gd->ram_base; + mem->end = gd->ram_base + gd->ram_size;
printf(" MEMORY: tag:0x%04x, type:0X%lx, start:0X%lx, end:0X%lx\n", BP_TAG_MEMORY, mem->type, mem->start, mem->end); diff --git a/cmd/bedbug.c b/cmd/bedbug.c index 81ce256480..684e4a9ea5 100644 --- a/cmd/bedbug.c +++ b/cmd/bedbug.c @@ -348,7 +348,7 @@ int do_bedbug_stack(struct cmd_tbl *cmdtp, int flag, int argc, return 1; }
- top = gd->bd->bi_memstart + gd->bd->bi_memsize; + top = gd->ram_start + gd->ram_size; depth = 0;
printf ("Depth PC\n");

Dear Stefan,
In message 20200813054800.469284-5-sr@denx.de you wrote:
With the removal of bi_memstart & bi_memsize, this patch now moves the references to the better suiting gd->ram_base/ram_size variables.
This sounds as if bi_memstart & bi_memsize have already been removed, in whih case the patch order would be wrong as it would be unbisectable ; but if I see his right the actual removel will only follow in later patches ("[PATCH v4 7/9] powerpc: Remove bi_memstart & bi_memsize assignments in spl.c" etc.) ?
In this case it might be better to write something like:
"With the _planned_ removal ..."
or such?
Best regards,
Wolfgang Denk

Hi Wolfgang,
On 18.08.20 12:35, Wolfgang Denk wrote:
In message 20200813054800.469284-5-sr@denx.de you wrote:
With the removal of bi_memstart & bi_memsize, this patch now moves the references to the better suiting gd->ram_base/ram_size variables.
This sounds as if bi_memstart & bi_memsize have already been removed, in whih case the patch order would be wrong as it would be unbisectable ; but if I see his right the actual removel will only follow in later patches ("[PATCH v4 7/9] powerpc: Remove bi_memstart & bi_memsize assignments in spl.c" etc.) ?
In this case it might be better to write something like:
"With the _planned_ removal ..."
or such?
Okay. I'll update the commit text accordingly in the next version.
Thanks, Stefan

arch_setup_bdinfo() only configures the deprecated bi_memstart & bi_memsize values, which should not be needed any more. Lets remove this file completely.
Signed-off-by: Stefan Roese sr@denx.de
---
Changes in v4: - New patch
arch/xtensa/lib/Makefile | 2 +- arch/xtensa/lib/bdinfo.c | 22 ---------------------- 2 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 arch/xtensa/lib/bdinfo.c
diff --git a/arch/xtensa/lib/Makefile b/arch/xtensa/lib/Makefile index ceee59b9bd..c59df7d372 100644 --- a/arch/xtensa/lib/Makefile +++ b/arch/xtensa/lib/Makefile @@ -5,4 +5,4 @@
obj-$(CONFIG_CMD_BOOTM) += bootm.o
-obj-y += cache.o misc.o relocate.o time.o bdinfo.o +obj-y += cache.o misc.o relocate.o time.o diff --git a/arch/xtensa/lib/bdinfo.c b/arch/xtensa/lib/bdinfo.c deleted file mode 100644 index 4ec8529521..0000000000 --- a/arch/xtensa/lib/bdinfo.c +++ /dev/null @@ -1,22 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * XTENSA-specific information for the 'bd' command - * - * (C) Copyright 2003 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - */ - -#include <common.h> -#include <init.h> - -DECLARE_GLOBAL_DATA_PTR; - -int arch_setup_bdinfo(void) -{ - struct bd_info *bd = gd->bd; - - bd->bi_memstart = PHYSADDR(CONFIG_SYS_SDRAM_BASE); - bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE; - - return 0; -}

Hi Stefan,
On 13.08.2020 08:47, Stefan Roese wrote:
arch_setup_bdinfo() only configures the deprecated bi_memstart & bi_memsize values, which should not be needed any more. Lets remove this file completely.
Signed-off-by: Stefan Roese sr@denx.de
Changes in v4:
New patch
arch/xtensa/lib/Makefile | 2 +- arch/xtensa/lib/bdinfo.c | 22 ---------------------- 2 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 arch/xtensa/lib/bdinfo.c
diff --git a/arch/xtensa/lib/Makefile b/arch/xtensa/lib/Makefile index ceee59b9bd..c59df7d372 100644 --- a/arch/xtensa/lib/Makefile +++ b/arch/xtensa/lib/Makefile @@ -5,4 +5,4 @@
obj-$(CONFIG_CMD_BOOTM) += bootm.o
-obj-y += cache.o misc.o relocate.o time.o bdinfo.o +obj-y += cache.o misc.o relocate.o time.o diff --git a/arch/xtensa/lib/bdinfo.c b/arch/xtensa/lib/bdinfo.c deleted file mode 100644 index 4ec8529521..0000000000 --- a/arch/xtensa/lib/bdinfo.c +++ /dev/null @@ -1,22 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/*
- XTENSA-specific information for the 'bd' command
- (C) Copyright 2003
- Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- */
-#include <common.h> -#include <init.h>
-DECLARE_GLOBAL_DATA_PTR;
-int arch_setup_bdinfo(void) -{
- struct bd_info *bd = gd->bd;
- bd->bi_memstart = PHYSADDR(CONFIG_SYS_SDRAM_BASE);
- bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;
When I did the setup_bdinfo refactoring, I realized that xtensa was the only arch handling bi_{memstart,memsize} in a special way:
bd->bi_memstart = PHYSADDR(CONFIG_SYS_SDRAM_BASE); bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;
Because xtensa uses PHYSADDR(CONFIG_SYS_SDRAM_BASE) for bi_memstart, I was not able to replace it with gd->ram_base, as for all the other arches.
Currently, gd->ram_base is defined in common/board_f.c, function setup_dest_addr as:
#ifdef CONFIG_SYS_SDRAM_BASE
-------gd->ram_base = CONFIG_SYS_SDRAM_BASE;
#endif
So I think the PHYSADDR() logic needs to be preserved so that the patchset would not change the memory start/end logic in arch/xtensa/lib/bootm.c:
diff --git a/arch/xtensa/lib/bootm.c b/arch/xtensa/lib/bootm.c index 458eaf95c0..6fcbfc4292 100644 --- a/arch/xtensa/lib/bootm.c +++ b/arch/xtensa/lib/bootm.c @@ -41,15 +41,14 @@ static struct bp_tag *setup_last_tag(struct bp_tag *params)
static struct bp_tag *setup_memory_tag(struct bp_tag *params) { - struct bd_info *bd = gd->bd; struct meminfo *mem;
params->id = BP_TAG_MEMORY; params->size = sizeof(struct meminfo); mem = (struct meminfo *)params->data; mem->type = MEMORY_TYPE_CONVENTIONAL; - mem->start = bd->bi_memstart; - mem->end = bd->bi_memstart + bd->bi_memsize; + mem->start = gd->ram_base; + mem->end = gd->ram_base + gd->ram_size;
printf(" MEMORY: tag:0x%04x, type:0X%lx, start:0X%lx, end:0X%lx\n", BP_TAG_MEMORY, mem->type, mem->start, mem->end);
Also, the only xtensa board (board/cadence/xtfpga/xtfpga.c) has an empty stub for dram_init_banksize, overwriting the weak definition in common/board_f.c that should populate gd->bd->bi_dram[0].start/size. But maybe keeping gd->bd->bi_dram[0].start/size undefined does not have other implications.
Ovidiu
- return 0;
-}

Hi Ovidiu,
On 13.08.20 09:57, Ovidiu Panait wrote:
Hi Stefan,
On 13.08.2020 08:47, Stefan Roese wrote:
arch_setup_bdinfo() only configures the deprecated bi_memstart & bi_memsize values, which should not be needed any more. Lets remove this file completely.
Signed-off-by: Stefan Roese sr@denx.de
Changes in v4:
- New patch
arch/xtensa/lib/Makefile | 2 +- arch/xtensa/lib/bdinfo.c | 22 ---------------------- 2 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 arch/xtensa/lib/bdinfo.c
diff --git a/arch/xtensa/lib/Makefile b/arch/xtensa/lib/Makefile index ceee59b9bd..c59df7d372 100644 --- a/arch/xtensa/lib/Makefile +++ b/arch/xtensa/lib/Makefile @@ -5,4 +5,4 @@ obj-$(CONFIG_CMD_BOOTM) += bootm.o -obj-y += cache.o misc.o relocate.o time.o bdinfo.o +obj-y += cache.o misc.o relocate.o time.o diff --git a/arch/xtensa/lib/bdinfo.c b/arch/xtensa/lib/bdinfo.c deleted file mode 100644 index 4ec8529521..0000000000 --- a/arch/xtensa/lib/bdinfo.c +++ /dev/null @@ -1,22 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/*
- XTENSA-specific information for the 'bd' command
- (C) Copyright 2003
- Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- */
-#include <common.h> -#include <init.h>
-DECLARE_GLOBAL_DATA_PTR;
-int arch_setup_bdinfo(void) -{ - struct bd_info *bd = gd->bd;
- bd->bi_memstart = PHYSADDR(CONFIG_SYS_SDRAM_BASE); - bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;
When I did the setup_bdinfo refactoring, I realized that xtensa was the only arch handling bi_{memstart,memsize} in a special way:
bd->bi_memstart = PHYSADDR(CONFIG_SYS_SDRAM_BASE); bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;
Because xtensa uses PHYSADDR(CONFIG_SYS_SDRAM_BASE) for bi_memstart, I was not able to replace it with gd->ram_base, as for all the other arches.
Please note that bi_memstart/size is probably not used at all on xtensa - only for the bdinfo cmd AFAICT.
Currently, gd->ram_base is defined in common/board_f.c, function setup_dest_addr as:
#ifdef CONFIG_SYS_SDRAM_BASE
-------gd->ram_base = CONFIG_SYS_SDRAM_BASE;
#endif
Yes, this #ifdef is ugly - I also noticed it while working on this patchset.
So I think the PHYSADDR() logic needs to be preserved so that the patchset would not change the memory start/end logic in arch/xtensa/lib/bootm.c:
diff --git a/arch/xtensa/lib/bootm.c b/arch/xtensa/lib/bootm.c index 458eaf95c0..6fcbfc4292 100644 --- a/arch/xtensa/lib/bootm.c +++ b/arch/xtensa/lib/bootm.c @@ -41,15 +41,14 @@ static struct bp_tag *setup_last_tag(struct bp_tag *params)
static struct bp_tag *setup_memory_tag(struct bp_tag *params) { - struct bd_info *bd = gd->bd; struct meminfo *mem;
params->id = BP_TAG_MEMORY; params->size = sizeof(struct meminfo); mem = (struct meminfo *)params->data; mem->type = MEMORY_TYPE_CONVENTIONAL; - mem->start = bd->bi_memstart; - mem->end = bd->bi_memstart + bd->bi_memsize; + mem->start = gd->ram_base; + mem->end = gd->ram_base + gd->ram_size;
I see. Why not add this instead as well to this new patchset:
diff --git a/arch/xtensa/cpu/cpu.c b/arch/xtensa/cpu/cpu.c index 85d3464607..a4ba71a301 100644 --- a/arch/xtensa/cpu/cpu.c +++ b/arch/xtensa/cpu/cpu.c @@ -45,6 +45,7 @@ int print_cpuinfo(void)
int arch_cpu_init(void) { + gd->ram_base = PHYSADDR(CONFIG_SYS_SDRAM_BASE); gd->ram_size = CONFIG_SYS_SDRAM_SIZE; return 0; }
and keep the bi_memstart -> ram_base conversion above? Looks more consistant to me.
printf(" MEMORY: tag:0x%04x, type:0X%lx, start:0X%lx, end:0X%lx\n", BP_TAG_MEMORY, mem->type, mem->start, mem->end);
Also, the only xtensa board (board/cadence/xtfpga/xtfpga.c) has an empty stub for dram_init_banksize, overwriting the weak definition in common/board_f.c that should populate gd->bd->bi_dram[0].start/size. But maybe keeping gd->bd->bi_dram[0].start/size undefined does not have other implications.
I just stumbled over this issue with the "test.py xtfpga" CI test, which fails, since now bi_dram[].size is zero. I'll remove the local dram_init_banksize() no-op function in the next patchset version, so that the weak default will be used instead.
Thanks, Stefan

Hi Ovidiu,
On 13.08.20 10:09, Stefan Roese wrote:
Hi Ovidiu,
On 13.08.20 09:57, Ovidiu Panait wrote:
Hi Stefan,
On 13.08.2020 08:47, Stefan Roese wrote:
arch_setup_bdinfo() only configures the deprecated bi_memstart & bi_memsize values, which should not be needed any more. Lets remove this file completely.
Signed-off-by: Stefan Roese sr@denx.de
Changes in v4:
- New patch
arch/xtensa/lib/Makefile | 2 +- arch/xtensa/lib/bdinfo.c | 22 ---------------------- 2 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 arch/xtensa/lib/bdinfo.c
diff --git a/arch/xtensa/lib/Makefile b/arch/xtensa/lib/Makefile index ceee59b9bd..c59df7d372 100644 --- a/arch/xtensa/lib/Makefile +++ b/arch/xtensa/lib/Makefile @@ -5,4 +5,4 @@ obj-$(CONFIG_CMD_BOOTM) += bootm.o -obj-y += cache.o misc.o relocate.o time.o bdinfo.o +obj-y += cache.o misc.o relocate.o time.o diff --git a/arch/xtensa/lib/bdinfo.c b/arch/xtensa/lib/bdinfo.c deleted file mode 100644 index 4ec8529521..0000000000 --- a/arch/xtensa/lib/bdinfo.c +++ /dev/null @@ -1,22 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/*
- XTENSA-specific information for the 'bd' command
- (C) Copyright 2003
- Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- */
-#include <common.h> -#include <init.h>
-DECLARE_GLOBAL_DATA_PTR;
-int arch_setup_bdinfo(void) -{ - struct bd_info *bd = gd->bd;
- bd->bi_memstart = PHYSADDR(CONFIG_SYS_SDRAM_BASE); - bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;
When I did the setup_bdinfo refactoring, I realized that xtensa was the only arch handling bi_{memstart,memsize} in a special way:
bd->bi_memstart = PHYSADDR(CONFIG_SYS_SDRAM_BASE); bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;
Because xtensa uses PHYSADDR(CONFIG_SYS_SDRAM_BASE) for bi_memstart, I was not able to replace it with gd->ram_base, as for all the other arches.
Please note that bi_memstart/size is probably not used at all on xtensa - only for the bdinfo cmd AFAICT.
Currently, gd->ram_base is defined in common/board_f.c, function setup_dest_addr as:
#ifdef CONFIG_SYS_SDRAM_BASE
-------gd->ram_base = CONFIG_SYS_SDRAM_BASE;
#endif
Yes, this #ifdef is ugly - I also noticed it while working on this patchset.
So I think the PHYSADDR() logic needs to be preserved so that the patchset would not change the memory start/end logic in arch/xtensa/lib/bootm.c:
diff --git a/arch/xtensa/lib/bootm.c b/arch/xtensa/lib/bootm.c index 458eaf95c0..6fcbfc4292 100644 --- a/arch/xtensa/lib/bootm.c +++ b/arch/xtensa/lib/bootm.c @@ -41,15 +41,14 @@ static struct bp_tag *setup_last_tag(struct bp_tag *params)
static struct bp_tag *setup_memory_tag(struct bp_tag *params) { - struct bd_info *bd = gd->bd; struct meminfo *mem;
params->id = BP_TAG_MEMORY; params->size = sizeof(struct meminfo); mem = (struct meminfo *)params->data; mem->type = MEMORY_TYPE_CONVENTIONAL; - mem->start = bd->bi_memstart; - mem->end = bd->bi_memstart + bd->bi_memsize; + mem->start = gd->ram_base; + mem->end = gd->ram_base + gd->ram_size;
I see. Why not add this instead as well to this new patchset:
diff --git a/arch/xtensa/cpu/cpu.c b/arch/xtensa/cpu/cpu.c index 85d3464607..a4ba71a301 100644 --- a/arch/xtensa/cpu/cpu.c +++ b/arch/xtensa/cpu/cpu.c @@ -45,6 +45,7 @@ int print_cpuinfo(void)
int arch_cpu_init(void) { + gd->ram_base = PHYSADDR(CONFIG_SYS_SDRAM_BASE); gd->ram_size = CONFIG_SYS_SDRAM_SIZE; return 0; }
and keep the bi_memstart -> ram_base conversion above? Looks more consistant to me.
Thinking a bit more about this, its probably better to use this patch:
diff --git a/arch/xtensa/lib/bootm.c b/arch/xtensa/lib/bootm.c index 6fcbfc4292..0e564507f9 100644 --- a/arch/xtensa/lib/bootm.c +++ b/arch/xtensa/lib/bootm.c @@ -47,8 +47,8 @@ static struct bp_tag *setup_memory_tag(struct bp_tag *params) params->size = sizeof(struct meminfo); mem = (struct meminfo *)params->data; mem->type = MEMORY_TYPE_CONVENTIONAL; - mem->start = gd->ram_base; - mem->end = gd->ram_base + gd->ram_size; + mem->start = PHYSADDR(gd->ram_base); + mem->end = PHYSADDR(gd->ram_base + gd->ram_size);
printf(" MEMORY: tag:0x%04x, type:0X%lx, start:0X%lx, end:0X%lx\n", BP_TAG_MEMORY, mem->type, mem->start, mem->end);
What do you think?
Thanks, Stefan

Hi Stefan,
On 13.08.2020 11:15, Stefan Roese wrote:
Hi Ovidiu,
On 13.08.20 10:09, Stefan Roese wrote:
Hi Ovidiu,
On 13.08.20 09:57, Ovidiu Panait wrote:
Hi Stefan,
On 13.08.2020 08:47, Stefan Roese wrote:
arch_setup_bdinfo() only configures the deprecated bi_memstart & bi_memsize values, which should not be needed any more. Lets remove this file completely.
Signed-off-by: Stefan Roese sr@denx.de
Changes in v4:
- New patch
arch/xtensa/lib/Makefile | 2 +- arch/xtensa/lib/bdinfo.c | 22 ---------------------- 2 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 arch/xtensa/lib/bdinfo.c
diff --git a/arch/xtensa/lib/Makefile b/arch/xtensa/lib/Makefile index ceee59b9bd..c59df7d372 100644 --- a/arch/xtensa/lib/Makefile +++ b/arch/xtensa/lib/Makefile @@ -5,4 +5,4 @@ obj-$(CONFIG_CMD_BOOTM) += bootm.o -obj-y += cache.o misc.o relocate.o time.o bdinfo.o +obj-y += cache.o misc.o relocate.o time.o diff --git a/arch/xtensa/lib/bdinfo.c b/arch/xtensa/lib/bdinfo.c deleted file mode 100644 index 4ec8529521..0000000000 --- a/arch/xtensa/lib/bdinfo.c +++ /dev/null @@ -1,22 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/*
- XTENSA-specific information for the 'bd' command
- (C) Copyright 2003
- Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- */
-#include <common.h> -#include <init.h>
-DECLARE_GLOBAL_DATA_PTR;
-int arch_setup_bdinfo(void) -{ - struct bd_info *bd = gd->bd;
- bd->bi_memstart = PHYSADDR(CONFIG_SYS_SDRAM_BASE); - bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;
When I did the setup_bdinfo refactoring, I realized that xtensa was the only arch handling bi_{memstart,memsize} in a special way:
bd->bi_memstart = PHYSADDR(CONFIG_SYS_SDRAM_BASE); bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;
Because xtensa uses PHYSADDR(CONFIG_SYS_SDRAM_BASE) for bi_memstart, I was not able to replace it with gd->ram_base, as for all the other arches.
Please note that bi_memstart/size is probably not used at all on xtensa - only for the bdinfo cmd AFAICT.
Currently, gd->ram_base is defined in common/board_f.c, function setup_dest_addr as:
#ifdef CONFIG_SYS_SDRAM_BASE
-------gd->ram_base = CONFIG_SYS_SDRAM_BASE;
#endif
Yes, this #ifdef is ugly - I also noticed it while working on this patchset.
So I think the PHYSADDR() logic needs to be preserved so that the patchset would not change the memory start/end logic in arch/xtensa/lib/bootm.c:
diff --git a/arch/xtensa/lib/bootm.c b/arch/xtensa/lib/bootm.c index 458eaf95c0..6fcbfc4292 100644 --- a/arch/xtensa/lib/bootm.c +++ b/arch/xtensa/lib/bootm.c @@ -41,15 +41,14 @@ static struct bp_tag *setup_last_tag(struct bp_tag *params)
static struct bp_tag *setup_memory_tag(struct bp_tag *params) { - struct bd_info *bd = gd->bd; struct meminfo *mem;
params->id = BP_TAG_MEMORY; params->size = sizeof(struct meminfo); mem = (struct meminfo *)params->data; mem->type = MEMORY_TYPE_CONVENTIONAL; - mem->start = bd->bi_memstart; - mem->end = bd->bi_memstart + bd->bi_memsize; + mem->start = gd->ram_base; + mem->end = gd->ram_base + gd->ram_size;
I see. Why not add this instead as well to this new patchset:
diff --git a/arch/xtensa/cpu/cpu.c b/arch/xtensa/cpu/cpu.c index 85d3464607..a4ba71a301 100644 --- a/arch/xtensa/cpu/cpu.c +++ b/arch/xtensa/cpu/cpu.c @@ -45,6 +45,7 @@ int print_cpuinfo(void)
int arch_cpu_init(void) { + gd->ram_base = PHYSADDR(CONFIG_SYS_SDRAM_BASE); gd->ram_size = CONFIG_SYS_SDRAM_SIZE; return 0; }
and keep the bi_memstart -> ram_base conversion above? Looks more consistant to me.
Thinking a bit more about this, its probably better to use this patch:
diff --git a/arch/xtensa/lib/bootm.c b/arch/xtensa/lib/bootm.c index 6fcbfc4292..0e564507f9 100644 --- a/arch/xtensa/lib/bootm.c +++ b/arch/xtensa/lib/bootm.c @@ -47,8 +47,8 @@ static struct bp_tag *setup_memory_tag(struct bp_tag *params) params->size = sizeof(struct meminfo); mem = (struct meminfo *)params->data; mem->type = MEMORY_TYPE_CONVENTIONAL; - mem->start = gd->ram_base; - mem->end = gd->ram_base + gd->ram_size; + mem->start = PHYSADDR(gd->ram_base); + mem->end = PHYSADDR(gd->ram_base + gd->ram_size);
printf(" MEMORY: tag:0x%04x, type:0X%lx, start:0X%lx, end:0X%lx\n", BP_TAG_MEMORY, mem->type, mem->start, mem->end);
What do you think?
Yes, I think this is better. arch_cpu_init runs earlier than setup_dest_addr in the boot process, so the gd->ram_base would have been overwritten anyway if set there.
Ovidiu
Thanks, Stefan

All platforms support bi_dram[] since quite some time. Lets remove the and bi_memsize values completely.
Signed-off-by: Stefan Roese sr@denx.de
---
Changes in v4: - New patch
drivers/video/cfb_console.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c index badade353e..3f07f4eb29 100644 --- a/drivers/video/cfb_console.c +++ b/drivers/video/cfb_console.c @@ -1983,8 +1983,6 @@ static void *video_logo(void) static int cfb_fb_is_in_dram(void) { struct bd_info *bd = gd->bd; -#if defined(CONFIG_ARM) || defined(CONFIG_NDS32) || \ -defined(CONFIG_SANDBOX) || defined(CONFIG_X86) ulong start, end; int i;
@@ -1995,11 +1993,7 @@ defined(CONFIG_SANDBOX) || defined(CONFIG_X86) (ulong)video_fb_address < end) return 1; } -#else - if ((ulong)video_fb_address >= bd->bi_memstart && - (ulong)video_fb_address < bd->bi_memstart + bd->bi_memsize) - return 1; -#endif + return 0; }

Most likely these deprecated (removed) variables are not needed. Lets remove the assignments completely from all spl.c files.
Signed-off-by: Stefan Roese sr@denx.de
---
Changes in v4: - New patch
board/Arcturus/ucp1020/spl.c | 2 -- board/freescale/p1010rdb/spl.c | 2 -- board/freescale/p1_p2_rdb_pc/spl.c | 2 -- board/freescale/t102xrdb/spl.c | 2 -- board/freescale/t104xrdb/spl.c | 2 -- board/freescale/t208xqds/spl.c | 2 -- board/freescale/t208xrdb/spl.c | 2 -- board/freescale/t4rdb/spl.c | 2 -- 8 files changed, 16 deletions(-)
diff --git a/board/Arcturus/ucp1020/spl.c b/board/Arcturus/ucp1020/spl.c index 5416a5b663..0fd9532d74 100644 --- a/board/Arcturus/ucp1020/spl.c +++ b/board/Arcturus/ucp1020/spl.c @@ -83,8 +83,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR; - bd->bi_memsize = CONFIG_SYS_L2_SIZE;
arch_cpu_init(); get_clocks(); diff --git a/board/freescale/p1010rdb/spl.c b/board/freescale/p1010rdb/spl.c index 4ee4573d2b..fbaa6a6514 100644 --- a/board/freescale/p1010rdb/spl.c +++ b/board/freescale/p1010rdb/spl.c @@ -69,8 +69,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR; - bd->bi_memsize = CONFIG_SYS_L2_SIZE;
arch_cpu_init(); get_clocks(); diff --git a/board/freescale/p1_p2_rdb_pc/spl.c b/board/freescale/p1_p2_rdb_pc/spl.c index e76c3e82c3..8aceceb56a 100644 --- a/board/freescale/p1_p2_rdb_pc/spl.c +++ b/board/freescale/p1_p2_rdb_pc/spl.c @@ -75,8 +75,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR; - bd->bi_memsize = CONFIG_SYS_L2_SIZE;
arch_cpu_init(); get_clocks(); diff --git a/board/freescale/t102xrdb/spl.c b/board/freescale/t102xrdb/spl.c index da442fcc18..09dd88ac4e 100644 --- a/board/freescale/t102xrdb/spl.c +++ b/board/freescale/t102xrdb/spl.c @@ -103,8 +103,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR; - bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks(); diff --git a/board/freescale/t104xrdb/spl.c b/board/freescale/t104xrdb/spl.c index f83d69ba15..e7922954de 100644 --- a/board/freescale/t104xrdb/spl.c +++ b/board/freescale/t104xrdb/spl.c @@ -94,8 +94,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR; - bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks(); diff --git a/board/freescale/t208xqds/spl.c b/board/freescale/t208xqds/spl.c index c197884421..d8c2bbe28d 100644 --- a/board/freescale/t208xqds/spl.c +++ b/board/freescale/t208xqds/spl.c @@ -102,8 +102,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR; - bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks(); diff --git a/board/freescale/t208xrdb/spl.c b/board/freescale/t208xrdb/spl.c index 07aab6349c..c64bd87115 100644 --- a/board/freescale/t208xrdb/spl.c +++ b/board/freescale/t208xrdb/spl.c @@ -72,8 +72,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR; - bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks(); diff --git a/board/freescale/t4rdb/spl.c b/board/freescale/t4rdb/spl.c index 64d2753da8..9aa0a9b052 100644 --- a/board/freescale/t4rdb/spl.c +++ b/board/freescale/t4rdb/spl.c @@ -75,8 +75,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR; - bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();

Hi Oleksandr and Michael, Hi developers as NXP,
On 13.08.20 07:47, Stefan Roese wrote:
Most likely these deprecated (removed) variables are not needed. Lets remove the assignments completely from all spl.c files.
Signed-off-by: Stefan Roese sr@denx.de
Could you please test this patch on one of your platforms? I'm not 100% sure, if this assignment can be dropped.
Thanks, Stefan
Changes in v4:
New patch
board/Arcturus/ucp1020/spl.c | 2 -- board/freescale/p1010rdb/spl.c | 2 -- board/freescale/p1_p2_rdb_pc/spl.c | 2 -- board/freescale/t102xrdb/spl.c | 2 -- board/freescale/t104xrdb/spl.c | 2 -- board/freescale/t208xqds/spl.c | 2 -- board/freescale/t208xrdb/spl.c | 2 -- board/freescale/t4rdb/spl.c | 2 -- 8 files changed, 16 deletions(-)
diff --git a/board/Arcturus/ucp1020/spl.c b/board/Arcturus/ucp1020/spl.c index 5416a5b663..0fd9532d74 100644 --- a/board/Arcturus/ucp1020/spl.c +++ b/board/Arcturus/ucp1020/spl.c @@ -83,8 +83,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR;
bd->bi_memsize = CONFIG_SYS_L2_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/p1010rdb/spl.c b/board/freescale/p1010rdb/spl.c index 4ee4573d2b..fbaa6a6514 100644 --- a/board/freescale/p1010rdb/spl.c +++ b/board/freescale/p1010rdb/spl.c @@ -69,8 +69,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR;
bd->bi_memsize = CONFIG_SYS_L2_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/p1_p2_rdb_pc/spl.c b/board/freescale/p1_p2_rdb_pc/spl.c index e76c3e82c3..8aceceb56a 100644 --- a/board/freescale/p1_p2_rdb_pc/spl.c +++ b/board/freescale/p1_p2_rdb_pc/spl.c @@ -75,8 +75,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR;
bd->bi_memsize = CONFIG_SYS_L2_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t102xrdb/spl.c b/board/freescale/t102xrdb/spl.c index da442fcc18..09dd88ac4e 100644 --- a/board/freescale/t102xrdb/spl.c +++ b/board/freescale/t102xrdb/spl.c @@ -103,8 +103,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t104xrdb/spl.c b/board/freescale/t104xrdb/spl.c index f83d69ba15..e7922954de 100644 --- a/board/freescale/t104xrdb/spl.c +++ b/board/freescale/t104xrdb/spl.c @@ -94,8 +94,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t208xqds/spl.c b/board/freescale/t208xqds/spl.c index c197884421..d8c2bbe28d 100644 --- a/board/freescale/t208xqds/spl.c +++ b/board/freescale/t208xqds/spl.c @@ -102,8 +102,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t208xrdb/spl.c b/board/freescale/t208xrdb/spl.c index 07aab6349c..c64bd87115 100644 --- a/board/freescale/t208xrdb/spl.c +++ b/board/freescale/t208xrdb/spl.c @@ -72,8 +72,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t4rdb/spl.c b/board/freescale/t4rdb/spl.c index 64d2753da8..9aa0a9b052 100644 --- a/board/freescale/t4rdb/spl.c +++ b/board/freescale/t4rdb/spl.c @@ -75,8 +75,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();
Viele Grüße, Stefan

We will ...
Michael Arcturus Support arcsupport@ArcturusNetworks.com
On 2020-08-13 5:15 a.m., Stefan Roese wrote:
Hi Oleksandr and Michael, Hi developers as NXP,
On 13.08.20 07:47, Stefan Roese wrote:
Most likely these deprecated (removed) variables are not needed. Lets remove the assignments completely from all spl.c files.
Signed-off-by: Stefan Roese sr@denx.de
Could you please test this patch on one of your platforms? I'm not 100% sure, if this assignment can be dropped.
Thanks, Stefan
Changes in v4:
- New patch
board/Arcturus/ucp1020/spl.c | 2 -- board/freescale/p1010rdb/spl.c | 2 -- board/freescale/p1_p2_rdb_pc/spl.c | 2 -- board/freescale/t102xrdb/spl.c | 2 -- board/freescale/t104xrdb/spl.c | 2 -- board/freescale/t208xqds/spl.c | 2 -- board/freescale/t208xrdb/spl.c | 2 -- board/freescale/t4rdb/spl.c | 2 -- 8 files changed, 16 deletions(-)
diff --git a/board/Arcturus/ucp1020/spl.c b/board/Arcturus/ucp1020/spl.c index 5416a5b663..0fd9532d74 100644 --- a/board/Arcturus/ucp1020/spl.c +++ b/board/Arcturus/ucp1020/spl.c @@ -83,8 +83,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR; - bd->bi_memsize = CONFIG_SYS_L2_SIZE; arch_cpu_init(); get_clocks(); diff --git a/board/freescale/p1010rdb/spl.c b/board/freescale/p1010rdb/spl.c index 4ee4573d2b..fbaa6a6514 100644 --- a/board/freescale/p1010rdb/spl.c +++ b/board/freescale/p1010rdb/spl.c @@ -69,8 +69,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR; - bd->bi_memsize = CONFIG_SYS_L2_SIZE; arch_cpu_init(); get_clocks(); diff --git a/board/freescale/p1_p2_rdb_pc/spl.c b/board/freescale/p1_p2_rdb_pc/spl.c index e76c3e82c3..8aceceb56a 100644 --- a/board/freescale/p1_p2_rdb_pc/spl.c +++ b/board/freescale/p1_p2_rdb_pc/spl.c @@ -75,8 +75,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR; - bd->bi_memsize = CONFIG_SYS_L2_SIZE; arch_cpu_init(); get_clocks(); diff --git a/board/freescale/t102xrdb/spl.c b/board/freescale/t102xrdb/spl.c index da442fcc18..09dd88ac4e 100644 --- a/board/freescale/t102xrdb/spl.c +++ b/board/freescale/t102xrdb/spl.c @@ -103,8 +103,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR; - bd->bi_memsize = CONFIG_SYS_L3_SIZE; arch_cpu_init(); get_clocks(); diff --git a/board/freescale/t104xrdb/spl.c b/board/freescale/t104xrdb/spl.c index f83d69ba15..e7922954de 100644 --- a/board/freescale/t104xrdb/spl.c +++ b/board/freescale/t104xrdb/spl.c @@ -94,8 +94,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR; - bd->bi_memsize = CONFIG_SYS_L3_SIZE; arch_cpu_init(); get_clocks(); diff --git a/board/freescale/t208xqds/spl.c b/board/freescale/t208xqds/spl.c index c197884421..d8c2bbe28d 100644 --- a/board/freescale/t208xqds/spl.c +++ b/board/freescale/t208xqds/spl.c @@ -102,8 +102,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR; - bd->bi_memsize = CONFIG_SYS_L3_SIZE; arch_cpu_init(); get_clocks(); diff --git a/board/freescale/t208xrdb/spl.c b/board/freescale/t208xrdb/spl.c index 07aab6349c..c64bd87115 100644 --- a/board/freescale/t208xrdb/spl.c +++ b/board/freescale/t208xrdb/spl.c @@ -72,8 +72,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR; - bd->bi_memsize = CONFIG_SYS_L3_SIZE; arch_cpu_init(); get_clocks(); diff --git a/board/freescale/t4rdb/spl.c b/board/freescale/t4rdb/spl.c index 64d2753da8..9aa0a9b052 100644 --- a/board/freescale/t4rdb/spl.c +++ b/board/freescale/t4rdb/spl.c @@ -75,8 +75,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd; - bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR; - bd->bi_memsize = CONFIG_SYS_L3_SIZE; arch_cpu_init(); get_clocks();
Viele Grüße, Stefan

-----Original Message----- From: U-Boot u-boot-bounces@lists.denx.de On Behalf Of Stefan Roese Sent: Thursday, August 13, 2020 2:46 PM To: Oleksandr Zhadan and Michael Durrant arcsupport@arcturusnetworks.com; Priyanka Jain priyanka.jain@nxp.com; Qiang Zhao qiang.zhao@nxp.com; Shengzhou Liu shengzhou.liu@nxp.com Cc: u-boot@lists.denx.de Subject: Re: [PATCH v4 7/9] powerpc: Remove bi_memstart & bi_memsize assignments in spl.c
Hi Oleksandr and Michael, Hi developers as NXP,
On 13.08.20 07:47, Stefan Roese wrote:
Most likely these deprecated (removed) variables are not needed. Lets remove the assignments completely from all spl.c files.
Signed-off-by: Stefan Roese sr@denx.de
Could you please test this patch on one of your platforms? I'm not 100% sure, if this assignment can be dropped.
Thanks, Stefan
Hello Stefan,
We will test and provide you the feedback.
Regards Priyanka
Changes in v4:
New patch
board/Arcturus/ucp1020/spl.c | 2 -- board/freescale/p1010rdb/spl.c | 2 -- board/freescale/p1_p2_rdb_pc/spl.c | 2 -- board/freescale/t102xrdb/spl.c | 2 -- board/freescale/t104xrdb/spl.c | 2 -- board/freescale/t208xqds/spl.c | 2 -- board/freescale/t208xrdb/spl.c | 2 -- board/freescale/t4rdb/spl.c | 2 -- 8 files changed, 16 deletions(-)
diff --git a/board/Arcturus/ucp1020/spl.c b/board/Arcturus/ucp1020/spl.c index 5416a5b663..0fd9532d74 100644 --- a/board/Arcturus/ucp1020/spl.c +++ b/board/Arcturus/ucp1020/spl.c @@ -83,8 +83,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR;
bd->bi_memsize = CONFIG_SYS_L2_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/p1010rdb/spl.c b/board/freescale/p1010rdb/spl.c index 4ee4573d2b..fbaa6a6514 100644 --- a/board/freescale/p1010rdb/spl.c +++ b/board/freescale/p1010rdb/spl.c @@ -69,8 +69,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR;
bd->bi_memsize = CONFIG_SYS_L2_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/p1_p2_rdb_pc/spl.c b/board/freescale/p1_p2_rdb_pc/spl.c index e76c3e82c3..8aceceb56a 100644 --- a/board/freescale/p1_p2_rdb_pc/spl.c +++ b/board/freescale/p1_p2_rdb_pc/spl.c @@ -75,8 +75,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR;
bd->bi_memsize = CONFIG_SYS_L2_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t102xrdb/spl.c b/board/freescale/t102xrdb/spl.c index da442fcc18..09dd88ac4e 100644 --- a/board/freescale/t102xrdb/spl.c +++ b/board/freescale/t102xrdb/spl.c @@ -103,8 +103,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t104xrdb/spl.c b/board/freescale/t104xrdb/spl.c index f83d69ba15..e7922954de 100644 --- a/board/freescale/t104xrdb/spl.c +++ b/board/freescale/t104xrdb/spl.c @@ -94,8 +94,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t208xqds/spl.c b/board/freescale/t208xqds/spl.c index c197884421..d8c2bbe28d 100644 --- a/board/freescale/t208xqds/spl.c +++ b/board/freescale/t208xqds/spl.c @@ -102,8 +102,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t208xrdb/spl.c b/board/freescale/t208xrdb/spl.c index 07aab6349c..c64bd87115 100644 --- a/board/freescale/t208xrdb/spl.c +++ b/board/freescale/t208xrdb/spl.c @@ -72,8 +72,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t4rdb/spl.c b/board/freescale/t4rdb/spl.c index 64d2753da8..9aa0a9b052 100644 --- a/board/freescale/t4rdb/spl.c +++ b/board/freescale/t4rdb/spl.c @@ -75,8 +75,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();
Viele Grüße, Stefan
-- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de

Yes, you can drop the assignment for our ucp1020 board and apply your board/Arcturus/ucp1020/spl.c patch.
Tested-by: Oleksandr Zhadan and Michael Durrant arcsupport@arcturusnetworks.com
On 2020-08-13 1:47 a.m., Stefan Roese wrote:
Most likely these deprecated (removed) variables are not needed. Lets remove the assignments completely from all spl.c files.
Signed-off-by: Stefan Roese sr@denx.de
Changes in v4:
- New patch
board/Arcturus/ucp1020/spl.c | 2 -- board/freescale/p1010rdb/spl.c | 2 -- board/freescale/p1_p2_rdb_pc/spl.c | 2 -- board/freescale/t102xrdb/spl.c | 2 -- board/freescale/t104xrdb/spl.c | 2 -- board/freescale/t208xqds/spl.c | 2 -- board/freescale/t208xrdb/spl.c | 2 -- board/freescale/t4rdb/spl.c | 2 -- 8 files changed, 16 deletions(-)
diff --git a/board/Arcturus/ucp1020/spl.c b/board/Arcturus/ucp1020/spl.c index 5416a5b663..0fd9532d74 100644 --- a/board/Arcturus/ucp1020/spl.c +++ b/board/Arcturus/ucp1020/spl.c @@ -83,8 +83,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR;
bd->bi_memsize = CONFIG_SYS_L2_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/p1010rdb/spl.c b/board/freescale/p1010rdb/spl.c index 4ee4573d2b..fbaa6a6514 100644 --- a/board/freescale/p1010rdb/spl.c +++ b/board/freescale/p1010rdb/spl.c @@ -69,8 +69,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR;
bd->bi_memsize = CONFIG_SYS_L2_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/p1_p2_rdb_pc/spl.c b/board/freescale/p1_p2_rdb_pc/spl.c index e76c3e82c3..8aceceb56a 100644 --- a/board/freescale/p1_p2_rdb_pc/spl.c +++ b/board/freescale/p1_p2_rdb_pc/spl.c @@ -75,8 +75,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(CONFIG_SPL_GD_ADDR + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L2_ADDR;
bd->bi_memsize = CONFIG_SYS_L2_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t102xrdb/spl.c b/board/freescale/t102xrdb/spl.c index da442fcc18..09dd88ac4e 100644 --- a/board/freescale/t102xrdb/spl.c +++ b/board/freescale/t102xrdb/spl.c @@ -103,8 +103,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t104xrdb/spl.c b/board/freescale/t104xrdb/spl.c index f83d69ba15..e7922954de 100644 --- a/board/freescale/t104xrdb/spl.c +++ b/board/freescale/t104xrdb/spl.c @@ -94,8 +94,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t208xqds/spl.c b/board/freescale/t208xqds/spl.c index c197884421..d8c2bbe28d 100644 --- a/board/freescale/t208xqds/spl.c +++ b/board/freescale/t208xqds/spl.c @@ -102,8 +102,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t208xrdb/spl.c b/board/freescale/t208xrdb/spl.c index 07aab6349c..c64bd87115 100644 --- a/board/freescale/t208xrdb/spl.c +++ b/board/freescale/t208xrdb/spl.c @@ -72,8 +72,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();
diff --git a/board/freescale/t4rdb/spl.c b/board/freescale/t4rdb/spl.c index 64d2753da8..9aa0a9b052 100644 --- a/board/freescale/t4rdb/spl.c +++ b/board/freescale/t4rdb/spl.c @@ -75,8 +75,6 @@ void board_init_r(gd_t *gd, ulong dest_addr) bd = (struct bd_info *)(gd + sizeof(gd_t)); memset(bd, 0, sizeof(struct bd_info)); gd->bd = bd;
bd->bi_memstart = CONFIG_SYS_INIT_L3_ADDR;
bd->bi_memsize = CONFIG_SYS_L3_SIZE;
arch_cpu_init(); get_clocks();

Remove printing of the superseeded (by bi_dram[]) memory values from the bdinfo command.
Signed-off-by: Stefan Roese sr@denx.de
---
Changes in v4: - New patch
cmd/bdinfo.c | 8 -------- 1 file changed, 8 deletions(-)
diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c index 9e230f23cb..0229846d3e 100644 --- a/cmd/bdinfo.c +++ b/cmd/bdinfo.c @@ -34,12 +34,6 @@ static void print_eth(int idx) printf("%-12s= %s\n", name, val); }
-static void print_phys_addr(const char *name, phys_addr_t value) -{ - printf("%-12s= 0x%.*llx\n", name, 2 * (int)sizeof(ulong), - (unsigned long long)value); -} - void bdinfo_print_mhz(const char *name, unsigned long hz) { char buf[32]; @@ -73,8 +67,6 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) #endif bdinfo_print_num("boot_params", (ulong)bd->bi_boot_params); print_bi_dram(bd); - bdinfo_print_num("memstart", (ulong)bd->bi_memstart); - print_phys_addr("memsize", bd->bi_memsize); if (IS_ENABLED(CONFIG_SYS_HAS_SRAM)) { bdinfo_print_num("sramstart", (ulong)bd->bi_sramstart); bdinfo_print_num("sramsize", (ulong)bd->bi_sramsize);

bi_memstart & bi_memsize are now not referenced any more. This patch removes their definitions from the bd_info struct.
Signed-off-by: Stefan Roese sr@denx.de
---
Changes in v4: - New patch
include/asm-generic/u-boot.h | 2 -- 1 file changed, 2 deletions(-)
diff --git a/include/asm-generic/u-boot.h b/include/asm-generic/u-boot.h index 99d3fe33ad..637de0c455 100644 --- a/include/asm-generic/u-boot.h +++ b/include/asm-generic/u-boot.h @@ -27,8 +27,6 @@ #include <linux/types.h>
struct bd_info { - unsigned long bi_memstart; /* start of DRAM memory */ - phys_size_t bi_memsize; /* size of DRAM memory in bytes */ unsigned long bi_flashstart; /* start of FLASH memory */ unsigned long bi_flashsize; /* size of FLASH memory */ unsigned long bi_flashoffset; /* reserved area for startup monitor */
participants (8)
-
Andy Shevchenko
-
Arcturus Support
-
Ovidiu Panait
-
Pali Rohár
-
Priyanka Jain (OSS)
-
Stefan Roese
-
Tom Rini
-
Wolfgang Denk