]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
spl: Use SYS_MALLOC_F instead of SYS_MALLOC_F_LEN
authorSimon Glass <sjg@chromium.org>
Tue, 26 Sep 2023 14:14:27 +0000 (08:14 -0600)
committerTom Rini <trini@konsulko.com>
Fri, 6 Oct 2023 18:38:12 +0000 (14:38 -0400)
Use the new SPL/TPL/VPL_SYS_MALLOC_F symbols to determine whether the
malloc pool exists.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Sean Anderson <sean.anderson@seco.com>
16 files changed:
Kconfig
arch/arm/lib/bdinfo.c
arch/mips/cpu/start.S
arch/mips/mach-mtmips/mt7621/spl/start.S
arch/powerpc/cpu/mpc83xx/start.S
arch/powerpc/cpu/mpc85xx/start.S
arch/sandbox/cpu/start.c
arch/sh/lib/start.S
common/Makefile
common/board_f.c
common/board_r.c
common/dlmalloc.c
common/init/board_init.c
common/spl/spl.c
include/asm-generic/global_data.h
lib/asm-offsets.c

diff --git a/Kconfig b/Kconfig
index 927e2def085d449868bea2461086e38d1b845ea6..068da61d84561b2a4130329cf600f0eb146354d6 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -307,8 +307,7 @@ config SPL_SYS_MALLOC_F
 
 config SPL_SYS_MALLOC_F_LEN
        hex "Size of malloc() pool in SPL"
-       depends on SYS_MALLOC_F && SPL
-       default 0x0 if !SPL_FRAMEWORK
+       depends on SPL_SYS_MALLOC_F
        default 0x2800 if RCAR_GEN3
        default 0x2000 if IMX8MQ
        default SYS_MALLOC_F_LEN
@@ -332,7 +331,7 @@ config TPL_SYS_MALLOC_F
 
 config TPL_SYS_MALLOC_F_LEN
        hex "Size of malloc() pool in TPL"
-       depends on SYS_MALLOC_F && TPL
+       depends on TPL_SYS_MALLOC_F
        default SPL_SYS_MALLOC_F_LEN
        help
          Sets the size of the malloc() pool in TPL. This is used for
@@ -366,8 +365,8 @@ config VPL_SYS_MALLOC_F
 
 config VPL_SYS_MALLOC_F_LEN
        hex "Size of malloc() pool in VPL before relocation"
-       depends on SYS_MALLOC_F && VPL
-       default SYS_MALLOC_F_LEN
+       depends on VPL_SYS_MALLOC_F
+       default SPL_SYS_MALLOC_F_LEN
        help
          Sets the size of the malloc() pool in VPL. This is used for
          driver model and other features, which must allocate memory for
index 5e6eaad968d6ef0bd0b62871ee1ac2f3670008b8..b88b01eefdcd351b343377624764bb68b19a5e7a 100644 (file)
@@ -57,7 +57,7 @@ void arch_print_bdinfo(void)
 #ifdef CONFIG_BOARD_TYPES
        printf("Board Type  = %ld\n", gd->board_type);
 #endif
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        printf("Early malloc usage: %lx / %x\n", gd->malloc_ptr,
               CONFIG_VAL(SYS_MALLOC_F_LEN));
 #endif
index 2acc21d5871c301b2a86d43777a85d97b8d75680..a95c95bc783243a69fccc3d84b197dbeb37aa2fe 100644 (file)
@@ -46,7 +46,7 @@
                sp, sp, GD_SIZE         # reserve space for gd
        and     sp, sp, t0              # force 16 byte alignment
        move    k0, sp                  # save gd pointer
-#if CONFIG_VAL(SYS_MALLOC_F_LEN) && \
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F) && \
     !CONFIG_IS_ENABLED(INIT_STACK_WITHOUT_MALLOC_F)
        li      t2, CONFIG_VAL(SYS_MALLOC_F_LEN)
        PTR_SUBU \
@@ -63,7 +63,7 @@
        blt     t0, t1, 1b
         nop
 
-#if CONFIG_VAL(SYS_MALLOC_F_LEN) && \
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F) && \
     !CONFIG_IS_ENABLED(INIT_STACK_WITHOUT_MALLOC_F)
        PTR_S   sp, GD_MALLOC_BASE(k0)  # gd->malloc_base offset
 #endif
index d2f9c031cbaeb3bc57957f11bb3472b73f455311..d56e624f313173549ffcd5024a9d6d57b8215b0e 100644 (file)
@@ -37,7 +37,7 @@
                sp, sp, GD_SIZE         # reserve space for gd
        and     sp, sp, t0              # force 16 byte alignment
        move    k0, sp                  # save gd pointer
-#if CONFIG_VAL(SYS_MALLOC_F_LEN) && \
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F) && \
     !CONFIG_IS_ENABLED(INIT_STACK_WITHOUT_MALLOC_F)
        li      t2, CONFIG_VAL(SYS_MALLOC_F_LEN)
        PTR_SUBU \
@@ -54,7 +54,7 @@
        blt     t0, t1, 1b
         nop
 
-#if CONFIG_VAL(SYS_MALLOC_F_LEN) && \
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F) && \
     !CONFIG_IS_ENABLED(INIT_STACK_WITHOUT_MALLOC_F)
        PTR_S   sp, GD_MALLOC_BASE(k0)  # gd->malloc_base offset
 #endif
index 6749263da8a2052ce63d11543be25967cca087cb..d72d3147f63d7e2bdbe4d3bce127d2b8d7047a8a 100644 (file)
@@ -244,7 +244,7 @@ in_flash:
        cmplw   r3, r4
        bne     1b
 
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
 
 #if CONFIG_VAL(SYS_MALLOC_F_LEN) + GENERATED_GBL_DATA_SIZE > CFG_SYS_INIT_RAM_SIZE
 #error "SYS_MALLOC_F_LEN too large to fit into initial RAM."
index 562b6993b9dac7872c78e00aa974de46c9a63f0f..e9c304277347982373407bd004848c27e23388a7 100644 (file)
@@ -1233,7 +1233,7 @@ _start_cont:
        lis     r3,(CFG_SYS_INIT_RAM_ADDR)@h
        ori     r3,r3,((CFG_SYS_INIT_SP_OFFSET-16)&~0xf)@l /* Align to 16 */
 
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
 #if CONFIG_VAL(SYS_MALLOC_F_LEN) + GENERATED_GBL_DATA_SIZE > CFG_SYS_INIT_RAM_SIZE
 #error "SYS_MALLOC_F_LEN too large to fit into initial RAM."
 #endif
@@ -1253,7 +1253,7 @@ _start_cont:
        cmplw   r4,r3
        bne     1b
 
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        lis     r4,SYS_INIT_SP_ADDR@h
        ori     r4,r4,SYS_INIT_SP_ADDR@l
 
index 1026898727f5fe32d060e2788a36d197518abd66..bbd9e77afed90673b4879d72f20c4505c71be4fa 100644 (file)
@@ -529,7 +529,7 @@ int sandbox_main(int argc, char *argv[])
                        goto err;
        }
 
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        gd->malloc_base = CFG_MALLOC_F_ADDR;
 #endif
 #if CONFIG_IS_ENABLED(LOG)
index ddb9aa9f87b167103175610ca1196ad2fa3670f4..f0e1c805b01f71c48a935a3932e85545337c3d46 100644 (file)
@@ -53,7 +53,7 @@ _start:
 
        mov.l   ._gd_init, r13          /* global data */
        mov.l   ._stack_init, r15       /* stack */
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        mov.l   ._gd_malloc_base, r14
        mov.l   r15, @r14
 #endif
@@ -73,7 +73,7 @@ loop:
 ._bss_start:           .long   bss_start
 ._bss_end:             .long   bss_end
 ._gd_init:             .long   (_start - GENERATED_GBL_DATA_SIZE)
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
 ._gd_malloc_base:      .long   (_start - GENERATED_GBL_DATA_SIZE + GD_MALLOC_BASE)
 #endif
 ._stack_init:          .long   (_start - GENERATED_GBL_DATA_SIZE - CONFIG_SYS_MALLOC_LEN - 16)
index 5c1617206f07b3d724690e0193c59ded5ba08fa1..cdeadf72026c61be90a00c3033b22d0fc4f10093 100644 (file)
@@ -74,11 +74,7 @@ endif # CONFIG_SPL_BUILD
 
 obj-$(CONFIG_CROS_EC) += cros_ec.o
 obj-y += dlmalloc.o
-ifdef CONFIG_SYS_MALLOC_F
-ifneq ($(CONFIG_$(SPL_TPL_)SYS_MALLOC_F_LEN),0x0)
-obj-y += malloc_simple.o
-endif
-endif
+obj-$(CONFIG_$(SPL_TPL_)SYS_MALLOC_F) += malloc_simple.o
 
 obj-$(CONFIG_CYCLIC) += cyclic.o
 obj-$(CONFIG_$(SPL_TPL_)EVENT) += event.o
index aef395b1354eeb8a1f84b9aafc89e62d56b5ee3e..99c2a43c19610c376b01857c8eb00503ca08fe33 100644 (file)
@@ -794,7 +794,7 @@ static int initf_bootstage(void)
 
 static int initf_dm(void)
 {
-#if defined(CONFIG_DM) && CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if defined(CONFIG_DM) && CONFIG_IS_ENABLED(SYS_MALLOC_F)
        int ret;
 
        bootstage_start(BOOTSTAGE_ID_ACCUM_DM_F, "dm_f");
index e30963339cfe39e4b6000b052ecb95b1e0e3a314..52786901be5507b3f902c37f3e94d787e014841a 100644 (file)
@@ -191,7 +191,7 @@ static int initr_malloc(void)
 {
        ulong start;
 
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        debug("Pre-reloc malloc() used %#lx bytes (%ld KB)\n", gd->malloc_ptr,
              gd->malloc_ptr / 1024);
 #endif
index aa933bdf5778af38caa6a70a8e02415fd461007e..87a09d38fb34e01ccd1de9a0204e95427f9a059a 100644 (file)
@@ -1291,7 +1291,7 @@ Void_t* mALLOc(bytes) size_t bytes;
 
   INTERNAL_SIZE_T nb;
 
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        if (!(gd->flags & GD_FLG_FULL_MALLOC_INIT))
                return malloc_simple(bytes);
 #endif
@@ -1572,7 +1572,7 @@ void fREe(mem) Void_t* mem;
   mchunkptr fwd;       /* misc temp for linking */
   int       islr;      /* track whether merging with last_remainder */
 
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        /* free() is a no-op - all the memory will be freed on relocation */
        if (!(gd->flags & GD_FLG_FULL_MALLOC_INIT)) {
                VALGRIND_FREELIKE_BLOCK(mem, SIZE_SZ);
@@ -1735,7 +1735,7 @@ Void_t* rEALLOc(oldmem, bytes) Void_t* oldmem; size_t bytes;
   /* realloc of null is supposed to be same as malloc */
   if (oldmem == NULL) return mALLOc(bytes);
 
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        if (!(gd->flags & GD_FLG_FULL_MALLOC_INIT)) {
                /* This is harder to support and should not be needed */
                panic("pre-reloc realloc() is not supported");
@@ -1957,7 +1957,7 @@ Void_t* mEMALIGn(alignment, bytes) size_t alignment; size_t bytes;
 
   if ((long)bytes < 0) return NULL;
 
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        if (!(gd->flags & GD_FLG_FULL_MALLOC_INIT)) {
                return memalign_simple(alignment, bytes);
        }
@@ -2153,7 +2153,7 @@ Void_t* cALLOc(n, elem_size) size_t n; size_t elem_size;
     return NULL;
   else
   {
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        if (!(gd->flags & GD_FLG_FULL_MALLOC_INIT)) {
                memset(mem, 0, sz);
                return mem;
@@ -2455,7 +2455,7 @@ int mALLOPt(param_number, value) int param_number; int value;
 
 int initf_malloc(void)
 {
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        assert(gd->malloc_base);        /* Set up by crt0.S */
        gd->malloc_limit = CONFIG_VAL(SYS_MALLOC_F_LEN);
        gd->malloc_ptr = 0;
index ab8c508ad83cb2f882be89eed8ded2187d92b5e5..ed2365daa35e3acb49c21b9f85dc6be48a90b588 100644 (file)
@@ -79,7 +79,7 @@ ulong board_init_f_alloc_reserve(ulong top)
 {
        /* Reserve early malloc arena */
 #ifndef CFG_MALLOC_F_ADDR
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        top -= CONFIG_VAL(SYS_MALLOC_F_LEN);
 #endif
 #endif
@@ -159,7 +159,7 @@ void board_init_f_init_reserve(ulong base)
         * Use gd as it is now properly set for all architectures.
         */
 
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        /* go down one 'early malloc arena' */
        gd->malloc_base = base;
 #if CONFIG_IS_ENABLED(ZERO_MEM_BEFORE_USE)
index 898ddfe0c78e80bed7f2158c28b38a5e18eca7d9..9b0276cbdb5870d63b2a516f5f929f3a68d78b71 100644 (file)
@@ -523,7 +523,7 @@ static int spl_common_init(bool setup_malloc)
 {
        int ret;
 
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        if (setup_malloc) {
 #ifdef CFG_MALLOC_F_ADDR
                gd->malloc_base = CFG_MALLOC_F_ADDR;
@@ -860,7 +860,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
        } else {
                debug("Unsupported OS image.. Jumping nevertheless..\n");
        }
-#if CONFIG_VAL(SYS_MALLOC_F_LEN) && !defined(CONFIG_SPL_SYS_MALLOC_SIZE)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F) && !defined(CONFIG_SPL_SYS_MALLOC_SIZE)
        debug("SPL malloc() used 0x%lx bytes (%ld KB)\n", gd->malloc_ptr,
              gd->malloc_ptr / 1024);
 #endif
@@ -961,7 +961,7 @@ ulong spl_relocate_stack_gd(void)
        if (CONFIG_IS_ENABLED(SYS_REPORT_STACK_F_USAGE))
                spl_relocate_stack_check();
 
-#if defined(CONFIG_SPL_SYS_MALLOC_SIMPLE) && CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if defined(CONFIG_SPL_SYS_MALLOC_SIMPLE) && CONFIG_IS_ENABLED(SYS_MALLOC_F)
        if (CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN) {
                debug("SPL malloc() before relocation used 0x%lx bytes (%ld KB)\n",
                      gd->malloc_ptr, gd->malloc_ptr / 1024);
index c6d63b3657c36aed2c70e59381d79868f24d7b4b..f8fc87f1e46ee6da3aca52e309d1c68b2675fa00 100644 (file)
@@ -307,7 +307,7 @@ struct global_data {
 #if CONFIG_IS_ENABLED(CMD_BDINFO_EXTRA)
        unsigned long malloc_start;
 #endif
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        /**
         * @malloc_base: base address of early malloc()
         */
index 0808cd4b0c11d887ad4075d039e8a911516bca1a..216d9716d0d60d2dd963a9675b3ec60973080ec9 100644 (file)
@@ -32,7 +32,7 @@ int main(void)
 
        DEFINE(GD_FLAGS, offsetof(struct global_data, flags));
 
-#if CONFIG_VAL(SYS_MALLOC_F_LEN)
+#if CONFIG_IS_ENABLED(SYS_MALLOC_F)
        DEFINE(GD_MALLOC_BASE, offsetof(struct global_data, malloc_base));
 #endif