Hello Peter,

Peter Tyser wrote:
>> +#if !defined(CONFIG_RELOC_FIXUP_WORKS)
>> +DECLARE_GLOBAL_DATA_PTR;
>> +
>> +void fixup_cmdtable(cmd_tbl_t *cmdtp, int size)
>> +{
>> +    int     i;
>> +
>> +    if (gd->reloc_off == 0)
>> +            return;
>> +
>> +    for (i = 0; i < size; i++) {
>> +            ulong addr;
>> +
>> +            addr = (ulong) (cmdtp->cmd) + gd->reloc_off;
>> +            cmdtp->cmd =
>> +                    (int (*)(struct cmd_tbl_s *, int, int, char * const 
>> []))addr;
>> +            addr = (ulong)(cmdtp->name) + gd->reloc_off;
>> +            cmdtp->name = (char *)addr;
>> +            if (cmdtp->usage) {
>> +                    addr = (ulong)(cmdtp->usage) + gd->reloc_off;
>> +                    cmdtp->usage = (char *)addr;
>> +            }
>> +#ifdef      CONFIG_SYS_LONGHELP
>> +            if (cmdtp->help) {
>> +                    addr = (ulong)(cmdtp->help) + gd->reloc_off;
>> +                    cmdtp->help = (char *)addr;
>> +            }
>> +#endif
>> +            cmdtp++;
>> +    }
>> +}
> 
> A number of other arches have this same logic in arch-specific code, eg
> arch/mips/lib/board.c.  Could you also convert them to use the new
> fixup_cmdtable() in this patch?

Ah, Ok, I can try it. This will then result, that this patch can go
direct to mainline, right?

As I see in the code, this should be possible for the following
architectures:

avr32
m68k
mips

I make a patch for this, but couldn;t test it ...

bye
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to