[U-Boot] [PATCH v2 2/9] make the hwconfig buffer deeper

York Sun yorksun at freescale.com
Fri Jan 7 17:49:17 CET 2011


On Fri, 2011-01-07 at 09:14 -0600, Kumar Gala wrote:
> On Jan 3, 2011, at 3:47 PM, Wolfgang Denk wrote:
> 
> > Dear York Sun,
> > 
> > In message <1294089991.24386.58.camel at oslab-l1> you wrote:
> >> 
> >>> Hm... I have no idea whish sort of "buggy code" you are referring to
> >>> here, but in this case we shoul start and fix that buggy code, right?
> >> 
> >> Making a buffer in a function's stack and make use of it out of the
> >> scope, that's the buggy code I am referring. 
> > 
> > That is bad indeed, and needs to be fixed.
> 
> Where is that happening?
> 
> >>> You fail to explain why we should change anything when you "don't need
> >>> more than 128 characters for hwconfig" in the first place?
> >> 
> >> I don't need more than 128 characters. However, the stack is trashed by
> >> other functions. I have to push the stack deeper to keep the content
> >> unchanged. I am not happy with it.
> > 
> > Now I understand what you mean.
> > 
> > But we do not need a bigger buffer, or store another copy of the whole
> > content of the "hwconfig" variable - we just need room to for the
> > return value of hwconfig_parse(), which usually should be (much)
> > smaller than the content of the "hwconfig" variable.
> 
> I agree with WD, I'm confused.  Can you provide the hwconfig string you are using that has issues with 128 but works at 256.
> 
> - k

fsl_ddr:ctlr_intlv=cacheline,bank_intlv=cs0_cs1_cs2_cs3,ecc=off,addr_hash=false

With the buffer size 128, the sub function gets
"ctlr_intlv=cacheline,bank_intlv=cs0_". It is not because the buffer is
not enough, but the stack has been trashed. I have debug log if you need
it.

York





More information about the U-Boot mailing list