]> git.sur5r.net Git - u-boot/blobdiff - common/cmd_elf.c
x86: Add do_bdinfo()
[u-boot] / common / cmd_elf.c
index 19e12493a2fd6aca245140e5faa75850fd62dcae..104d6e68b3cf308930c4ae8ef4613469459ed16a 100644 (file)
@@ -29,7 +29,8 @@ unsigned long load_elf_image (unsigned long addr);
 
 /* Allow ports to override the default behavior */
 __attribute__((weak))
-unsigned long do_bootelf_exec (ulong (*entry)(int, char *[]), int argc, char *argv[])
+unsigned long do_bootelf_exec (ulong (*entry)(int, char * const[]),
+                              int argc, char * const argv[])
 {
        unsigned long ret;
 
@@ -56,7 +57,7 @@ unsigned long do_bootelf_exec (ulong (*entry)(int, char *[]), int argc, char *ar
 /* ======================================================================
  * Interpreter command to boot an arbitrary ELF image from memory.
  * ====================================================================== */
-int do_bootelf (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_bootelf (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
        unsigned long addr;             /* Address of the ELF image     */
        unsigned long rc;               /* Return value from user code  */
@@ -93,7 +94,7 @@ int do_bootelf (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
  * be either an ELF image or a raw binary.  Will attempt to setup the
  * bootline and other parameters correctly.
  * ====================================================================== */
-int do_bootvx (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+int do_bootvx (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
        unsigned long addr;             /* Address of image            */
        unsigned long bootaddr;         /* Address to put the bootline */
@@ -131,10 +132,12 @@ int do_bootvx (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 
 #if defined(CONFIG_WALNUT)
        tmp = (char *) CONFIG_SYS_NVRAM_BASE_ADDR + 0x500;
-       memcpy ((char *) tmp, (char *) &gd->bd->bi_enetaddr[3], 3);
+       eth_getenv_enetaddr("ethaddr", (uchar *)build_buf);
+       memcpy(tmp, &build_buf[3], 3);
 #elif defined(CONFIG_SYS_VXWORKS_MAC_PTR)
        tmp = (char *) CONFIG_SYS_VXWORKS_MAC_PTR;
-       memcpy ((char *) tmp, (char *) &gd->bd->bi_enetaddr[0], 6);
+       eth_getenv_enetaddr("ethaddr", (uchar *)build_buf);
+       memcpy(tmp, build_buf, 6);
 #else
        puts ("## Ethernet MAC address not copied to NV RAM\n");
 #endif
@@ -285,7 +288,7 @@ unsigned long load_elf_image (unsigned long addr)
                }
 
                if (strtab) {
-                       printf ("%sing %s @ 0x%08lx (%ld bytes)\n",
+                       debug("%sing %s @ 0x%08lx (%ld bytes)\n",
                                (shdr->sh_type == SHT_NOBITS) ?
                                        "Clear" : "Load",
                                &strtab[shdr->sh_name],
@@ -311,11 +314,11 @@ unsigned long load_elf_image (unsigned long addr)
 U_BOOT_CMD(
        bootelf,      2,      0,      do_bootelf,
        "Boot from an ELF image in memory",
-       " [address] - load address of ELF image.\n"
+       " [address] - load address of ELF image."
 );
 
 U_BOOT_CMD(
        bootvx,      2,      0,      do_bootvx,
        "Boot vxWorks from an ELF image",
-       " [address] - load address of vxWorks ELF image.\n"
+       " [address] - load address of vxWorks ELF image."
 );