Hi, On 24 May 2018 at 21:24, Ley Foon Tan <lftan.li...@gmail.com> wrote: > > On Thu, May 24, 2018 at 12:33 AM, Simon Glass <s...@chromium.org> wrote: > > Hi, > > > > On 23 May 2018 at 00:32, Ley Foon Tan <lftan.li...@gmail.com> wrote: > >> On Sat, May 19, 2018 at 10:37 PM, Simon Glass <s...@chromium.org> wrote: > >>> Hi Ley, > >>> > >>> On 18 May 2018 at 04:03, Ley Foon Tan <ley.foon....@intel.com> wrote: > >>>> Follow implementation in mALLOc(). Check GD_FLG_FULL_MALLOC_INIT flag > >>>> and use > >>>> malloc_simple if GD_FLG_FULL_MALLOC_INIT is unset. Adjust the malloc > >>>> bytes > >>>> to align with the requested alignment. > >>>> > >>>> The original memalign() function will access mchunkptr struct to adjust > >>>> the > >>>> alignment if there is misalignment happen, but mchunkptr struct is not > >>>> being > >>>> initialized before full malloc is initialized. This cause the system > >>>> crash. > >>>> > >>>> Signed-off-by: Ley Foon Tan <ley.foon....@intel.com> > >>>> --- > >>>> common/dlmalloc.c | 7 +++++++ > >>>> 1 files changed, 7 insertions(+), 0 deletions(-) > >>>> > >>>> diff --git a/common/dlmalloc.c b/common/dlmalloc.c > >>>> index b395eef..edaad29 100644 > >>>> --- a/common/dlmalloc.c > >>>> +++ b/common/dlmalloc.c > >>>> @@ -1891,6 +1891,13 @@ Void_t* mEMALIGn(alignment, bytes) size_t > >>>> alignment; size_t bytes; > >>>> > >>>> if ((long)bytes < 0) return NULL; > >>>> > >>>> +#if CONFIG_VAL(SYS_MALLOC_F_LEN) > >>> > >>> How about: > >>> > >>> if (IS_ENABLED(CONFIG_SYS_MALLOC_F)) > >> > >> I think this is the reason it uses #if CONFIG_VAL(SYS_MALLOC_F_LEN), > >> same for malloc(). > >> > >> "spl: make SPL and normal u-boot stage use independent SYS_MALLOC_F_LEN" > >> > >> http://git.denx.de/?p=u-boot.git;a=commit;h=f1896c45cb2f7d8dbed27e784a6459a129fc0762 > > > > So how about > > > > if (CONFIG_IS_ENABLED(SYS_MALLOC_F_LEN) > > > > Or you could use #if if you need to > > Tested both #if (CONFIG_IS_ENABLED(SYS_MALLOC_F_LEN)) and if > (CONFIG_IS_ENABLED(SYS_MALLOC_F_LEN)), both are not working.
Sorry I mean CONFIG_IS_ENABLED(SYS_MALLOC_F) That tells you whether the feature is enabled in U-Boot or SPL. > > It will not go into this code. > > > > > > To me it seems better to use the setting itself (i.e. whether the > > pre-reloc malloc() is enabled) rather than one of its parameters (the > > size of the region). [..] Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot