1. 21 Oct, 2015 2 commits
  2. 16 Dec, 2013 1 commit
    • Miao Yan's avatar
      common/cmd_bootm: extend do_bootm_vxworks to support the new VxWorks boot interface. · 871a57bb
      Miao Yan authored
      The next version VxWorks adopts device tree (for PowerPC and ARM) as its hardware
      description mechanism. For PowerPC, the boot interface conforms to
      the ePAPR standard, which is:
      
         void (*kernel_entry)(ulong fdt_addr,
                ulong r4 /* 0 */,
                ulong r5 /* 0 */,
                ulong r6 /* EPAPR_MAGIC */, ulong r7 /* IMA size */,
                ulong r8 /* 0 */, ulong r9 /* 0 */)
      
      For ARM, the boot interface is:
      
         void (*kernel_entry)(void *fdt_addr)
      Signed-off-by: 's avatarMiao Yan <miao.yan@windriver.com>
      [trini: Fix build error when !CONFIG_OF_FDT is set, typo on PowerPC,
      missing extern ft_fixup_num_cores]
      Signed-off-by: 's avatarTom Rini <trini@ti.com>
      871a57bb
  3. 24 Jul, 2013 1 commit
  4. 15 Oct, 2012 1 commit
  5. 04 Jul, 2010 1 commit
    • 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: 's avatarWolfgang Denk <wd@denx.de>
      Acked-by: 's avatarMike Frysinger <vapier@gentoo.org>
      54841ab5
  6. 08 Dec, 2008 1 commit
  7. 06 Dec, 2008 1 commit
  8. 09 Sep, 2008 1 commit
  9. 08 Apr, 2008 1 commit
  10. 18 Apr, 2004 1 commit
  11. 14 Dec, 2000 1 commit
  12. 12 Nov, 2000 1 commit