[U-Boot] Issue in u-boot; TFTP error: trying to overwrite reserved memory...
Simon Goldschmidt
simon.k.r.goldschmidt at gmail.com
Wed Sep 11 14:43:10 UTC 2019
On Wed, Sep 11, 2019 at 11:44 AM Moses Christopher
<moseschristopherb at gmail.com> wrote:
>
>
>
> On Wed, 11 Sep, 2019, 10:32 AM Simon Goldschmidt, <simon.k.r.goldschmidt at gmail.com> wrote:
>>
>> On Mon, Sep 9, 2019 at 11:29 AM Moses Christopher
>> <moseschristopherb at gmail.com> wrote:
>> >
>> > Hi Simon,
>> >
>> >
>> > Thanks for the prompt reply.
>> >
>> > On Fri, 6 Sep, 2019, 8:13 AM Simon Goldschmidt, <simon.k.r.goldschmidt at gmail.com> wrote:
>> >
>> > Hi,
>> >
>> > On Thu, Sep 5, 2019 at 4:14 PM Moses Christopher
>> > <moseschristopherb at gmail.com> wrote:
>> > > Hello together,
>> > >
>> > > I was trying to build u-boot and spl for the arm target and tried to boot via usb-ethernet.
>> > > I found an issue with one of the commit made in the early 2019,
>> > > http://patchwork.ozlabs.org/patch/1024795/
>> > >
>> > > When using this CONFIG_LMB the max_size or the lmb_get_free_size(&lmb, load_addr); returns 0, no matter what.
>> > > And it triggers the following error,
>> > > TFTP error: trying to overwrite reserved memory...
>> > > I did a quick fix by adding #undef CONFIG_LMB in the file, net/tftp.c
>> > > So, I would like to know why this doesn’t work as it was working before applying this patch ?
>> >
>> > Can you add "#define DEBUG" as the first line in 'lib/lmb.c'? That
>> > should give you debug
>> > output when lmb is used.
>> >
>> >
>> > I did add DEBUG macro to lmb.c but the function having the debug messages isn't getting called. I suppose it was from fs/fs.c
>>
>> Right, tftp.c is missing the call to that funcftion. Could you add the
>> call to 'lmb_dump_all(&lmb);'
>> right below 'lmb_init_and_reserve()' in tftp.c?
>>
>> That should give you the output required. And while at it, tell us
>> what 'load_addr' is set to
>> (by adding a printf in tftp.c, too).
>>
>> Thanks,
>> Simon
>
>
> Thanks for your patience and time.
>
> Please find the log below,
>
>
>
> DHCP client bound to address 172.17.0.2 (1285 ms)
>
> Using usb_ether device
>
> TFTP from server 172.17.0.1; our IP address is 172.17.0.2
>
> Filename 'u-boot.img'.
>
> lmb_dump_all:
>
> memory.cnt = 0x0
>
> memory.size = 0xx
>
>
>
> reserved.cnt = 0x0
>
> reserved.size = 0xx
>
> load_addr: 0x82000000
>
>
>
> TFTP error: trying to overwrite reserved memory...
>
> Problem booting with BOOTP
>
>
>
> In my u-boot it shows the DRAM size properly as 256MiB
>
> So, do I need to configure my RAM size in SPL stage as well, such that SPL is aware of the memory size ?
Ehrm, are you doing this from SPL?
You need the RAM size for 'lmb_init_and_reserve()' to read, yes.
Otherwise it can't know
where to safely allocate things.
Regards,
Simon
>
>
>>
>> >
>> > FYI,
>> > I'm trying to load SPL and uboot on RAM, using USB-ETH. Also the environment is not stored separately, neither the device tree.
>> >
>> >
>> > The lmb code works by getting the RAM size, adding reserved areas and then only
>> > allowing allocations in non-reserved areay. However, the RAM size is
>> > not fully used
>> > depending on some config options and/or environment variables. There's possibly
>> > something wrong in your configuration around that.
>> >
>> >
>> > Because, earlier to this patch, net/tftp.c isn't actually checking for the reserved memory regions and is able to download the files properly on the RAM and it works. I know, that's not a good approach, hence you've made the necessary changes to correct it.
>> >
>> > Could you kindly provide me some information, where I can read more about the reserved memory regions and how exactly some region is treated as reserved region ?
>> >
>> > Also, it'd be great if you could provide some information related to the configuration of Reserved and free addresses of RAM.
>> >
>> > Thank you for your patience and time.
>> >
>> > Regards,
>> > Simon
>> >
>> > >
>> > > Best regards,
>> > > Moses Christopher
>> >
>> > Best regards,
>> > Moses Christopher
More information about the U-Boot
mailing list