Skip to content
Snippets Groups Projects
  1. Nov 04, 2012
    • Kim Phillips's avatar
      common/cmd_*.c: sparse fixes · 088f1b19
      Kim Phillips authored
      
      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] <noident>
      cmd_fdt.c:542:43:    got restricted __be32 [usertype] <noident>
      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: default avatarKim Phillips <kim.phillips@freescale.com>
      088f1b19
  2. Nov 02, 2012
  3. Oct 15, 2012
  4. Sep 15, 2012
    • Marek Vasut's avatar
      fdt: Check if the FDT address is configured · e02c9458
      Marek Vasut authored
      
      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: default avatarMarek Vasut <marex@denx.de>
      Cc: Simon Glass <sjg@chromium.org>
      e02c9458
  5. Mar 06, 2012
  6. Jun 01, 2011
  7. Jul 24, 2010
  8. Jul 04, 2010
    • Wolfgang Denk's avatar
      Make sure that argv[] argument pointers are not modified. · 54841ab5
      Wolfgang Denk authored
      
      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: default avatarWolfgang Denk <wd@denx.de>
      Acked-by: default avatarMike Frysinger <vapier@gentoo.org>
      54841ab5
  9. Dec 08, 2009
  10. Sep 25, 2009
    • Ken MacLeod's avatar
      cmd_fdt.c: fix parse of byte streams and strings · 6e748ea0
      Ken MacLeod authored
      
      Commit 4abd844d 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: default avatarKen MacLeod <ken@bitsko.slc.ut.us>
      6e748ea0
  11. Jun 12, 2009
    • Wolfgang Denk's avatar
      General help message cleanup · a89c33db
      Wolfgang Denk authored
      
      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: default avatarWolfgang Denk <wd@denx.de>
      a89c33db
  12. Jan 28, 2009
  13. Oct 18, 2008
  14. Sep 13, 2008
  15. Aug 26, 2008
  16. Aug 25, 2008
    • Gerald Van Baren's avatar
      Add note on dereferencing /aliases pointers · 109c30fb
      Gerald Van Baren authored
      
      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 = <0x1>;
              reg = <0x2000 0x200>;
              interrupts = <0x20>;
              interrupt-parent = <0x2>;
              local-mac-address = [00 00 00 00 00 00];
              rx-clock-name = "none";
              tx-clock-name = "clk9";
              phy-handle = <0x3>;
              phy-connection-type = "rgmii-id";
              pio-handle = <0x4>;
      };
      
      Signed-off-by: default avatarGerald Van Baren <vanbaren@cideas.com>
      109c30fb
  17. Aug 20, 2008
  18. Jul 09, 2008
    • Andrew Klossner's avatar
      Fix printf errors. · dc4b0b38
      Andrew Klossner authored
      
      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: default avatarAndrew Klossner <andrew@cesa.opbu.xerox.com>
      dc4b0b38
  19. Jun 11, 2008
  20. Jun 10, 2008
  21. May 20, 2008
    • Wolfgang Denk's avatar
      Big white-space cleanup. · 53677ef1
      Wolfgang Denk authored
      
      This commit gets rid of a huge amount of silly white-space issues.
      Especially, all sequences of SPACEs followed by TAB characters get
      removed (unless they appear in print statements).
      
      Also remove all embedded "vim:" and "vi:" statements which hide
      indentation problems.
      
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      53677ef1
  22. Apr 02, 2008
    • Andy Fleming's avatar
      Fix fdt set command to conform to dts spec · 4abd844d
      Andy Fleming authored
      
      The fdt set command was treating properties specified as <00> and <0011>
      as byte streams, rather than as an array of cells.  As we already have
      syntax for expressing the desire for a stream of bytes ([ xx xx ...]),
      we should use the <> syntax to describe arrays of cells, which are always
      32-bits per element.  If we imagine this likely (IMHO) scenario:
      
      > fdt set /ethernet-phy@1 reg <1>
      
      With the old code, this would create a bad fdt, since the reg cell would be
      made to be one byte in length.  But the cell must be 4 bytes, so this would
      break mysteriously.
      
      Also, the dts spec calls for constants inside the angle brackets (<>)
      to conform to C constant standards as they pertain to base.
      Take this scenario:
      
      > fdt set /ethernet@f00 reg <0xe250000\ 0x1000>
      
      The old fdt command would complain that it couldn't parse that.  Or, if you
      wanted to specify that a certain clock ran at 33 MHz, you'd be required to
      do this:
      
      > fdt set /mydev clock <1f78a40>
      
      Whereas the new code will accept decimal numbers.
      
      While I was in there, I extended the fdt command parser to handle property
      strings which are split across multiple arguments:
      
      > fdt set /ethernet@f00 interrupts < 33 2 34 2 36 2 >
      > fdt p /ethernet@f00
      ethernet@f00 {
      	interrupts = <0x21 0x2 0x22 0x2 0x24 0x2>;
      };
      
      Lastly, the fdt print code was rearranged slightly to print arrays of cells
      if the length of the property is a multiple of 4 bytes, and to not print
      leading zeros.
      
      Signed-off-by: default avatarAndy Fleming <afleming@freescale.com>
      4abd844d
  23. Mar 25, 2008
  24. Mar 19, 2008
  25. Jan 08, 2008
  26. Dec 08, 2007
  27. Nov 22, 2007
  28. Nov 21, 2007
Loading