]> www.infradead.org Git - users/rw/armboot.git/commitdiff
* Cleanup (remove some obsolete files and CVS keys
authormariusgroeger <mariusgroeger>
Thu, 21 Mar 2002 09:13:59 +0000 (09:13 +0000)
committermariusgroeger <mariusgroeger>
Thu, 21 Mar 2002 09:13:59 +0000 (09:13 +0000)
* Remove flashasm.S for DNP1110 - DNP doesn't require data puzzling.
  Flash still not working on DNP
* Add Support for JFFS2 boot
* Import PPCboot: Change command functions to have a return value

46 files changed:
CHANGELOG
MAKEALL
board/dnp1110/Makefile
board/dnp1110/flash.c
board/dnp1110/flashasm.S [deleted file]
board/lart/flashasm.S
common/cmd_autoscript.c
common/cmd_boot.c
common/cmd_bootm.c
common/cmd_cache.c
common/cmd_eeprom.c
common/cmd_flash.c
common/cmd_mem.c
common/cmd_net.c
common/cmd_nvedit.c
common/cmd_pcmcia.c
common/cmd_reginfo.c [deleted file]
common/command.c
common/main.c
config.mk
fs/jffs2/compr_rtime.c
fs/jffs2/compr_rubin.c
fs/jffs2/compr_zlib.c
fs/jffs2/jffs2_1pass.c
fs/jffs2/mini_inflate.c
include/armboot.h
include/cmd_autoscript.h
include/cmd_boot.h
include/cmd_bootm.h
include/cmd_cache.h
include/cmd_eeprom.h
include/cmd_flash.h
include/cmd_mem.h
include/cmd_net.h
include/cmd_nvedit.h
include/cmd_pcmcia.h
include/cmd_rtc.h
include/command.h
include/configs/config_impa7.h
include/jffs2/compr_rubin.h
include/jffs2/jffs2.h
include/jffs2/load_kernel.h
include/jffs2/mini_inflate.h
include/serial.h
include/version.h
tools/Makefile

index 6ae11448b47e5d2092c07b6475b0fd79afb1dced..f46f9ea4484a104ede84ec6030b0c7a5cc4b5d9d 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,16 @@
+======================================================================
+Modifications for 1.0.1:
+======================================================================
+
+* Cleanup (remove some obsolete files and CVS keys
+
+* Remove flashasm.S for DNP1110 - DNP doesn't require data puzzling.
+  Flash still not working on DNP
+
+* Add Support for JFFS2 boot
+
+* Import PPCboot: Change command functions to have a return value
+
 ======================================================================
 Modifications for 1.0:
 ======================================================================
diff --git a/MAKEALL b/MAKEALL
index b29b17af6b1df4befda71be5e29ea086a9c7d6b8..c0ddc263bed64663cfaedf226890a7ea32832be3 100755 (executable)
--- a/MAKEALL
+++ b/MAKEALL
@@ -36,6 +36,8 @@ build_target() {
        ${MAKE} ${target}_config
        ${MAKE} all 2>&1 >LOG/$target.MAKELOG | tee LOG/$target.ERR
        ${CROSS_COMPILE:-arm_armv4-}size armboot | tee -a LOG/$target.MAKELOG
+       test -n "$KEEP_BINARY" && cp armboot.bin LOG/$target.bin
+       test -n "$KEEP_ELF" && cp armboot.bin LOG/$target.elf
 }
 
 #-----------------------------------------------------------------------
index 8d985a4fc2f1200eddaafb5118468bd948a0564b..67bbfbfe0188bb5932ca357bf87f68e91512478c 100644 (file)
@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
 LIB    = lib$(BOARD).a
 
 OBJS   := dnp1110.o flash.o env.o
-SOBJS  := flashasm.o memsetup.o
+SOBJS  := memsetup.o
 
 $(LIB):        $(OBJS) $(SOBJS)
        $(AR) crv $@ $^
index affb86f87bf4fd6ce1373c65f9318de89ea59401..6cd2d82f0ad9509517e66b717fb2ab1c4c784370 100644 (file)
@@ -39,8 +39,8 @@ ulong myflush(void);
 extern u32 data_from_flash(u32);
 extern u32 data_to_flash(u32);
 
-#define PUZZLE_FROM_FLASH(x)   data_from_flash((x))
-#define PUZZLE_TO_FLASH(x)     data_to_flash((x))
+#define PUZZLE_FROM_FLASH(x)   (x)
+#define PUZZLE_TO_FLASH(x)     (x)
 
 flash_info_t    flash_info[CFG_MAX_FLASH_BANKS];
 
diff --git a/board/dnp1110/flashasm.S b/board/dnp1110/flashasm.S
deleted file mode 100644 (file)
index 4779962..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * flashasm.S: flash magic for LART
- *
- * Copyright (C) 1999 2000 2001 Jan-Derk bakker (J.D.Bakker@its.tudelft.nl)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- */
-
-.ident "$Id: flashasm.S,v 1.1 2002/03/14 16:44:04 mariusgroeger Exp $"
-
-//#ifdef HAVE_CONFIG_H
-//# include <blob/config.h>
-//#endif
-
-.text
-
-
-.globl data_to_flash
-.globl data_from_flash
-       /* Subroutine that takes data in r0 and formats it so it will be in */
-       /* the correct order for the internal flash */
-       /* used for LART only */
-data_to_flash:
-//#if defined LART
-       mov     r1, #0x0
-
-       tst     r0, #0x00000001
-       orrne   r1, r1, #0x00001000
-       tst     r0, #0x00000002
-       orrne   r1, r1, #0x00004000
-       tst     r0, #0x00000004
-       orrne   r1, r1, #0x00000800
-       tst     r0, #0x00000008
-       orrne   r1, r1, #0x00000200
-       tst     r0, #0x00000010
-       orrne   r1, r1, #0x00000001
-       tst     r0, #0x00000020
-       orrne   r1, r1, #0x00000004
-       tst     r0, #0x00000040
-       orrne   r1, r1, #0x00000080
-       tst     r0, #0x00000080
-       orrne   r1, r1, #0x00000020
-
-       tst     r0, #0x00000100
-       orrne   r1, r1, #0x00002000
-       tst     r0, #0x00000200
-       orrne   r1, r1, #0x00008000
-       tst     r0, #0x00000400
-       orrne   r1, r1, #0x00000400
-       tst     r0, #0x00000800
-       orrne   r1, r1, #0x00000100
-       tst     r0, #0x00001000
-       orrne   r1, r1, #0x00000002
-       tst     r0, #0x00002000
-       orrne   r1, r1, #0x00000008
-       tst     r0, #0x00004000
-       orrne   r1, r1, #0x00000040
-       tst     r0, #0x00008000
-       orrne   r1, r1, #0x00000010
-
-       tst     r0, #0x00010000
-       orrne   r1, r1, #0x00100000
-       tst     r0, #0x00020000
-       orrne   r1, r1, #0x00400000
-       tst     r0, #0x00040000
-       orrne   r1, r1, #0x00080000
-       tst     r0, #0x00080000
-       orrne   r1, r1, #0x00020000
-       tst     r0, #0x00100000
-       orrne   r1, r1, #0x01000000
-       tst     r0, #0x00200000
-       orrne   r1, r1, #0x04000000
-       tst     r0, #0x00400000
-       orrne   r1, r1, #0x80000000
-       tst     r0, #0x00800000
-       orrne   r1, r1, #0x20000000
-
-       tst     r0, #0x01000000
-       orrne   r1, r1, #0x00200000
-       tst     r0, #0x02000000
-       orrne   r1, r1, #0x00800000
-       tst     r0, #0x04000000
-       orrne   r1, r1, #0x00040000
-       tst     r0, #0x08000000
-       orrne   r1, r1, #0x00010000
-       tst     r0, #0x10000000
-       orrne   r1, r1, #0x02000000
-       tst     r0, #0x20000000
-       orrne   r1, r1, #0x08000000
-       tst     r0, #0x40000000
-       orrne   r1, r1, #0x40000000
-       tst     r0, #0x80000000
-       orrne   r1, r1, #0x10000000
-
-       mov     r0, r1
-//#endif
-       mov     pc, lr
-
-       /* Takes data received from the flash, and unshuffles it. */
-data_from_flash:
-//#if defined LART
-       mov     r1, #0x00
-
-       tst     r0, #0x00000001
-       orrne   r1, r1, #0x00000010
-       tst     r0, #0x00000002
-       orrne   r1, r1, #0x00001000
-       tst     r0, #0x00000004
-       orrne   r1, r1, #0x00000020
-       tst     r0, #0x00000008
-       orrne   r1, r1, #0x00002000
-       tst     r0, #0x00000010
-       orrne   r1, r1, #0x00008000
-       tst     r0, #0x00000020
-       orrne   r1, r1, #0x00000080
-       tst     r0, #0x00000040
-       orrne   r1, r1, #0x00004000
-       tst     r0, #0x00000080
-       orrne   r1, r1, #0x00000040
-
-       tst     r0, #0x00000100
-       orrne   r1, r1, #0x00000800
-       tst     r0, #0x00000200
-       orrne   r1, r1, #0x00000008
-       tst     r0, #0x00000400
-       orrne   r1, r1, #0x00000400
-       tst     r0, #0x00000800
-       orrne   r1, r1, #0x00000004
-       tst     r0, #0x00001000
-       orrne   r1, r1, #0x00000001
-       tst     r0, #0x00002000
-       orrne   r1, r1, #0x00000100
-       tst     r0, #0x00004000
-       orrne   r1, r1, #0x00000002
-       tst     r0, #0x00008000
-       orrne   r1, r1, #0x00000200
-
-       tst     r0, #0x00010000
-       orrne   r1, r1, #0x08000000
-       tst     r0, #0x00020000
-       orrne   r1, r1, #0x00080000
-       tst     r0, #0x00040000
-       orrne   r1, r1, #0x04000000
-       tst     r0, #0x00080000
-       orrne   r1, r1, #0x00040000
-       tst     r0, #0x00100000
-       orrne   r1, r1, #0x00010000
-       tst     r0, #0x00200000
-       orrne   r1, r1, #0x01000000
-       tst     r0, #0x00400000
-       orrne   r1, r1, #0x00020000
-       tst     r0, #0x00800000
-       orrne   r1, r1, #0x02000000
-
-       tst     r0, #0x01000000
-       orrne   r1, r1, #0x00100000
-       tst     r0, #0x02000000
-       orrne   r1, r1, #0x10000000
-       tst     r0, #0x04000000
-       orrne   r1, r1, #0x00200000
-       tst     r0, #0x08000000
-       orrne   r1, r1, #0x20000000
-       tst     r0, #0x10000000
-       orrne   r1, r1, #0x80000000
-       tst     r0, #0x20000000
-       orrne   r1, r1, #0x00800000
-       tst     r0, #0x40000000
-       orrne   r1, r1, #0x40000000
-       tst     r0, #0x80000000
-       orrne   r1, r1, #0x00400000
-
-       mov     r0, r1
-//#endif
-       mov     pc, lr
index 477996230db45c9a3ee960045372ca10389a8f2e..9021972cb4dbf1bf448808b89529b3d51513b9b2 100644 (file)
  *
  */
 
-.ident "$Id: flashasm.S,v 1.1 2002/03/14 16:44:04 mariusgroeger Exp $"
-
-//#ifdef HAVE_CONFIG_H
-//# include <blob/config.h>
-//#endif
-
 .text
 
 
@@ -34,7 +28,6 @@
        /* the correct order for the internal flash */
        /* used for LART only */
 data_to_flash:
-//#if defined LART
        mov     r1, #0x0
 
        tst     r0, #0x00000001
@@ -106,12 +99,10 @@ data_to_flash:
        orrne   r1, r1, #0x10000000
 
        mov     r0, r1
-//#endif
        mov     pc, lr
 
        /* Takes data received from the flash, and unshuffles it. */
 data_from_flash:
-//#if defined LART
        mov     r1, #0x00
 
        tst     r0, #0x00000001
@@ -183,5 +174,4 @@ data_from_flash:
        orrne   r1, r1, #0x00400000
 
        mov     r0, r1
-//#endif
        mov     pc, lr
index c4b9c5623f9954cac66c4f4795ca88ffd0a21b7b..8cc61d68506ead1f79972527340e6d302b197e2b 100644 (file)
 
 extern image_header_t header;           /* from cmd_bootm.c */
 
-void
+int
 autoscript(bd_t *bd, ulong addr)
 {
        ulong crc, data, len;
        image_header_t *hdr = &header;
        ulong *len_ptr;
        char *cmd = 0;
+       int rc;
 
        memcpy (hdr, (char *)addr, sizeof(image_header_t));
 
        if (SWAP32(hdr->ih_magic) != IH_MAGIC)
        {
                printf("Bad magic number\n");
-               return;
+               return 1;
        }
 
        crc = SWAP32(hdr->ih_hcrc);
@@ -67,7 +68,7 @@ autoscript(bd_t *bd, ulong addr)
        if (crc32(0, (char *)data, len) != crc)
        {
                printf("Bad header crc\n");
-               return;
+               return 1;
        }
 
        data = addr + sizeof(image_header_t);
@@ -75,13 +76,13 @@ autoscript(bd_t *bd, ulong addr)
        if (crc32(0, (char *)data, len) != SWAP32(hdr->ih_dcrc))
        {
                printf("Bad data crc\n");
-               return;
+               return 1;
        }
 
        if (hdr->ih_type != IH_TYPE_SCRIPT)
        {
                printf("Bad image type\n");
-               return;
+               return 1;
        }
 
        /* get len of script and make sure cmd is null terminated */
@@ -94,7 +95,7 @@ autoscript(bd_t *bd, ulong addr)
                cmd = malloc (len + 1);
                if (!cmd)
                {
-                       return;
+                       return 1;
                }
                while (*len_ptr++);
                memcpy(cmd,(char *)len_ptr,len);
@@ -108,15 +109,17 @@ autoscript(bd_t *bd, ulong addr)
                        }
                }
        }
-       run_command(cmd, bd, 0);
+       rc = run_command(cmd, bd, 0);
        free(cmd);
+
+       return rc;
 }
 
 #endif
 
 #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT)
 
-void 
+int
 do_autoscript (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        ulong addr;
@@ -131,9 +134,8 @@ do_autoscript (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
        }
 
        printf("## Executing script at %08lx\n",addr);
-               
-       autoscript(bd,addr);
 
+       return autoscript(bd,addr);
 }
 #endif
 
index 56fcb1c12ff28eece74c6ecbfe2be03a02c527a6..1c2ab33f7e689297ea384fe6a864e471d59c4b62 100644 (file)
@@ -45,7 +45,7 @@ static int do_echo = 1;
 
 
 #if (CONFIG_COMMANDS & CFG_CMD_BDI)
-void do_bdinfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_bdinfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        int i;
 
@@ -65,16 +65,17 @@ void do_bdinfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
                printf ("DRAM:%02d.start = %08lX\n", i, bd->bi_dram[i].start);
                printf ("DRAM:%02d.size  = %08lX\n", i, bd->bi_dram[i].size);
        }
+       return 0;
 }
 #endif /* CFG_CMD_BDI */
 
-void do_go (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_go (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        ulong   addr, rc;
 
        if (argc < 2) {
                printf ("Usage:\n%s\n", cmdtp->usage);
-               return;
+               return 1;
        }
 
        addr = simple_strtoul(argv[1], NULL, 16);
@@ -88,10 +89,11 @@ void do_go (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
        rc = ((ulong (*)(bd_t *, int, char *[]))addr) (bd, --argc, &argv[1]);
 
        printf ("## Application terminated, rc = 0x%lx\n", rc);
+       return 0;
 }
 
 #if (CONFIG_COMMANDS & CFG_CMD_LOADS)
-void do_load_serial (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_load_serial (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        ulong offset = 0;
        ulong addr;
@@ -173,6 +175,7 @@ void do_load_serial (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[
                }
        }
 #endif
+       return 0;
 }
 
 static ulong
@@ -323,12 +326,13 @@ char his_pad_char;   /* pad chars he needs */
 char his_quote;      /* quote chars he'll use */
 
 
-void do_load_serial_bin (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_load_serial_bin (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        ulong offset = 0;
        ulong addr;
        int i;
        int loadb_baudrate = bd->bi_baudrate;
+       int rc = 0;
 
        if (argc >= 2) {
                offset = simple_strtoul(argv[1], NULL, 16);
@@ -394,10 +398,11 @@ void do_load_serial_bin (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *a
 
                if (((s = getenv(bd, "autoscript")) != NULL) && (strcmp(s,"yes") == 0)) {
                        printf("Running autoscript at addr 0x%08lX ...\n", load_addr);
-                       autoscript (bd, load_addr);
+                       rc = autoscript (bd, load_addr);
                }
        }
 #endif
+       return rc;
 }
 
 
index 820a13639853e02ad7a3e7e9269aae7500d29a91..e4e877829936966b35438f86efe14cdf99ff8262 100644 (file)
@@ -43,7 +43,7 @@ static void *zalloc(void *, unsigned, unsigned);
 static void zfree(void *, void *, unsigned);
 
 #if (CONFIG_COMMANDS & CFG_CMD_IMI)
-static void image_info (unsigned long addr);
+static int image_info (unsigned long addr);
 #endif
 static void print_type (image_header_t *hdr);
 
@@ -57,7 +57,7 @@ extern void boot_linux(cmd_tbl_t *cmdtp,
                       ulong *len_ptr,
                       int   verify);
 
-void do_bootm (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_bootm (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        ulong   iflag;
        ulong   addr, ram_addr;
@@ -84,7 +84,7 @@ void do_bootm (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 
        if (SWAP32(hdr->ih_magic)  != IH_MAGIC) {
                printf ("Bad Magic Number\n");
-               return;
+               return 1;
        }
 
        data = (ulong)&header;
@@ -95,7 +95,7 @@ void do_bootm (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 
        if (crc32 (0, (char *)data, len) != checksum) {
                printf ("Bad Header Checksum\n");
-               return;
+               return 1;
        }
 
        /************************************************************/
@@ -125,7 +125,7 @@ void do_bootm (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
                printf ("   Verifying Checksum ... ");
                if (crc32 (0, (char *)data, len) != SWAP32(hdr->ih_dcrc)) {
                        printf ("Bad Data CRC\n");
-                       return;
+                       return 1;
                }
                printf ("OK\n");
        }
@@ -134,7 +134,7 @@ void do_bootm (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 
        if (hdr->ih_arch != IH_CPU_ARM) {
                printf ("Unsupported Architecture\n");
-               return;
+               return 1;
        }
 
        switch (hdr->ih_type) {
@@ -150,7 +150,7 @@ void do_bootm (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
                                                data += 4;
                                        break;
        default: printf ("Wrong Image Type for %s command\n", cmdtp->name);
-                return;
+                return 1;
        }
 
        /*
@@ -178,7 +178,7 @@ void do_bootm (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
                if (iflag)
                        enable_interrupts();
                printf ("Unimplemented compression type %d\n", hdr->ih_comp);
-               return;
+               return 1;
        }
        printf ("OK\n");
 
@@ -199,7 +199,7 @@ void do_bootm (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
                if (iflag)
                        enable_interrupts();
                printf ("Can't boot image type %d\n", hdr->ih_type);
-               return;
+               return 1;
        }
 
        switch (hdr->ih_os)
@@ -211,39 +211,43 @@ void do_bootm (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
            break;
        }
 
+       printf ("\n## Control returned to monitor\n");
 #ifdef DEBUG
-       printf ("\n## Control returned to monitor - resetting...\n");
+       printf ("\nResetting Hardware ... \n");
        do_reset (cmdtp, bd, flag, argc, argv);
 #endif
+       return 0;
 }
 
 
 #if (CONFIG_COMMANDS & CFG_CMD_BOOTD)
-void do_bootd (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_bootd (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
-       run_command (getenv (bd, "bootcmd"), bd, flag);
+       return run_command (getenv (bd, "bootcmd"), bd, flag);
 }
 #endif
 
 
 #if (CONFIG_COMMANDS & CFG_CMD_IMI)
-void do_iminfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_iminfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        int     arg;
        ulong   addr;
+       int rc = 0;
 
        if (argc < 2) {
-               image_info (load_addr);
-               return;
+               rc = image_info (load_addr);
        }
-
-       for (arg=1; arg <argc; ++arg) {
-               addr = simple_strtoul(argv[arg], NULL, 16);
-               image_info (addr);
+       else {
+               for (arg = 1; arg < argc && rc == 0; ++arg) {
+                       addr = simple_strtoul(argv[arg], NULL, 16);
+                       rc = image_info (addr);
+               }
        }
+       return rc;
 }
 
-static void image_info (ulong addr)
+static int image_info (ulong addr)
 {
        ulong   data, len, checksum;
        image_header_t *hdr = &header;
@@ -255,7 +259,7 @@ static void image_info (ulong addr)
 
        if (SWAP32(hdr->ih_magic)  != IH_MAGIC) {
                printf ("   Bad Magic Number\n");
-               return;
+               return 1;
        }
 
        data = (ulong)&header;
@@ -266,7 +270,7 @@ static void image_info (ulong addr)
 
        if (crc32 (0, (char *)data, len) != checksum) {
                printf ("   Bad Header Checksum\n");
-               return;
+               return 1;
        }
 
        /* for multi-file images we need the data part, too */
@@ -278,9 +282,10 @@ static void image_info (ulong addr)
        printf ("   Verifying Checksum ... ");
        if (crc32 (0, (char *)data, len) != SWAP32(hdr->ih_dcrc)) {
                printf ("   Bad Data CRC\n");
-               return;
+               return 1;
        }
        printf ("OK\n");
+       return 0;
 }
 #endif /* CFG_CMD_IMI */
 
index 949566a9bde3c456547910c802202ed5aaab4362..3ea0d386c42e834f5a412669e8583e1d736a4322 100644 (file)
@@ -32,7 +32,7 @@
 
 static int on_off (const char *);
 
-void do_icache (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_icache (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        switch (argc) {
        case 2:                 /* on / off     */
@@ -50,13 +50,13 @@ void do_icache (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
        case 1:                 /* get status */
                printf ("Instruction Cache is %s\n",
                        icache_status() ? "ON" : "OFF");
-               return;
-       default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               return 0;
        }
+       printf ("Usage:\n%s\n", cmdtp->usage);
+       return 1;
 }
 
-void do_dcache (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_dcache (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        switch (argc) {
        case 2:                 /* on / off     */
@@ -74,10 +74,10 @@ void do_dcache (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
        case 1:                 /* get status */
                printf ("Data (writethrough) Cache is %s\n",
                        dcache_status() ? "ON" : "OFF");
-               return;
-       default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               return 0;
        }
+       printf ("Usage:\n%s\n", cmdtp->usage);
+       return 1;
 }
 
 static int on_off (const char *s)
index d3949c28bc96bb4c7edecc0531f2c008441932ae..2feb3ab72e405b74e898e277f8ab6ca64d948d9f 100644 (file)
@@ -38,12 +38,9 @@ extern void eeprom_write (unsigned offset, uchar *buffer, unsigned cnt);
 
 #if (CONFIG_COMMANDS & CFG_CMD_EEPROM)
 
-void do_eeprom (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_eeprom (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
     switch (argc) {
-    default:
-       printf ("Usage:\n%s\n", cmdtp->usage);
-       return;
     case 5:
        /* 4 args */
 
@@ -61,7 +58,7 @@ void do_eeprom (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
                eeprom_read (off, (uchar *)addr, cnt);
 
                printf ("done\n");
-               return;
+               return 0;
 
        } else if (strcmp(argv[1],"write") == 0) {
                ulong addr = simple_strtoul(argv[2], NULL, 16);
@@ -77,14 +74,12 @@ void do_eeprom (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
                eeprom_write(off, (uchar *)addr, cnt);
 
                printf ("done\n");
-               return;
+               return 0;
 
-       } else {
-               printf ("Usage:\n%s\n", cmdtp->usage);
        }
-
-       return;
     }
+    printf ("Usage:\n%s\n", cmdtp->usage);
+    return 1;
 }
 #endif /* CFG_CMD_EEPROM */
 
index 23274daa9f7367c7788dee1c711d5891afd9332f..22ad2fc12295c7ee95e55234ee2619fe9ee7ac2e 100644 (file)
@@ -92,7 +92,7 @@ abbrev_spec(char *str, flash_info_t **pinfo, int *psf, int *psl)
     return 1;
 }
 
-void do_flinfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_flinfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
     ulong bank;
     
@@ -102,20 +102,21 @@ void do_flinfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
            
            flash_print_info (&flash_info[bank]);
        }
-       return;
+       return 0;
     }
     
     bank = simple_strtoul(argv[1], NULL, 16);
     if ((bank < 1) || (bank > CFG_MAX_FLASH_BANKS)) {
        printf ("Only FLASH Banks # 1 ... # %d supported\n",
                CFG_MAX_FLASH_BANKS);
-       return;
+       return 1;
     }
     printf ("\nBank # %ld: ", bank);
     flash_print_info (&flash_info[bank-1]);
+    return 0;
 }
 
-void do_flerase(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_flerase(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
     flash_info_t *info;
     ulong bank, addr_first, addr_last;
@@ -123,7 +124,7 @@ void do_flerase(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
     
     if (argc < 2) {
        printf ("Usage:\n%s\n", cmdtp->usage);
-       return;
+       return 1;
     }
     
     if (strcmp(argv[1], "all") == 0) {
@@ -133,32 +134,34 @@ void do_flerase(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
            n = flash_erase (info, 0, info->sector_count-1);
            if (n < 0) {
                flash_perror(n);
-               break;
+               return 1;
            }
            else
              printf("Done.\n");
        }
-       return;
+       return 0;
     }
     
     if ((n = abbrev_spec(argv[1], &info, &sect_first, &sect_last)) != 0) {
        if (n < 0) {
            printf("Bad sector specification\n");
-           return;
+           return 1;
        }
        printf ("Erase Flash Sectors %d-%d in Bank # %d:\n",
                sect_first, sect_last, (info-flash_info)+1);
        n = flash_erase(info, sect_first, sect_last);
-       if (n < 0)
+       if (n < 0) {
          flash_perror(n);
+         return 1;
+       }
        else
          printf("Done.\n");
-       return;
+       return 0;
     }
     
     if (argc != 3) {
        printf ("Usage:\n%s\n", cmdtp->usage);
-       return;
+       return 1;
     }
     
     if (strcmp(argv[1], "bank") == 0) {
@@ -166,16 +169,18 @@ void do_flerase(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
        if ((bank < 1) || (bank > CFG_MAX_FLASH_BANKS)) {
            printf ("Only FLASH Banks # 1 ... # %d supported\n",
                    CFG_MAX_FLASH_BANKS);
-           return;
+           return 1;
        }
        printf ("Erase Flash Bank # %ld:\n", bank);
        info = &flash_info[bank-1];
        n = flash_erase (info, 0, info->sector_count-1);
-       if (n < 0)
+       if (n < 0) {
          flash_perror(n);
+         return 1;
+       }
        else
          printf("done.\n");
-       return;
+       return 0;
     }
     
     addr_first = simple_strtoul(argv[1], NULL, 16);
@@ -183,18 +188,21 @@ void do_flerase(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
     
     if (addr_first >= addr_last) {
        printf ("Usage:\n%s\n", cmdtp->usage);
-       return;
+       return 1;
     }
     
     printf ("Erase Flash from 0x%08lx to 0x%08lx... ", addr_first, addr_last);
     n = flash_sect_erase(addr_first, addr_last);
-    if (n < 0)
+    if (n < 0) {
       flash_perror(n);
+      return 1;
+    }
     else
       printf("done.\nErased %d sectors.\n", n);
+    return 0;
 }
 
-void do_protect(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_protect(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
     flash_info_t *info;
     ulong bank, addr_first, addr_last;
@@ -202,7 +210,7 @@ void do_protect(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
     
     if (argc < 3) {
        printf ("Usage:\n%s\n", cmdtp->usage);
-       return;
+       return 1;
     }
     
     if (strcmp(argv[1], "off") == 0)
@@ -211,7 +219,7 @@ void do_protect(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
       p = 1;
     else {
        printf ("Usage:\n%s\n", cmdtp->usage);
-       return;
+       return 1;
     }
     
     if (strcmp(argv[2], "all") == 0) {
@@ -227,13 +235,13 @@ void do_protect(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
                info->protect[i] = p;
            }
        }
-       return;
+       return 0;
     }
     
     if ((n = abbrev_spec(argv[2], &info, &sect_first, &sect_last)) != 0) {
        if (n < 0) {
            printf("Bad sector specification\n");
-           return;
+           return 1;
        }
        printf("%sProtect Flash Sectors %d-%d in Bank # %d\n",
               p ? "" : "Un-", sect_first, sect_last,
@@ -241,12 +249,12 @@ void do_protect(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
        for (i = sect_first; i <= sect_last; i++) {
            info->protect[i] = p;
        }
-       return;
+       return 0;
     }
     
     if (argc != 4) {
        printf ("Usage:\n%s\n", cmdtp->usage);
-       return;
+       return 1;
     }
     
     if (strcmp(argv[2], "bank") == 0) {
@@ -254,7 +262,7 @@ void do_protect(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
        if ((bank < 1) || (bank > CFG_MAX_FLASH_BANKS)) {
            printf ("Only FLASH Banks # 1 ... # %d supported\n",
                    CFG_MAX_FLASH_BANKS);
-           return;
+           return 1;
        }
        printf ("%sProtect Flash Bank # %ld\n",
                p ? "" : "Un-", bank);
@@ -262,12 +270,12 @@ void do_protect(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
        
        if (info->flash_id == FLASH_UNKNOWN) {
            printf ("missing or unknown FLASH type\n");
-           return;
+           return 1;
        }
        for (i=0; i<info->sector_count; ++i) {
            info->protect[i] = p;
        }
-       return;
+       return 0;
     }
     
     addr_first = simple_strtoul(argv[2], NULL, 16);
@@ -275,10 +283,10 @@ void do_protect(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
     
     if (addr_first >= addr_last) {
        printf ("Usage:\n%s\n", cmdtp->usage);
-       return;
+       return 1;
     }
     
-    flash_sect_protect (p, addr_first, addr_last);
+    return flash_sect_protect (p, addr_first, addr_last) ? 1 : 0;
 }
 
 int flash_sect_protect (int p, ulong addr_first, ulong addr_last)
index bf6963f92f29f3bdc07273022351a80eef8af7ef..bd75e88f558594cab5932ca03b670e0dd609af10 100644 (file)
@@ -33,7 +33,7 @@
 
 #if (CONFIG_COMMANDS & CFG_CMD_MEMORY)
 
-static void mod_mem(cmd_tbl_t *, int, int, int, char *[]);
+static int mod_mem(cmd_tbl_t *, int, int, int, char *[]);
 
 /* Display values from last command.
  * Memory modify remembered values are different from display memory.
@@ -51,7 +51,7 @@ static        ulong   base_address = 0;
  */
 #define DISP_LINE_LEN  16
 
-void do_mem_md    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_mem_md    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        ulong   addr, size, length;
        ulong   i, nbytes, linebytes;
@@ -66,7 +66,7 @@ void do_mem_md    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 
        if (argc < 2) {
                printf ("Usage:\n%s\n", cmdtp->usage);
-               return;
+               return 1;
        }
 
        if ((flag & CMD_FLAG_REPEAT) == 0) {
@@ -134,28 +134,30 @@ void do_mem_md    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
        dp_last_addr = addr;
        dp_last_length = length;
        dp_last_size = size;
+
+       return 0;
 }
 
 
-void do_mem_mm    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_mem_mm    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
-       mod_mem (cmdtp, 1, flag, argc, argv);
+       return mod_mem (cmdtp, 1, flag, argc, argv);
 }
 
 
-void do_mem_nm    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_mem_nm    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
-       mod_mem (cmdtp, 0, flag, argc, argv);
+       return mod_mem (cmdtp, 0, flag, argc, argv);
 }
 
 
-void do_mem_mw    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_mem_mw    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        ulong   addr, size, writeval, count;
 
        if ((argc < 3) || (argc > 4)) {
                printf ("Usage:\n%s\n", cmdtp->usage);
-               return;
+               return 1;
        }
 
        /* Check for size specification.
@@ -194,16 +196,18 @@ void do_mem_mw    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
                        *((uchar *)addr) = (uchar)writeval;
                addr += size;
        }
+
+       return 0;
 }
 
 
-void do_mem_cmp   (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_mem_cmp   (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        ulong   size, addr1, addr2, count, ngood;
 
        if (argc != 4) {
                printf ("Usage:\n%s\n", cmdtp->usage);
-               return;
+               return 1;
        }
 
        /* Check for size specification.
@@ -266,16 +270,18 @@ void do_mem_cmp   (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
        printf("Total of %ld %s%s were the same\n",
                ngood, size == 4 ? "word" : size == 2 ? "halfword" : "byte",
                ngood == 1 ? "" : "s");
+
+       return 0;
 }
 
 
-void do_mem_cp    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_mem_cp    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        ulong   addr, size, dest, count;
 
        if (argc != 4) {
                printf ("Usage:\n%s\n", cmdtp->usage);
-               return;
+               return 1;
        }
 
        /* Check for size specification.
@@ -303,12 +309,14 @@ void do_mem_cp    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 
                printf ("Copy to Flash... ");
                rc = flash_write ((uchar *)addr, dest, count*size);
-               if (rc < 0)
+               if (rc < 0) {
                        flash_perror(rc);
+                       return 1;
+               }
                else
                        printf("done.\n");
 
-                return;
+                return 0;
        }
 
        while (count-- > 0) {
@@ -321,10 +329,12 @@ void do_mem_cp    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
                addr += size;
                dest += size;
        }
+
+       return 0;
 }
 
 
-void do_mem_base  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_mem_base  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        if (argc > 1) {
                /* Set new base address.
@@ -334,10 +344,11 @@ void do_mem_base  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
        /* Print the current base address.
        */
        printf("Base Address: 0x%08lx\n", base_address);
+       return 0;
 }
 
 
-void do_mem_loop  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_mem_loop  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        ulong   addr, size, length, i, junk;
        volatile uint   *longp;
@@ -346,7 +357,7 @@ void do_mem_loop  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 
        if (argc < 3) {
                printf ("Usage:\n%s\n", cmdtp->usage);
-               return;
+               return 1;
        }
 
        /* Check for a size spefication.
@@ -409,20 +420,21 @@ void do_mem_loop  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
                while (i-- > 0)
                        junk = *cp++;
        }
+       return 0;
 }
 
 /* Just a quickie to walk through some memory.
  */
 uint baseval = 0;
 
-void do_mem_mtest (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_mem_mtest (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        int     *memaddr;
        int     memval;
 
        for (;;) {
                if (ctrlc()) {
-                       return;
+                       return 1;
                }
 
                memaddr = (uint *)CFG_MEMTEST_START;
@@ -447,6 +459,7 @@ void do_mem_mtest (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 
                baseval++;
        }
+       return 0;
 }
 
 
@@ -459,7 +472,7 @@ void do_mem_mtest (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
  *     nm{.b, .w, .l} {addr}
  */
 
-static void
+static int
 mod_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char *argv[])
 {
        ulong   addr, size, i;
@@ -468,7 +481,7 @@ mod_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char *argv[])
 
        if (argc != 2) {
                printf ("Usage:\n%s\n", cmdtp->usage);
-               return;
+               return 1;
        }
 
 #ifdef CONFIG_BOOT_RETRY_TIME
@@ -552,16 +565,18 @@ mod_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char *argv[])
 
        mm_last_addr = addr;
        mm_last_size = size;
+
+       return 0;
 }
 
-void do_mem_crc (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_mem_crc (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        ulong   addr, length;
        ulong   crc;
 
        if (argc < 3) {
                printf ("Usage:\n%s\n", cmdtp->usage);
-               return;
+               return 1;
        }
 
        addr = simple_strtoul(argv[1], NULL, 16);
@@ -573,6 +588,8 @@ void do_mem_crc (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 
        printf ("CRC32 for %08lx ... %08lx ==> %08lx\n",
                addr, addr + length -1, crc);
+
+       return 0;
 }
 
 #endif /* CFG_CMD_MEMORY */
index 1b22505608491e5fe9410480c65bf20eed0e3e84..26f3c903854bafdc28de6e479cb2348fa0ce78b5 100644 (file)
 # include <cmd_autoscript.h>
 # endif
 
-extern void do_bootm (cmd_tbl_t *, bd_t *, int, int, char *[]);
+extern int do_bootm (cmd_tbl_t *, bd_t *, int, int, char *[]);
 
-static void netboot_common (int, cmd_tbl_t *, bd_t *, int , char *[]);
+static int netboot_common (int, cmd_tbl_t *, bd_t *, int , char *[]);
 
-void do_bootp (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_bootp (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
-       netboot_common (BOOTP, cmdtp, bd, argc, argv);
+       return netboot_common (BOOTP, cmdtp, bd, argc, argv);
 }
 
-void do_tftpb (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_tftpb (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
-       netboot_common (TFTP, cmdtp, bd, argc, argv);
+       return netboot_common (TFTP, cmdtp, bd, argc, argv);
 }
 
-void do_rarpb (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_rarpb (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
-       netboot_common (RARP, cmdtp, bd, argc, argv);
+       return netboot_common (RARP, cmdtp, bd, argc, argv);
 }
 
 #if (CONFIG_COMMANDS & CFG_CMD_DHCP)
-void do_dhcp (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_dhcp (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
-       netboot_common(DHCP, cmdtp, bd, argc, argv);
+       return netboot_common(DHCP, cmdtp, bd, argc, argv);
 }
 #endif /* CFG_CMD_DHCP */
 
@@ -97,11 +97,12 @@ static void netboot_update_env(void)
     }
 }
 
-static void
+static int
 netboot_common (int proto, cmd_tbl_t *cmdtp, bd_t *bd, int argc, char *argv[])
 {
        char *s;
-
+       int rc = 0;
+   
        switch (argc) {
        case 1:
                break;
@@ -123,11 +124,11 @@ netboot_common (int proto, cmd_tbl_t *cmdtp, bd_t *bd, int argc, char *argv[])
                break;
 
        default: printf ("Usage:\n%s\n", cmdtp->usage);
-               return;
+               return 1;
        }
 
        if (NetLoop(bd, proto) == 0)
-               return;
+               return 0;
 
        /* NetLoop ok, update environment */
        netboot_update_env();
@@ -141,16 +142,18 @@ netboot_common (int proto, cmd_tbl_t *cmdtp, bd_t *bd, int argc, char *argv[])
                printf ("Automatic boot of image at addr 0x%08lX ...\n",
                        load_addr);
 
-               do_bootm (cmdtp, bd, 0, 1, local_args);
+               rc = do_bootm (cmdtp, bd, 0, 1, local_args);
        }
 
 #ifdef CONFIG_AUTOSCRIPT
-       if (((s = getenv(Net_bd, "autoscript")) != NULL) && (strcmp(s,"yes") == 0)) {
+       if (rc == 0 && 
+           ((s = getenv(Net_bd, "autoscript")) != NULL) && (strcmp(s,"yes") == 0)) {
                printf("Running autoscript at addr 0x%08lX ...\n", load_addr);
-               autoscript (bd, load_addr);
+               rc = autoscript (bd, load_addr);
        }
 #endif
 
+       return rc;
 }
 
 #endif /* CFG_CMD_NET */
index a117b1a757ef105410695cb59f7b5ad849a7e911..bd96f56fc89128df56f3f03f4162e266e6f9b21c 100644 (file)
@@ -180,7 +180,7 @@ static uchar *get_env_addr(bd_t *bd, int index)
  * Command interface: print one or all environment variables
  */
 
-void do_printenv (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_printenv (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
     int i, j, k, nxt;
     
@@ -194,13 +194,13 @@ void do_printenv (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
            
            if (ctrlc()) {
                printf ("\n ** Abort\n");
-               return;
+               return 1;
            }
        }
        
        printf("\nEnvironment size: %d/%d bytes\n", i, sizeof(bd->bi_env_data));
        
-       return;
+       return 0;
     }
     
     for (i=1; i<argc; ++i) {   /* print single env variables   */
@@ -224,8 +224,12 @@ void do_printenv (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
            break;
        }
        if (k < 0)
+       {
          printf ("## Error: \"%s\" not defined\n", name);
+         return 1;
+       }
     }
+    return 0;
 }
 
 /************************************************************************
@@ -235,7 +239,7 @@ void do_printenv (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
  * This function will ONLY work with a in-RAM copy of the environment
  */
 
-void _do_setenv (bd_t *bd, int flag, int argc, char *argv[])
+int _do_setenv (bd_t *bd, int flag, int argc, char *argv[])
 {
     int   i, len, oldval;
     uchar *env, *nxt = 0;
@@ -243,7 +247,7 @@ void _do_setenv (bd_t *bd, int flag, int argc, char *argv[])
     
     /* need writable copy in RAM */
     if (!bd->bi_env_data)
-      return;
+      return 1;
 
     name = argv[1];
     
@@ -274,7 +278,7 @@ void _do_setenv (bd_t *bd, int flag, int argc, char *argv[])
 # endif        /* CONFIG_OVERWRITE_ETHADDR_ONCE && CONFIG_ETHADDR */
             ) ) {
            printf ("Can't overwrite \"%s\"\n", name);
-           return;
+           return 1;
        }
 #endif
        
@@ -291,7 +295,7 @@ void _do_setenv (bd_t *bd, int flag, int argc, char *argv[])
            if (i == N_BAUDRATES) {
                printf ("## Baudrate %d bps not supported\n",
                        baudrate);
-               return;
+               return 1;
            }
            printf ("## Switch baudrate to %d bps and press ENTER ...\n",
                    baudrate);
@@ -325,7 +329,7 @@ void _do_setenv (bd_t *bd, int flag, int argc, char *argv[])
     if ((argc < 3) || argv[2] == NULL) {    
        /* Update CRC */
        bd->bi_env_crc = crc32(0, bd->bi_env_data, sizeof(bd->bi_env_data));
-       return;
+       return 0;
     }
 
     /*
@@ -347,7 +351,7 @@ void _do_setenv (bd_t *bd, int flag, int argc, char *argv[])
     }
     if (len > sizeof(bd->bi_env_data)) {
        printf ("## Error: environment overflow, \"%s\" deleted\n", name);
-       return;
+       return 1;
     }
     while ((*env = *name++) != '\0')
       env++;
@@ -377,9 +381,9 @@ void _do_setenv (bd_t *bd, int flag, int argc, char *argv[])
            bd->bi_enetaddr[i] = s ? simple_strtoul(s, &e, 16) : 0;
            if (s) s = (*e) ? e+1 : e;
        }
-       return;
+       return 0;
     }
-    
+
     if (strcmp(argv[1],"ipaddr") == 0) {
        char *s = argv[2];      /* always use only one arg */
        char *e;
@@ -390,18 +394,22 @@ void _do_setenv (bd_t *bd, int flag, int argc, char *argv[])
            bd->bi_ip_addr  |= (val & 0xFF);
            if (s) s = (*e) ? e+1 : e;
        }
-       return;
+       return 0;
     }
+
     if (strcmp(argv[1],"loadaddr") == 0) {
        load_addr = simple_strtoul(argv[2], NULL, 16);
-       return;
+       return 0;
     }
+
 #if (CONFIG_COMMANDS & CFG_CMD_NET)
     if (strcmp(argv[1],"bootfile") == 0) {
        copy_filename (BootFile, argv[2], sizeof(BootFile));
-       return;
+       return 0;
     }
 #endif /* CFG_CMD_NET */
+
+    return 0;
 }
 
 void setenv (bd_t * bd, char *varname, char *varvalue)
@@ -410,15 +418,15 @@ void setenv (bd_t * bd, char *varname, char *varvalue)
     _do_setenv (bd, 0, 3, argv);
 }
 
-void do_setenv (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc,
+int do_setenv (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc,
                char *argv[])
 {
     if (argc < 2) {
        printf ("Usage:\n%s\n", cmdtp->usage);
-       return;
+       return 1;
     }
 
-    _do_setenv (bd, flag, argc, argv);
+    return _do_setenv (bd, flag, argc, argv);
 }
 
 /************************************************************************
@@ -426,7 +434,7 @@ void do_setenv (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc,
  */
 
 #if (CONFIG_COMMANDS & CFG_CMD_ASKENV)
-void do_askenv (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc,
+int do_askenv (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc,
                char *argv[])
 {
     extern char console_buffer[CFG_CBSIZE];
@@ -442,13 +450,13 @@ void do_askenv (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc,
     
     if (argc < 2) {
        printf ("Usage:\n%s\n", cmdtp->usage);
-       return;
+       return 1;
     }
     /* Check the syntax */
     switch (argc) {
     case 1:
        printf ("Usage:\n%s\n", cmdtp->usage);
-       return;
+       return 1;
        
     case 2:            /* askenv envname */
        sprintf (message, "Please enter '%s':", argv[1]);
@@ -478,16 +486,16 @@ void do_askenv (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc,
     
     if (size >= CFG_CBSIZE)
       size = CFG_CBSIZE - 1;
-    
+
     if (size <= 0)
-      return;
-    
+      return 1;
+
     /* prompt for input */
     len = readline (message);
-    
+
     if (size < len)
       console_buffer[size] = '\0';
-    
+
     len = 2;
     if (console_buffer[0] != '\0') {
        local_args[2] = console_buffer;
@@ -495,7 +503,7 @@ void do_askenv (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc,
     }
     
     // Continue calling setenv code
-    _do_setenv (bd, flag, len, local_args);
+    return _do_setenv (bd, flag, len, local_args);
 }
 #endif /* CFG_CMD_ASKENV */
 
@@ -548,9 +556,9 @@ static int envmatch (bd_t *bd, uchar *s1, int i2)
 
 #if (CONFIG_COMMANDS & CFG_CMD_ENV)
 
-void do_saveenv  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_saveenv  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
-    board_env_save(bd, bd->bi_env, sizeof(env_t));
+    return (board_env_save(bd, bd->bi_env, sizeof(env_t))) ? 1 : 0;
 }
 
 #endif /* CFG_CMD_ENV */
index 46f01f29507f3df0bb0140bd9c92d38e11d2ad4d..d2647fd9227a89d0cf89ea4e65b8eb703356fe3e 100644 (file)
@@ -93,12 +93,11 @@ const char *indent = "\t   ";
 
 #if (CONFIG_COMMANDS & CFG_CMD_PCMCIA)
 
-void do_pinit (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_pinit (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
-
        if (argc != 2) {
                printf ("Usage: pinit {on | off}\n");
-               return;
+               return 1;
        }
        if (strcmp(argv[1],"on") == 0) {
                pcmcia_on ();
@@ -106,10 +105,10 @@ void do_pinit (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
                pcmcia_off ();
        } else {
                printf ("Usage: pinit {on | off}\n");
-               return;
+               return 1;
        }
 
-       return;
+       return 0;
 }
 #endif /* CFG_CMD_PCMCIA */
 
diff --git a/common/cmd_reginfo.c b/common/cmd_reginfo.c
deleted file mode 100644 (file)
index 62d50d3..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * (C) Copyright 2000
- * Subodh Nijsure, SkyStream Networks, snijsure@skystream.com
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <armboot.h>
-#include <command.h>
-#include <cmd_boot.h>
-#if defined(CONFIG_8xx)
-#include <mpc8xx.h>
-#endif
-
-#if defined(CONFIG_8xx) && (CONFIG_COMMANDS & CFG_CMD_REGINFO)
-
-void do_reginfo(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
-{
-       volatile immap_t     *immap  = (immap_t *)CFG_IMMR;
-       volatile memctl8xx_t *memctl = &immap->im_memctl;
-       volatile sysconf8xx_t *sysconf = &immap->im_siu_conf;
-       volatile sit8xx_t *timers = &immap->im_sit;
-
-       /* Hopefully more PowerPC  knowledgable people will add code to display
-        * other useful registers
-        */
-
-       printf("\nSystem Configuration registers\n");
-
-       printf("\tIMMR\t0x%08X\n", get_immr(0));
-
-       printf("\tSIUMCR\t0x%08X", sysconf->sc_siumcr);
-       printf("\tSYPCR\t0x%08X\n",sysconf->sc_sypcr);
-
-       printf("\tSWT\t0x%08X",    sysconf->sc_swt);
-       printf("\tSWSR\t0x%04X\n", sysconf->sc_swsr);
-
-       printf("\tSIPEND\t0x%08X\tSIMASK\t0x%08X\n",
-               sysconf->sc_sipend, sysconf->sc_simask);
-       printf("\tSIEL\t0x%08X\tSIVEC\t0x%08X\n",
-               sysconf->sc_siel, sysconf->sc_sivec);
-       printf("\tTESR\t0x%08X\tSDCR\t0x%08X\n",
-               sysconf->sc_tesr, sysconf->sc_sdcr);
-
-       printf("Memory Controller Registers\n");
-
-       printf("\tBR0\t0x%08X\tOR0\t0x%08X \n", memctl->memc_br0, memctl->memc_or0);
-       printf("\tBR1\t0x%08X\tOR1\t0x%08X \n", memctl->memc_br1, memctl->memc_or1);
-       printf("\tBR2\t0x%08X\tOR2\t0x%08X \n", memctl->memc_br2, memctl->memc_or2);
-       printf("\tBR3\t0x%08X\tOR3\t0x%08X \n", memctl->memc_br3, memctl->memc_or3);
-       printf("\tBR4\t0x%08X\tOR4\t0x%08X \n", memctl->memc_br4, memctl->memc_or4);
-       printf("\tBR5\t0x%08X\tOR5\t0x%08X \n", memctl->memc_br5, memctl->memc_or5);
-       printf("\tBR6\t0x%08X\tOR6\t0x%08X \n", memctl->memc_br6, memctl->memc_or6);
-       printf("\tBR7\t0x%08X\tOR7\t0x%08X \n", memctl->memc_br7, memctl->memc_or7);
-       printf("\n");
-
-       printf("\tmamr\t0x%08X\tmbmr\t0x%08X \n",
-               memctl->memc_mamr, memctl->memc_mbmr );
-       printf("\tmstat\t0x%08X\tmptpr\t0x%08X \n",
-               memctl->memc_mstat, memctl->memc_mptpr );
-       printf("\tmdr\t0x%08X \n", memctl->memc_mdr);
-
-       printf("\nSystem Integration Timers\n");
-       printf("\tTBSCR\t0x%08X\tRTCSC\t0x%08X \n",
-               timers->sit_tbscr, timers->sit_rtcsc);
-       printf("\tPISCR\t0x%08X \n", timers->sit_piscr);
-
-       /*
-        * May be some CPM info here?
-        */
-
-}
-
-#endif /* CONFIG_8xx && CFG_CMD_REGINFO */
index 145b12cc900587b7e5c5698b0f39370d66c32827..61e58899ca9870bff138555955fa15ff4f47bbe5 100644 (file)
        "    - echo args to console; \\c suppresses newline\n"                  \
     ),
 
-void
-do_version (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_version (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        extern char version_string[];
        printf ("\n%s\n", version_string);
+       return 0;
 }
 
-void
-do_echo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_echo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        int i, putnl = 1;
 
@@ -106,14 +105,15 @@ do_echo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 
        if (putnl)
                putc('\n');
+
+       return 0;
 }
 
 /*
  * Use puts() instead of printf() to avoid printf buffer overflow
  * for long help messages
  */
-void
-do_help (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_help (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 {
        int i;
 
@@ -122,14 +122,14 @@ do_help (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
                for (cmdtp=&cmd_tbl[0]; cmdtp->name; cmdtp++) {
                        /* allow user abort */
                        if (ctrlc())
-                               return;
+                               return 1;
 
                        if (cmdtp->usage == NULL)
                                continue;
                        puts (cmdtp->usage);
                }
 
-               return;
+               return 0;
        }
 
        /*
@@ -160,6 +160,7 @@ do_help (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
                        );
                }
        }
+       return 0;
 }
 
 /***************************************************************************
index 8195bb7db79a158d9344c7d82bf51a973287f5cc..0a2c7f820be08638961a9c1a9bf9f45c13c1d924 100644 (file)
@@ -679,17 +679,20 @@ int run_command (const char *cmd, bd_t *bd, int flag)
 /****************************************************************************/
 
 #if (CONFIG_COMMANDS & CFG_CMD_RUN)
-void do_run (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
+int do_run (cmd_tbl_t * cmdtp, bd_t * bd, int flag, int argc, char *argv[])
 {
        int i;
+       int rc = 0;
 
        if (argc < 2) {
                printf ("Usage:\n%s\n", cmdtp->usage);
-               return;
+               return 1;
        }
 
-       for (i=1; i<argc; ++i) {
-               run_command (getenv (bd, argv[i]), bd, flag);
+       for (i=1; rc == 0 && i<argc; ++i) {
+               rc = run_command (getenv (bd, argv[i]), bd, flag);
        }
+
+       return rc;
 }
 #endif
index f06c3705dda4851e335b4865fe6048c082f284ab..ebd6e0289f91aaf795abcbe25dac720d581c44af 100644 (file)
--- a/config.mk
+++ b/config.mk
@@ -72,7 +72,7 @@ OPTFLAGS= -Os -fomit-frame-pointer
 LDSCRIPT := board/$(BOARDDIR)/armboot.lds
 
 CPPFLAGS := $(DBGFLAGS) $(OPTFLAGS) $(RELFLAGS)                        \
-       -D__arm__ -DTEXT_BASE=$(TEXT_BASE)              \
+       -D__arm__ -DTEXT_BASE=$(TEXT_BASE)                      \
        -I$(TOPDIR)/include                                     \
        -fno-builtin                                            \
        -pipe $(PLATFORM_CPPFLAGS)
index 2432e44c04adb6b35a0c4619018d53d670d9ec6b..fa454eac25dec0e4e0f95a5855274143e85b5c74 100644 (file)
@@ -31,8 +31,6 @@
  * provisions above, a recipient may use your version of this file
  * under either the RHEPL or the GPL.
  *
- * $Id: compr_rtime.c,v 1.1 2002/03/14 16:44:04 mariusgroeger Exp $
- *
  *
  * Very simple lz77-ish encoder.
  *
index 9ae246e7ee8603a7c2060a8501de30be4241daa6..e03ba4598e6593ce7821ab7051ccefda264d644c 100644 (file)
@@ -34,8 +34,6 @@
  * provisions above, a recipient may use your version of this file
  * under either the RHEPL or the GPL.
  *
- * $Id: compr_rubin.c,v 1.1 2002/03/14 16:44:04 mariusgroeger Exp $
- *
  */
 
 #include <config.h>
index 050905835ce52b587e934051a1472f01bd0d8a9e..aacfa7fa131b0715029bf9f49de77059dc9b1849 100644 (file)
@@ -30,9 +30,6 @@
  * other provisions required by the GPL.  If you do not delete the
  * provisions above, a recipient may use your version of this file
  * under either the RHEPL or the GPL.
- *
- * $Id: compr_zlib.c,v 1.1 2002/03/14 16:44:04 mariusgroeger Exp $
- *
  */
 
 #include <armboot.h>
index 42d6df8c52a8a6d14be7b189a404c34c6429ffd9..ddc3e57e1f29ad44128add3d5f3039ea15f9a4c2 100644 (file)
@@ -1,7 +1,6 @@
 /*
 -------------------------------------------------------------------------
  * Filename:      jffs2.c
- * Version:       $Id: jffs2_1pass.c,v 1.1 2002/03/14 16:44:04 mariusgroeger Exp $
  * Copyright:     Copyright (C) 2001, Russ Dill
  * Author:        Russ Dill <Russ.Dill@asu.edu>
  * Description:   Module to load kernel from jffs2
@@ -41,9 +40,6 @@
  * other provisions required by the GPL.  If you do not delete the
  * provisions above, a recipient may use your version of this file
  * under either the RHEPL or the GPL.
- *
- * $Id: jffs2_1pass.c,v 1.1 2002/03/14 16:44:04 mariusgroeger Exp $
- *
  */
 
 /* Ok, so anyone who knows the jffs2 code will probably want to get a papar
index 8ac512b2c2ebc7850cd593764e86dd8af0d487af..6834d7a3b7119b79c6c28bbf9c54116212467f4c 100644 (file)
@@ -1,6 +1,5 @@
 /*-------------------------------------------------------------------------
  * Filename:      mini_inflate.c
- * Version:       $Id: mini_inflate.c,v 1.1 2002/03/14 16:44:04 mariusgroeger Exp $
  * Copyright:     Copyright (C) 2001, Russ Dill
  * Author:        Russ Dill <Russ.Dill@asu.edu>
  * Description:   Mini inflate implementation (RFC 1951)
index e9daab4f47fb277de9dccb184bb93e199fef2562..7b1e115ce2da9bd508be1286617424891ed341ee 100644 (file)
@@ -81,6 +81,15 @@ typedef struct bd_info {
 #define bi_env_data bi_env->data
 #define bi_env_crc  bi_env->crc
 
+/* arm/crc32.c */
+ulong  crc32           (ulong, const unsigned char *, uint);
+ulong  crc32_no_comp   (ulong crc, const unsigned char *, uint);
+
+/*
+ * Don't define some stuff private to armboot target code
+ */
+#ifndef HOST_TOOLS
+
 /* board/.../env.c */
 int    board_env_getchar(bd_t * bd, int index, uchar *c);
 int    board_env_save  (bd_t * bd, env_t *data, int size);
@@ -142,10 +151,6 @@ void       panic           (const char *fmt, ...);
 int    sprintf         (char * buf, const char *fmt, ...);
 int    vsprintf        (char *buf, const char *fmt, va_list args);
 
-/* arm/crc32.c */
-ulong  crc32           (ulong, const unsigned char *, uint);
-ulong  crc32_no_comp   (ulong crc, const unsigned char *, uint);
-
 void    udelay         (unsigned long);
 
 int    ctrlc           (void);
@@ -153,7 +158,6 @@ int had_ctrlc       (void);
 void   clear_ctrlc     (void);
 int    disable_ctrlc   (int);
 
-
 int    console_assign  (int file, char *devname);
 
 /* */
@@ -236,5 +240,6 @@ int fgetc(int file);
                        (((x) <<  8) & 0x00ff0000) | \
                        (((x) << 24) & 0xff000000) )
 
+#endif /* HOST_TOOLS */
 
 #endif /* _ARMBOOT_H_ */
index b61f2f9204e4bf1c400f87c49d0bc00fc2f819c3..3ffbac72b8196a259d71fdd2dffcb1bdc69a7ba7 100644 (file)
@@ -35,8 +35,8 @@
        "A valid autoscr header must be present\n" \
 ),
 
-void autoscript (bd_t *bd, ulong addr);
-void do_autoscript (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int autoscript (bd_t *bd, ulong addr);
+int do_autoscript (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #else
 
index f90f171179f82832284c28a1e3c5e4c947076a71..d97bc3c5a25884515445f8063e4b1a732f266390 100644 (file)
@@ -34,7 +34,7 @@
        NULL                                                                    \
 ),
 
-void do_bdinfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_bdinfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #else
 #define CMD_TBL_BDINFO
@@ -48,7 +48,7 @@ void do_bdinfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
        "      passing 'arg' as arguments\n"                                    \
 ),
 
-void do_go (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_go (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #if (CONFIG_COMMANDS & CFG_CMD_LOADS)
 #ifdef CFG_LOADS_BAUD_CHANGE
@@ -68,7 +68,7 @@ void do_go (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 ),
 #endif /* CFG_LOADS_BAUD_CHANGE */
 
-void do_load_serial (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_load_serial (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #else  /* ! CFG_CMD_LOADS */
 #define CMD_TBL_LOADS
@@ -84,7 +84,7 @@ void do_load_serial (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[
        " with offset 'off' and baudrate 'baud'\n"                              \
 ),
 
-void do_load_serial_bin (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_load_serial_bin (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #else
 #define CMD_TBL_LOADB
@@ -97,6 +97,6 @@ void do_load_serial_bin (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *a
 ),
 
 /* Implemented in $(CPU)/cpu.c */
-void do_reset (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_reset (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #endif /* _CMD_BOOT_H */
index 1f672dbd66ce575e1a139e4cb25df70a6d9402d7..4dfc2e3fb4e6fbaba56bd131affaeb08c8ac991d 100644 (file)
@@ -27,7 +27,7 @@
 #ifndef        _CMD_BOOTM_H
 #define        _CMD_BOOTM_H
 
-void do_bootm (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_bootm (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #define        CMD_TBL_BOOTM   MK_CMD_TBL_ENTRY(                                       \
        "bootm",        5,      CFG_MAXARGS,    1,      do_bootm,               \
@@ -38,7 +38,7 @@ void do_bootm (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 ),
 
 #if (CONFIG_COMMANDS & CFG_CMD_BOOTD)
-void do_bootd (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_bootd (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #define CMD_TBL_BOOTD  MK_CMD_TBL_ENTRY(                                       \
        "bootd",        4,      1,      1,      do_bootd,                       \
@@ -50,7 +50,7 @@ void do_bootd (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 #endif
 
 #if (CONFIG_COMMANDS & CFG_CMD_IMI)
-void do_iminfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_iminfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #define        CMD_TBL_IMINFO  MK_CMD_TBL_ENTRY(                                       \
        "iminfo",       3,      CFG_MAXARGS,    1,      do_iminfo,              \
index d049da14a14acacb02beffeed1642479cb370933..027088411755935bb687d783db564f0892d6c0c7 100644 (file)
@@ -42,8 +42,8 @@
        "    - enable or disable data (writethrough) cache\n"                   \
 ),
 
-void do_icache (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
-void do_dcache (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_icache (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_dcache (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 #else
 #define CMD_TBL_ICACHE
 #define CMD_TBL_DCACHE
index 413485767d31f1b8503484325e17f70b85d4cac4..e8bf5bdc4e1b3637d03654cde2ebf3afd19004cc 100644 (file)
@@ -40,7 +40,7 @@
        "       - read/write `cnt' bytes at EEPROM offset `off'\n"              \
 ),
 
-void do_eeprom (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_eeprom (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #else
 
index 51924e37de43c831b307cfd7d434d7f99a0b6fbf..168d1c20ca498a69a09edc43669f24ed5aba1951 100644 (file)
@@ -62,9 +62,9 @@
        "protect off all\n    - make all FLASH banks writable\n"                \
 ),
 
-void do_flinfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
-void do_flerase(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
-void do_protect(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_flinfo (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_flerase(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_protect(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 #else
 #define CMD_TBL_FLINFO
 #define CMD_TBL_FLERASE
index 93176038afd60315d666a3063bf92dbabddc8f6f..970dae934aeecc61000cf4cc9f0b98cc29de249f 100644 (file)
        "\n    - simple SDRAM read/write test\n"                                \
 ),
 
-void do_mem_md    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
-void do_mem_mm    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
-void do_mem_nm    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
-void do_mem_mw    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
-void do_mem_cp    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
-void do_mem_cmp   (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
-void do_mem_crc   (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
-void do_mem_base  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
-void do_mem_loop  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
-void do_mem_mtest (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_mem_md    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_mem_mm    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_mem_nm    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_mem_mw    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_mem_cp    (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_mem_cmp   (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_mem_crc   (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_mem_base  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_mem_loop  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_mem_mtest (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #else
 #define CMD_TBL_MD
index b08fdc32f70d589271e5918b8ff118aa56502ddf..cd4cb11e68c6388c72959ea6be3f24ce6d0b9cdc 100644 (file)
@@ -34,7 +34,7 @@
        "[loadAddress] [bootfilename]\n"                                        \
 ),
 
-void do_bootp (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_bootp (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #define        CMD_TBL_TFTPB   MK_CMD_TBL_ENTRY(                                       \
        "tftpboot",     4,      3,      1,      do_tftpb,                       \
@@ -44,7 +44,7 @@ void do_bootp (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 ),
 
 
-void do_tftpb (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_tftpb (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 
 #define        CMD_TBL_RARPB   MK_CMD_TBL_ENTRY(                                       \
@@ -54,7 +54,7 @@ void do_tftpb (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 ),
 
 
-void do_rarpb (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_rarpb (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #if (CONFIG_COMMANDS & CFG_CMD_DHCP)
 #define        CMD_TBL_DHCP    MK_CMD_TBL_ENTRY(                                       \
@@ -64,7 +64,7 @@ void do_rarpb (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 ),
 
 
-void do_dhcp (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_dhcp (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 #else
 #define CMD_TBL_DHCP
 #endif /* CFG_CMD_DHCP */
index a970051f40846433503e0a05f9b65ffa48b94ed2..d6f3c6b562be65951943e3de86b43f357180698a 100644 (file)
@@ -34,7 +34,7 @@
        "printenv name ...\n"                                                   \
        "    - print value of environment variable 'name'\n"                    \
 ),
-void do_printenv (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_printenv (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #define CMD_TBL_SETENV         MK_CMD_TBL_ENTRY(                               \
        "setenv",       6,      CFG_MAXARGS,    0,      do_setenv,              \
@@ -44,7 +44,7 @@ void do_printenv (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
        "setenv name\n"                                                         \
        "    - delete environment variable 'name'\n"                            \
 ),
-void do_setenv   (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_setenv   (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #if ((CONFIG_COMMANDS & (CFG_CMD_ENV|CFG_CMD_FLASH)) == (CFG_CMD_ENV|CFG_CMD_FLASH))
 #define        CMD_TBL_SAVEENV         MK_CMD_TBL_ENTRY(                               \
@@ -52,7 +52,7 @@ void do_setenv   (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
        "saveenv - save environment variables to persistent storage\n",         \
        NULL                                                                    \
 ),
-void do_saveenv  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_saveenv  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 #else
 #define CMD_TBL_SAVEENV
 #endif /* CFG_CMD_ENV */
@@ -71,7 +71,7 @@ void do_saveenv  (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
        "    - display 'message' string and get environment variable 'name'"    \
        "from stdin (max 'size' chars)\n"                                       \
 ),
-void do_askenv   (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_askenv   (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 #else
 #define CMD_TBL_ASKENV
 #endif /* CFG_CMD_ASKENV */
@@ -83,7 +83,7 @@ void do_askenv   (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
        "var [...]\n"                                                           \
        "    - run the commands in the environment variable(s) 'var'\n"         \
 ),
-void do_run (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_run (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 #else
 #define CMD_TBL_RUN
 #endif  /* CFG_CMD_RUN */
index 3f733eabf902812d42f7070fdc44172b2f56819a..54100e47d21b3e4e08499002e46851cac3097cc9 100644 (file)
@@ -35,7 +35,7 @@
        "pinit off - power off PCMCIA socket\n"                                 \
 ),
 
-void do_pinit (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_pinit (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 #else
 #define CMD_TBL_PINIT
 #endif
index e41d2270acba10f184359d4aaa7f83570a130f46..8f1724a93ae42c8e8f821b846318a40e035d8d8b 100644 (file)
@@ -37,7 +37,7 @@
        "  - with argument: set the system date & time\n"                       \
 ),
 
-void do_date (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+int do_date (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 
 #else
 
index 8386e9a95a63dea97149d403b985059a32ab8200..8aca88771d26d2ba44688c4c40627a4a470a7108 100644 (file)
@@ -42,7 +42,7 @@ struct cmd_tbl_s {
        int             maxargs;        /* maximum number of arguments  */
        int             repeatable;     /* autorepeat allowed?          */
                                        /* Implementation function      */
-       void            (*cmd)(struct cmd_tbl_s *, bd_t *, int, int, char *[]);
+       int             (*cmd)(struct cmd_tbl_s *, bd_t *, int, int, char *[]);
        char            *usage;         /* Usage message        (short) */
 #ifdef CFG_LONGHELP
        char            *help;          /* Help  message        (long)  */
@@ -72,7 +72,7 @@ cmd_tbl_t *find_cmd(const char *cmd);
  * void function (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
  */
 
-typedef        void    command_t (cmd_tbl_t *, bd_t *, int, int, char *[]);
+typedef        int     command_t (cmd_tbl_t *, bd_t *, int, int, char *[]);
 
 #endif /* __ASSEMBLY__ */
 
index 457399cea1f87a924cd3fc7a7e84ba305905dc15..2a02c439fa438a716278de8b6cb48ec40e9cbcaa 100644 (file)
@@ -68,7 +68,7 @@
 
 #define CONFIG_BOOTP_MASK       (CONFIG_BOOTP_DEFAULT|CONFIG_BOOTP_BOOTFILESIZE)
 
-#define CONFIG_COMMANDS                (CONFIG_CMD_DFL)
+#define CONFIG_COMMANDS                (CONFIG_CMD_DFL | CFG_CMD_JFFS2)
 
 /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
 #include <cmd_confdefs.h>
@@ -168,4 +168,9 @@ struct bd_info_ext
 #define CFG_ENV_ADDR           (PHYS_FLASH_1 + 0x1C000)        /* Addr of Environment Sector   */
 #define CFG_ENV_SIZE           0x4000  /* Total Size of Environment Sector     */
 
+/* Flash banks JFFS2 should use */
+#define CFG_JFFS2_FIRST_BANK    0
+#define CFG_JFFS2_FIRST_SECTOR 8
+#define CFG_JFFS2_NUM_BANKS     2
+
 #endif /* __CONFIG_H */
index 86168763cbb804db1b5cba986db20fb1e5840df5..a654a5d314208f77a523eb2cdd45b79efe591f15 100644 (file)
@@ -1,7 +1,6 @@
 /* Rubin encoder/decoder header       */
 /* work started at   : aug   3, 1994  */
 /* last modification : aug  15, 1994  */
-/* $Id: compr_rubin.h,v 1.1 2002/03/14 16:44:03 mariusgroeger Exp $ */
 
 #define RUBIN_REG_SIZE   16
 #define UPPER_BIT_RUBIN    (((long) 1)<<(RUBIN_REG_SIZE-1))
index 7a0054b28e4791d67c344597aac769ede557d33f..820c0864dd1660fe73a16e92cb119ddd130c3098 100644 (file)
@@ -30,9 +30,6 @@
  * other provisions required by the GPL.  If you do not delete the
  * provisions above, a recipient may use your version of this file
  * under either the RHEPL or the GPL.
- *
- * $Id: jffs2.h,v 1.1 2002/03/14 16:44:03 mariusgroeger Exp $
- *
  */
 
 #ifndef __LINUX_JFFS2_H__
index bd77966b2370445253769a783fafcbc3d92caab9..0c9eb2d95630f208e29abe417e673320bc1cb287 100644 (file)
@@ -2,7 +2,6 @@
 #define load_kernel_h
 /*-------------------------------------------------------------------------
  * Filename:      load_kernel.h
- * Version:       $Id: load_kernel.h,v 1.1 2002/03/14 16:44:03 mariusgroeger Exp $
  * Copyright:     Copyright (C) 2001, Russ Dill
  * Author:        Russ Dill <Russ.Dill@asu.edu>
  * Description:   header for load kernel modules
index 709fac8f8daafa11e48e5a3363a84c841195305c..8a826bdb0a7683b600be76339ed90a36c24082e4 100644 (file)
@@ -1,6 +1,5 @@
 /*-------------------------------------------------------------------------
  * Filename:      mini_inflate.h
- * Version:       $Id: mini_inflate.h,v 1.1 2002/03/14 16:44:03 mariusgroeger Exp $
  * Copyright:     Copyright (C) 2001, Russ Dill
  * Author:        Russ Dill <Russ.Dill@asu.edu>
  * Description:   Mini deflate implementation
index efd635dd47f7627aab2ea6e5780415639b95c18f..739a63ebe089e7821d164b4a4aefb531c8d4a92a 100644 (file)
@@ -1,6 +1,5 @@
 /*-------------------------------------------------------------------------
  * Filename:      serial.h
- * Version:       $Id: serial.h,v 1.1 2002/03/14 16:44:03 mariusgroeger Exp $
  * Copyright:     Copyright (C) 1999, Erik Mouw
  * Author:        Erik Mouw <J.A.K.Mouw@its.tudelft.nl>
  * Description:   Header file for serial.c
  *
  */
 
-#ident "$Id: serial.h,v 1.1 2002/03/14 16:44:03 mariusgroeger Exp $"
-
-#ifndef BLOB_SERIAL_H
-#define BLOB_SERIAL_H
-
-
 #include "types.h"
 
 /* Function protos */
@@ -44,4 +37,3 @@ void serial_putc(const char c);
 void serial_getc(const char c);
 int serial_tstc(void);
 
-#endif
index 5ce702e674993d3ab476b2e0d03627290b173c36..c541adfe03558b415f247d43235d124b52a62fb7 100644 (file)
@@ -25,6 +25,6 @@
 #ifndef        __VERSION_H__
 #define        __VERSION_H__
 
-#define        ARMBOOT_VERSION "ARMboot 1.0"
+#define        ARMBOOT_VERSION "ARMboot 1.0.1"
 
 #endif /* __VERSION_H__ */
index 5e9e9c2986b45d331a64196ddd78946b9bda22f6..83cf654f219022dd93b8679e7812a525b488a522 100644 (file)
@@ -41,7 +41,7 @@ TOOLSUBDIRS =
 # Use native tools and options
 #
 CPPFLAGS   = -Wall -I../include -I.. -DTEXT_BASE=$(TEXT_BASE)
-CFLAGS     = $(CPPFLAGS) -O
+CFLAGS     = $(CPPFLAGS) -O -DHOST_TOOLS
 AFLAGS    = -D__ASSEMBLY__ $(CPPFLAGS)
 CC        = $(HOSTCC)
 MAKEDEPEND = makedepend