24 Jul, 2013

1 commit


28 Jul, 2011

2 commits


05 Jul, 2010

1 commit

  • The hush shell dynamically allocates (and re-allocates) memory for the
    argument strings in the "char *argv[]" argument vector passed to
    commands. Any code that modifies these pointers will cause serious
    corruption of the malloc data structures and crash U-Boot, so make
    sure the compiler can check that no such modifications are being done
    by changing the code into "char * const argv[]".

    This modification is the result of debugging a strange crash caused
    after adding a new command, which used the following argument
    processing code which has been working perfectly fine in all Unix
    systems since version 6 - but not so in U-Boot:

    int main (int argc, char **argv)
    {
    while (--argc > 0 && **++argv == '-') {
    /* ====> */ while (*++*argv) {
    switch (**argv) {
    case 'd':
    debug++;
    break;
    ...
    default:
    usage ();
    }
    }
    }
    ...
    }

    The line marked "====>" will corrupt the malloc data structures and
    usually cause U-Boot to crash when the next command gets executed by
    the shell. With the modification, the compiler will prevent this with
    an
    error: increment of read-only location '*argv'

    N.B.: The code above can be trivially rewritten like this:

    while (--argc > 0 && **++argv == '-') {
    char *arg = *argv;
    while (*++arg) {
    switch (*arg) {
    ...

    Signed-off-by: Wolfgang Denk
    Acked-by: Mike Frysinger

    Wolfgang Denk
     

13 Jun, 2009

1 commit

  • Many of the help messages were not really helpful; for example, many
    commands that take no arguments would not print a correct synopsis
    line, but "No additional help available." which is not exactly wrong,
    but not helpful either.

    Commit ``Make "usage" messages more helpful.'' changed this
    partially. But it also became clear that lots of "Usage" and "Help"
    messages (fields "usage" and "help" in struct cmd_tbl_s respective)
    were actually redundant.

    This patch cleans this up - for example:

    Before:
    => help dtt
    dtt - Digital Thermometer and Thermostat

    Usage:
    dtt - Read temperature from digital thermometer and thermostat.

    After:
    => help dtt
    dtt - Read temperature from Digital Thermometer and Thermostat

    Usage:
    dtt

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

28 Jan, 2009

1 commit

  • Remove command name from all command "usage" fields and update
    common/command.c to display "name - usage" instead of
    just "usage". Also remove newlines from command usage fields.

    Signed-off-by: Peter Tyser

    Peter Tyser
     

11 Sep, 2008

1 commit


18 Jan, 2008

1 commit


13 Jul, 2006

1 commit

  • Added code for reading and writing Mac addresses to/from ID EEPROM(0x57).
    With attached patch, we can use command "mac/mac read/mac save/"
    to read and write EEPROM under u-boot prompt.

    U-boot will calculate the checksum of EEPROM while bootup,
    if it is right, then u-boot will check whether the mac address
    of eTSEC0/1/2/3 is availalbe (non-zero).

    If there is mac address availabe in EEPROM, u-boot will use it,
    otherewise, u-boot will use the mac address defined in
    MPC8641HPCN.h. This matches the requirement to set unique mac address
    for each TSEC port.

    Signed-off-by: Haiying Wang
    Signed-off-by: York Sun

    Haiying Wang