18 Feb, 2015

2 commits

  • If you want to inspect the control device tree using the fdt command,
    the "fdt address -c" command previously unhelpfully printed the phys
    memory address of the device tree. That address could not then be used
    to set the fdt address for inspection. Changed the resulting print to
    one that can be copied directly to the 'fdt address ' command.

    Signed-off-by: Joe Hershberger
    Acked-by: Simon Glass

    Joe Hershberger
     
  • Commit 90bac29a76bc8d649b41a55f2786c0abef9bb2c1 claims to fix this bug
    that was introduced in commit a92fd6577ea17751ead9b50243e3c562125cf581
    but doesn't actually make the change that the commit message describes.

    Actually fix the bug this time.

    Signed-off-by: Joe Hershberger
    Acked-by: Simon Glass

    Joe Hershberger
     

06 Jan, 2015

1 commit

  • Instead of setting working_fdt to map_sysmem(addr) (e.g. blob), it should be set
    to addr directly as inside set_working_fdt_addr it uses map_sysmem(addr) again.
    To test: ./u-boot -d dts/dt.bin , then issue: fdt addr 0x100, fdt print will
    then cause an segmentation fault. After this fix fdt print is functional.

    Hua Yanghao
     

21 Nov, 2014

2 commits


09 Aug, 2014

1 commit


19 Jun, 2014

3 commits


22 Mar, 2014

1 commit


24 Jul, 2013

1 commit


01 May, 2013

3 commits


01 Mar, 2013

1 commit


08 Feb, 2013

1 commit

  • and, if including libfdt.h which includes libfdt_env.h in
    the correct order, don't include fdt.h before libfdt.h.

    this is needed to get the fdt type definitions set from
    the project environment before fdt.h uses them.

    Signed-off-by: Kim Phillips
    Cc: Jerry Van Baren

    Kim Phillips
     

05 Nov, 2012

1 commit

  • cmd_boot.c:40:5: warning: symbol 'do_go' was not declared. Should it be static?
    cmd_bootm.c:164:6: warning: symbol '__arch_preboot_os' was not declared. Should it be static?
    cmd_bootm.c:477:5: warning: symbol 'do_bootm_subcommand' was not declared. Should it be static?
    cmd_bootm.c:1022:1: error: directive in argument list
    cmd_bootm.c:1028:1: error: directive in argument list
    cmd_bootm.c:1029:1: error: directive in argument list
    cmd_bootm.c:1036:1: error: directive in argument list
    cmd_bootm.c:1042:1: error: directive in argument list
    cmd_bootm.c:1044:1: error: directive in argument list
    cmd_bootm.c:1045:1: error: directive in argument list
    cmd_bootm.c:1047:1: error: directive in argument list
    cmd_bootm.c:1089:5: warning: symbol 'do_iminfo' was not declared. Should it be static?
    cmd_bootm.c:1176:5: warning: symbol 'do_imls' was not declared. Should it be static?
    cmd_bootm.c:1654:1: error: directive in argument list
    cmd_bootm.c:1660:1: error: directive in argument list
    cmd_console.c:32:5: warning: symbol 'do_coninfo' was not declared. Should it be s
    cmd_date.c:46:5: warning: symbol 'do_date' was not declared. Should it be static?
    cmd_echo.c:27:5: warning: symbol 'do_echo' was not declared. Should it be static?
    cmd_exit.c:27:5: warning: symbol 'do_exit' was not declared. Should it be static?
    cmd_fat.c:97:5: warning: symbol 'do_fat_ls' was not declared. Should it be static?
    cmd_fat.c:136:5: warning: symbol 'do_fat_fsinfo' was not declared. Should it be s
    cmd_fdt.c:66:5: warning: symbol 'do_fdt' was not declared. Should it be static?
    cmd_fdt.c:542:43: warning: incorrect type in assignment (different base types)
    cmd_fdt.c:542:43: expected unsigned int [unsigned] [usertype]
    cmd_fdt.c:542:43: got restricted __be32 [usertype]
    cmd_fdt.c:679:42: warning: cast to restricted __be32
    cmd_fdt.c:820:1: error: directive in argument list
    cmd_fdt.c:822:1: error: directive in argument list
    cmd_flash.c:292:5: warning: symbol 'do_flinfo' was not declared. Should it be static?
    cmd_flash.c:324:5: warning: symbol 'do_flerase' was not declared. Should it be static?
    cmd_flash.c:457:5: warning: symbol 'do_protect' was not declared. Should it be st
    cmd_help.c:27:5: warning: symbol 'do_help' was not declared. Should it be static?
    cmd_i2c.c:136:6: warning: symbol '__def_i2c_init_board' was not declared. Should it be static?
    cmd_i2c.c:144:14: warning: symbol '__def_i2c_get_bus_speed' was not declared. Should it be static?
    cmd_i2c.c:151:5: warning: symbol '__def_i2c_set_bus_speed' was not declared. Should it be static?
    cmd_i2c.c:1322:1: error: directive in argument list
    cmd_i2c.c:1324:1: error: directive in argument list
    cmd_i2c.c:1326:1: error: directive in argument list
    cmd_i2c.c:1328:1: error: directive in argument list
    cmd_i2c.c:1337:1: error: directive in argument list
    cmd_i2c.c:1339:1: error: directive in argument list
    cmd_irq.c:27:5: warning: symbol 'do_interrupts' was not declared. Should it be static?
    cmd_itest.c:133:5: warning: symbol 'binary_test' was not declared. Should it be static?
    cmd_itest.c:158:5: warning: symbol 'do_itest' was not declared. Should it be stat
    cmd_load.c:54:5: warning: symbol 'do_load_serial' was not declared. Should it be static?
    cmd_load.c:431:6: warning: symbol 'his_eol' was not declared. Should it be static?
    cmd_load.c:432:6: warning: symbol 'his_pad_count' was not declared. Should it be static?
    cmd_load.c:433:6: warning: symbol 'his_pad_char' was not declared. Should it be static?
    cmd_load.c:434:6: warning: symbol 'his_quote' was not declared. Should it be static?
    cmd_load.c:436:5: warning: symbol 'do_load_serial_bin' was not declared. Should it be static?
    cmd_load.c:549:6: warning: symbol 'send_pad' was not declared. Should it be static?
    cmd_load.c:558:6: warning: symbol 'ktrans' was not declared. Should it be static?
    cmd_load.c:568:5: warning: symbol 'chk1' was not declared. Should it be static?
    cmd_load.c:578:6: warning: symbol 's1_sendpacket' was not declared. Should it be static?
    cmd_load.c:587:6: warning: symbol 'send_ack' was not declared. Should it be static?
    cmd_load.c:600:6: warning: symbol 'send_nack' was not declared. Should it be static?
    cmd_load.c:614:6: warning: symbol 'os_data_init' was not declared. Should it be static?
    cmd_load.c:615:6: warning: symbol 'os_data_char' was not declared. Should it be static?
    cmd_load.c:657:6: warning: symbol 'k_data_init' was not declared. Should it be static?
    cmd_load.c:663:6: warning: symbol 'k_data_save' was not declared. Should it be static?
    cmd_load.c:669:6: warning: symbol 'k_data_restore' was not declared. Should it be static?
    cmd_load.c:675:6: warning: symbol 'k_data_char' was not declared. Should it be static?
    cmd_load.c:693:6: warning: symbol 'send_parms' was not declared. Should it be static?
    cmd_load.c:694:6: warning: symbol 'send_ptr' was not declared. Should it be static?
    cmd_load.c:698:6: warning: symbol 'handle_send_packet' was not declared. Should i
    cmd_mdio.c:60:5: warning: symbol 'mdio_write_ranges' was not declared. Should it be static?
    cmd_mdio.c:82:5: warning: symbol 'mdio_read_ranges' was not declared. Should it be static?
    cmd_mdio.c:115:5: warning: symbol 'extract_reg_range' was not declared. Should it be static?
    cmd_mdio.c:144:5: warning: symbol 'extract_phy_range' was not declared. Should it
    cmd_mem.c:54:5: warning: symbol 'do_mem_md' was not declared. Should it be static?
    cmd_mem.c:150:5: warning: symbol 'do_mem_mm' was not declared. Should it be static?
    cmd_mem.c:154:5: warning: symbol 'do_mem_nm' was not declared. Should it be static?
    cmd_mem.c:159:5: warning: symbol 'do_mem_mw' was not declared. Should it be static?
    cmd_mem.c:256:5: warning: symbol 'do_mem_cmp' was not declared. Should it be static?
    cmd_mem.c:326:5: warning: symbol 'do_mem_cp' was not declared. Should it be static?
    cmd_mem.c:436:5: warning: symbol 'do_mem_base' was not declared. Should it be static?
    cmd_mem.c:449:5: warning: symbol 'do_mem_loop' was not declared. Should it be static?
    cmd_mem.c:595:5: warning: symbol 'do_mem_mtest' was not declared. Should it be static?
    cmd_mem.c:618:26: warning: Using plain integer as NULL pointer
    cmd_mem.c:1057:5: warning: symbol 'do_mem_crc' was not declared. Should it be static?
    cmd_misc.c:30:5: warning: symbol 'do_sleep' was not declared. Should it be static
    cmd_mmc.c:118:5: warning: symbol 'do_mmcinfo' was not declared. Should it be static?
    cmd_mmc.c:272:32: warning: Using plain integer as NULL pointer
    cmd_mmc.c:150:5: warning: symbol 'do_mmcops' was not declared. Should it be stati
    cmd_mp.c:27:1: warning: symbol 'cpu_cmd' was not declared. Should it be static?
    cmd_mp.c:85:1: error: directive in argument list
    cmd_mp.c:88:1: error: directive in argument list
    cmd_mtdparts.c:150:18: warning: symbol 'mtdids' was not declared. Should it be static?
    cmd_mtdparts.c:153:18: warning: symbol 'devices' was not declared. Should it be static?
    cmd_mtdparts.c:713:5: warning: symbol 'mtd_device_validate' was not declared. Should it be static?
    cmd_mtdparts.c:1887:5: warning: symbol 'do_chpart' was not declared. Should it be static?
    cmd_mtdparts.c:1925:5: warning: symbol 'do_mtdparts' was not declared. Should it be static?
    cmd_mtdparts.c:2060:1: error: directive in argument list
    cmd_mtdparts.c:2063:1: error: directive in argument list
    cmd_mtdparts.c:2066:1: error: directive in argument list
    cmd_mtdparts.c:2071:1: error: directive in argument list
    cmd_mtdparts.c:2073:1: error: directive in argument list
    cmd_nand.c:377:18: error: bad constant expression
    cmd_nand.c:431:5: warning: symbol 'do_nand' was not declared. Should it be static?
    cmd_nand.c:796:1: error: directive in argument list
    cmd_nand.c:801:1: error: directive in argument list
    cmd_nand.c:802:1: error: directive in argument list
    cmd_nand.c:806:1: error: directive in argument list
    cmd_nand.c:819:1: error: directive in argument list
    cmd_nand.c:824:1: error: directive in argument list
    cmd_nand.c:825:1: error: directive in argument list
    cmd_nand.c:831:1: error: directive in argument list
    cmd_nand.c:918:5: warning: symbol 'do_nandboot' was not declared. Should it be static?
    cmd_net.c:33:5: warning: symbol 'do_bootp' was not declared. Should it be static?
    cmd_net.c:107:5: warning: symbol 'do_dhcp' was not declared. Should it be static?
    cmd_net.c:120:5: warning: symbol 'do_nfs' was not declared. Should it be static?
    cmd_nvedit.c:138:5: warning: symbol 'do_env_print' was not declared. Should it be static?
    cmd_nvedit.c:323:5: warning: symbol '_do_env_set' was not declared. Should it be static?
    cmd_nvedit.c:435:5: warning: symbol 'do_env_set' was not declared. Should it be static?
    cmd_nvedit.c:514:5: warning: symbol 'do_env_edit' was not declared. Should it be static?
    cmd_nvedit.c:620:5: warning: symbol 'do_env_save' was not declared. Should it be static?
    cmd_nvedit.c:1016:1: error: directive in argument list
    cmd_nvedit.c:1018:1: error: directive in argument list
    cmd_nvedit.c:1021:1: error: directive in argument list
    cmd_nvedit.c:1023:1: error: directive in argument list
    cmd_nvedit.c:1024:1: error: directive in argument list
    cmd_nvedit.c:1026:1: error: directive in argument list
    cmd_nvedit.c:1027:1: error: directive in argument list
    cmd_nvedit.c:1029:1: error: directive in argument list
    cmd_nvedit.c:1030:1: error: directive in argument list
    cmd_nvedit.c:1032:1: error: directive in argument list
    cmd_nvedit.c:1034:1: error: directive in argument list
    cmd_nvedit.c:1036:1: error: directive in argument list
    cmd_nvedit.c:1037:1: error: directive in argument list
    cmd_nvedit.c:1039:1: error: directive in argument list
    cmd_pci.c:38:17: warning: symbol 'ShortPCIListing' was not declared. Should it be static?
    cmd_pci.c:38:22: warning: 'ShortPCIListing' defined but not used [-Wunused-variable]
    cmd_pci.c:411:5: warning: symbol 'do_pci' was not declared. Should it be static?
    cmd_pci.c:494:1: error: directive in argument list
    cmd_pci.c:497:1: error: directive in argument list
    cmd_reginfo.c:40:5: warning: symbol 'do_reginfo' was not declared. Should it be static?
    cmd_sata.c:31:5: warning: symbol 'sata_curr_device' was not declared. Should it be static?
    note -> ata_piix.c doesn't seem to use 'sata_curr_device'; deleted.
    cmd_sata.c:32:18: warning: symbol 'sata_dev_desc' was not declared. Should it be static?
    cmd_sata.c:70:5: warning: symbol 'do_sata' was not declared. Should it be static?
    cmd_setexpr.c:53:5: warning: symbol 'do_setexpr' was not declared. Should it be static?
    cmd_source.c:186:1: error: directive in argument list
    cmd_source.c:190:1: error: directive in argument list
    cmd_test.c:27:5: warning: symbol 'do_test' was not declared. Should it be static?
    cmd_test.c:153:5: warning: symbol 'do_false' was not declared. Should it be static?
    cmd_test.c:164:5: warning: symbol 'do_true' was not declared. Should it be static
    cmd_usb.c:43:6: warning: symbol 'usb_get_class_desc' was not declared. Should it be static?
    cmd_usb.c:69:6: warning: symbol 'usb_display_class_sub' was not declared. Should it be static?
    cmd_usb.c:151:6: warning: symbol 'usb_display_string' was not declared. Should it be static?
    cmd_usb.c:161:6: warning: symbol 'usb_display_desc' was not declared. Should it be static?
    cmd_usb.c:195:6: warning: symbol 'usb_display_conf_desc' was not declared. Should it be static?
    cmd_usb.c:210:6: warning: symbol 'usb_display_if_desc' was not declared. Should it be static?
    cmd_usb.c:227:6: warning: symbol 'usb_display_ep_desc' was not declared. Should it be static?
    cmd_usb.c:252:6: warning: symbol 'usb_display_config' was not declared. Should it be static?
    cmd_usb.c:283:6: warning: symbol 'usb_show_tree_graph' was not declared. Should it be static?
    cmd_usb.c:343:6: warning: symbol 'usb_show_tree' was not declared. Should it be static?
    cmd_usb.c:356:5: warning: symbol 'do_usbboot' was not declared. Should it be static?
    cmd_usb.c:366:5: warning: symbol 'do_usb' was not declared. Should it be static?
    cmd_version.c:31:5: warning: symbol 'do_version' was not declared. Should it be s
    cmd_ximg.c:46:1: warning: symbol 'do_imgextract' was not declared. Should it be static?
    cmd_ximg.c:272:1: error: directive in argument list
    cmd_ximg.c:276:1: error: directive in argument list

    Signed-off-by: Kim Phillips

    Kim Phillips
     

03 Nov, 2012

1 commit

  • When putting pointers into a format string use %p to ensure that they
    are printed correctly regardless of bitsize. This fixes warnings on
    sandbox on 64bit systems.

    Cc: Joe Hershberger
    Cc: Gerald Van Baren
    Signed-off-by: Tom Rini
    Acked-by: Joe Hershberger

    Tom Rini
     

16 Oct, 2012

3 commits


15 Sep, 2012

1 commit

  • In case the "fdt addr" command wasn't ran yet and any other "fdt"
    subcommand was issued, the system crashed due to NULL pointer being
    used.

    This is caused by "fdt addr" command setting up a pointer to the
    FDT memory location. Prior issuing "fdt addr", the pointer is NULL
    so calling any other subcommands crashed the u-boot.

    Signed-off-by: Marek Vasut
    Cc: Simon Glass

    Marek Vasut
     

07 Mar, 2012

1 commit


02 Jun, 2011

1 commit


25 Jul, 2010

1 commit

  • Lots of code use this construct:

    cmd_usage(cmdtp);
    return 1;

    Change cmd_usage() let it return 1 - then we can replace all these
    ocurrances by

    return cmd_usage(cmdtp);

    This fixes a few places with incorrect return code handling, too.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

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
     

09 Dec, 2009

1 commit


25 Sep, 2009

1 commit

  • Commit 4abd844d8e extended the fdt command parser to handle property
    strings which are split across multiple arguments but it was broken for
    byte streams and strings.

    Byte stream parsing:

    * Fixes where it would terminate early or go into an endless loop.

    * Fixes a 0x00 being inserted into the data if there is a space after
    '[' or a separate argument.

    * Fixes dereferencing the argument pointer after the last argument.

    * Checks for bad characters.

    String parsing:

    * Treat multiple arguments as a string list. This fixes an issue where
    only the last argument was stored.

    Signed-off-by: Ken MacLeod

    Ken MacLeod
     

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

2 commits


19 Oct, 2008

1 commit


13 Sep, 2008

1 commit

  • Commit 2a1a2cb6 didnt remove the dummy mem reservation in fdt_chosen,
    and this stopped Linux from booting with a Ramdisk. This patch fixes
    this, by deleting the useless dummy mem reservation.

    When booting with a Ramdisk, a fix offset FDT_RAMDISK_OVERHEAD is now
    added to of_size, so we dont need anymore a dummy mem reservation.

    I measured the value of FDT_RAMDISK_OVERHEAD on a MPC8270 based
    system (=0x44 bytes) and rounded it up to 0x80).

    Signed-off-by: Heiko Schocher
    Acked-by: Kumar Gala

    Heiko Schocher
     

27 Aug, 2008

2 commits


25 Aug, 2008

1 commit

  • Replace the "must quote special characters" note with a hint on
    how to dereference /aliases pointers by omitting the leading "/".
    This feature was introduced by Kumar Gala as a libfdt enhancement
    in commit ed035708235332c3c117ee3bb1a426063f03cfcb.

    Example:

    => fdt print /aliases
    aliases {
    ethernet0 = "/qe@e0100000/ucc@2000";
    ethernet1 = "/qe@e0100000/ucc@3000";
    serial0 = "/soc8360@e0000000/serial@4500";
    serial1 = "/soc8360@e0000000/serial@4600";
    pci0 = "/pci@e0008500";
    };
    => fdt print ethernet0
    ucc@2000 {
    device_type = "network";
    compatible = "ucc_geth";
    cell-index = ;
    reg = ;
    interrupts = ;
    interrupt-parent = ;
    local-mac-address = [00 00 00 00 00 00];
    rx-clock-name = "none";
    tx-clock-name = "clk9";
    phy-handle = ;
    phy-connection-type = "rgmii-id";
    pio-handle = ;
    };

    Signed-off-by: Gerald Van Baren

    Gerald Van Baren
     

21 Aug, 2008

2 commits


10 Jul, 2008

1 commit

  • The compiler will help find mismatches between printf formats and
    arguments if you let it. This patch adds the necessary attributes to
    declarations in include/common.h, then begins to correct the resulting
    compiler warnings. Some of these were bugs, e.g., "$d" instead of
    "%d" and incorrect arguments. Others were just annoying, like
    int-long mismatches on a system where both are 32 bits. It's worth
    fixing the annoying errors to catch the real ones.

    Signed-off-by: Andrew Klossner

    Andrew Klossner
     

11 Jun, 2008

1 commit