[U-Boot] [U-Boot, v3, 02/10] mips: spl and normal u-boot stage set SYS_MALLOC_F_LEN indepently
Daniel Schwierzeck
daniel.schwierzeck at gmail.com
Thu Jul 27 12:18:32 UTC 2017
2017-07-27 12:44 GMT+02:00 Philipp Tomsich
<philipp.tomsich at theobroma-systems.com>:
>
>
> On Mon, 24 Jul 2017, Andy Yan wrote:
>
>> Some platforms has very small sram to run spl code, so
>> it may have no enough sapce for so much malloc pool before
>> relocation in spl stage as the normal u-boot stage.
>> Use CONFIG_VAL(SYS_MALLOC_F_LEN) to fit this condition.
>>
>> Signed-off-by: Andy Yan <andy.yan at rock-chips.com>
>> Acked-by: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
>> Acked-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
>> ---
>>
>> Changes in v3:
>> - use CONFIG_VAL(), which suggested by Simon
>>
>> Changes in v2: None
>>
>> arch/mips/cpu/start.S | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/mips/cpu/start.S b/arch/mips/cpu/start.S
>> index d01ee9f..aa07654 100644
>> --- a/arch/mips/cpu/start.S
>> +++ b/arch/mips/cpu/start.S
>> @@ -60,8 +60,8 @@
>> sp, sp, GD_SIZE # reserve space for gd
>> and sp, sp, t0 # force 16 byte alignment
>> move k0, sp # save gd pointer
>> -#ifdef CONFIG_SYS_MALLOC_F_LEN
>> - li t2, CONFIG_SYS_MALLOC_F_LEN
>> +#if CONFIG_VAL(SYS_MALLOC_F_LEN)
>> + li t2, CONFIG_VAL(SYS_MALLOC_F_LEN)
>
>
> With CONFIG_VAL(...) there should always be a value returned.
>
> Could we drop the #if guard around this, as the PTR_SUBU below will then an
> identity transform (i.e. it will compute "sp = sp - 0")?
I don't see any advantage in it. This code is compiled with "set
.noreorder" so the assembler can't optimize or eliminate the dummy
instructions in case of "CONFIG_SYS_MALLOC_F_LEN = 0".Also there is
another instruction below which also needs this guard. Thus it would
be more consistent if both places use the same #if guard.
>
>
>> PTR_SUBU \
>> sp, sp, t2 # reserve space for early malloc
>> and sp, sp, t0 # force 16 byte alignment
>> @@ -75,7 +75,7 @@
>> blt t0, t1, 1b
>> PTR_ADDIU t0, PTRSIZE
>>
>> -#ifdef CONFIG_SYS_MALLOC_F_LEN
>> +#if CONFIG_VAL(SYS_MALLOC_F_LEN)
>> PTR_S sp, GD_MALLOC_BASE(k0) # gd->malloc_base offset
>> #endif
>> .endm
>>
>
--
- Daniel
More information about the U-Boot
mailing list