[U-Boot] [PATCH v4 3/4] generic board patch of manual reloc and zero gd_t

Simon Glass sjg at chromium.org
Sat Aug 24 02:12:48 CEST 2013


Hi,

On Thu, Aug 22, 2013 at 8:55 AM, FengHua <fenghua at phytium.com.cn> wrote:
>
> On Thu, Aug 22, 2013 at 09:31:35AM +0800, FengHua wrote:
>>
>>
>>
>> > -----????????????-----
>> > ?????????: "Scott Wood" <scottwood at freescale.com>
>> > ????????????: 2013???8???22??? ?????????
>> > ?????????: "Simon Glass" <sjg at chromium.org>
>> > ??????: FengHua <fenghua at phytium.com.cn>, "trini at ti.com" <trini at ti.com>,
>> > "U-Boot
>> >  Mailing List" <u-boot at lists.denx.de>
>> > ??????: Re: [U-Boot] [PATCH v4 3/4] generic board patch of manual reloc
>> > and zero gd_t
>> >
>> > On Tue, 2013-08-20 at 23:27 -0600, Simon Glass wrote:
>> > > Hi David,
>> > >
>> > > On Tue, Aug 20, 2013 at 4:48 AM,  <fenghua at phytium.com.cn> wrote:
>> > > > diff --git a/common/board_r.c b/common/board_r.c
>> > > > index 86ca1cb..1b4bdd2 100644
>> > > > --- a/common/board_r.c
>> > > > +++ b/common/board_r.c
>> > > > @@ -157,6 +157,13 @@ static int initr_reloc_global_data(void)
>> > > >          */
>> > > >         gd->env_addr += gd->relocaddr - CONFIG_SYS_MONITOR_BASE;
>> > > >  #endif
>> > > > +#ifdef CONFIG_NEEDS_MANUAL_RELOC
>> > > > +       /*
>> > > > +        * We have to relocate the command table manually
>> > > > +        */
>> > > > +       fixup_cmdtable(ll_entry_start(cmd_tbl_t, cmd),
>> > > > +                       ll_entry_count(cmd_tbl_t, cmd));
>> > > > +#endif /* CONFIG_NEEDS_MANUAL_RELOC */
>> > >
>> > > Should this be done here or in main_loop()? How is this currently done
>> > > when not using generic board?
>> >
>> > It shouldn't be done at all -- let's not revive manual relocations.
>> > I'll try to get proper relocation working.
>>
>> Even the rela relocation of aarch64 works we should keep this here.
>> The generic board could be used by any other platform that need manual
>> relocation.
>
>>No, the point is that manual relocation is legacy and new platforms
>> should be using proper relocation.
>
>
>
>    Of course, manual relocation is not good. But I noticed that there are
> serveral architecture use manual relocation now, maybe we should keep this
> for compatibility. Another way, I am not sure whether we can get rid of
> manual relocation on all architecture. I used manual relocation on aarch64
> because I found the initial addresses of data in rela mode are all zero
> whatever the text base is, and I don't know how to solve this problem.

Possible there is a new relocation type that you need to support?

Regards,
Simon


More information about the U-Boot mailing list