* Fix parameter passing to standalone images with bootm command U-Boot-1_0_0
authorwdenk <wdenk>
Thu, 30 Oct 2003 21:49:38 +0000 (21:49 +0000)
committerwdenk <wdenk>
Thu, 30 Oct 2003 21:49:38 +0000 (21:49 +0000)
* Patch by Kyle Harris, 30 Oct 2003:
  Fix build errors for ixdp425 board

* Patch by David M. Horn, 29 Oct 2003:
  Fixes to build under CYGWIN

* Get IceCube MGT5100 working (again)

CHANGELOG
board/ixdp425/u-boot.lds
common/cmd_bootm.c
cpu/ixp/timer.c
include/configs/IceCube.h
include/elf.h
tools/Makefile
tools/bmp_logo.c

index b8d8f49c56fe7e8a9ac7b1313d7e563c87f7aafe..16d767146e20068e1b93b631f85ed153ca2a6a29 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,16 @@
 Changes for U-Boot 1.0.0:
 ======================================================================
 
+* Fix parameter passing to standalone images with bootm command
+
+* Patch by Kyle Harris, 30 Oct 2003:
+  Fix build errors for ixdp425 board
+
+* Patch by David M. Horn, 29 Oct 2003:
+  Fixes to build under CYGWIN
+
+* Get IceCube MGT5100 working (again)
+
 * Fix problems in memory test on some boards (which was not
   non-destructive as intended)
 
index 3170aa0afb14535f42ed653ebbf32d8db878ec42..cd44eb9062adebf5c451412a0367790fdbb520a4 100644 (file)
@@ -44,6 +44,10 @@ SECTIONS
        . = ALIGN(4);
        .got : { *(.got) }
 
+       __u_boot_cmd_start = .;
+       .u_boot_cmd : { *(.u_boot_cmd) }
+       __u_boot_cmd_end = .;
+
        armboot_end_data = .;
 
        . = ALIGN(4);
index 852eefd28f70d6d1b6986717ab37d45c4aeb38ff..e30d212b0c9be94ac7927cd47eae121969f059f1 100644 (file)
@@ -149,7 +149,7 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
        uint    unc_len = 0x400000;
        int     i, verify;
        char    *name, *s;
-       int     (*appl)(cmd_tbl_t *, int, int, char *[]);
+       int     (*appl)(int, char *[]);
        image_header_t *hdr = &header;
 
        s = getenv ("verify");
@@ -251,21 +251,24 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
        SHOW_BOOT_PROGRESS (5);
 
        switch (hdr->ih_type) {
-       case IH_TYPE_STANDALONE:        name = "Standalone Application";
-                                       /* A second argument overwrites the load address */
-                                       if (argc > 2) {
-                                               hdr->ih_load = simple_strtoul(argv[2], NULL, 16);
-                                       }
-                                       break;
-       case IH_TYPE_KERNEL:            name = "Kernel Image";
-                                       break;
-       case IH_TYPE_MULTI:             name = "Multi-File Image";
-                                       len  = ntohl(len_ptr[0]);
-                                       /* OS kernel is always the first image */
-                                       data += 8; /* kernel_len + terminator */
-                                       for (i=1; len_ptr[i]; ++i)
-                                               data += 4;
-                                       break;
+       case IH_TYPE_STANDALONE:
+               name = "Standalone Application";
+               /* A second argument overwrites the load address */
+               if (argc > 2) {
+                       hdr->ih_load = simple_strtoul(argv[2], NULL, 16);
+               }
+               break;
+       case IH_TYPE_KERNEL:
+               name = "Kernel Image";
+               break;
+       case IH_TYPE_MULTI:     
+               name = "Multi-File Image";
+               len  = ntohl(len_ptr[0]);
+               /* OS kernel is always the first image */
+               data += 8; /* kernel_len + terminator */
+               for (i=1; len_ptr[i]; ++i)
+                       data += 4;
+               break;
        default: printf ("Wrong Image Type for %s command\n", cmdtp->name);
                SHOW_BOOT_PROGRESS (-5);
                return 1;
@@ -362,8 +365,8 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
                        setenv("filesize", buf);
                        return 0;
                }
-               appl = (int (*)(cmd_tbl_t *, int, int, char *[]))ntohl(hdr->ih_ep);
-               (*appl)(cmdtp, flag, argc-1, &argv[1]);
+               appl = (int (*)(int, char *[]))ntohl(hdr->ih_ep);
+               (*appl)(argc-1, &argv[1]);
                return 0;
        case IH_TYPE_KERNEL:
        case IH_TYPE_MULTI:
index baa7e72b7e7f55ec7395053490cd097fd0c1f572..8df2a31f5c0246b74aa9eabe7eed8290db5e293c 100644 (file)
 #include <common.h>
 #include <asm/arch/ixp425.h>
 
+ulong get_timer (ulong base)
+{
+       return get_timer_masked () - base;
+}
+
 void ixp425_udelay(unsigned long usec)
 {
        /*
index 49abedeb32e60d4c0dd3bade85097677c395e6f6..821d3b9acad028d86afcba3287d1307a1ab9b104 100644 (file)
 /*
  * Various low-level settings
  */
+#if defined(CONFIG_MPC5200)
 #define CFG_HID0_INIT          HID0_ICE | HID0_ICFI
 #define CFG_HID0_FINAL         HID0_ICE
+#else
+#define CFG_HID0_INIT          0
+#define CFG_HID0_FINAL         0
+#endif
 
 #define CFG_BOOTCS_START       CFG_FLASH_BASE
 #define CFG_BOOTCS_SIZE                CFG_FLASH_SIZE
index 4ea3926f83d9c60980f81e049c21d0f20f554aac..d0febc58cd4f9c78d1de87ba20585d70b9cc9db5 100644 (file)
 #include <inttypes.h>
 #elif defined(__linux__) && defined(USE_HOSTCC)
 #include <stdint.h>
+#elif defined(__WIN32__)
+#include <unistd.h>
+typedef         unsigned char   uint8_t;
+typedef         unsigned short  uint16_t;
+typedef         unsigned int    uint32_t;
 #endif
 
 /*
index c1313a2b442e57b009e5cb0c4e9d01a40c420b79..c191203e4533e7f1740028cd07125c568b2b6302 100644 (file)
@@ -96,6 +96,7 @@ endif
 #
 ifeq ($(HOSTOS),cygwin)
 SFX = .exe
+HOST_CFLAGS += -D__WIN32__
 else
 SFX =
 endif
index 2421b825cb00a378880b18df5d406bd85e6a43a6..c473baa0ddfc4704e5bfd4cb48bff830aa8f35e7 100644 (file)
 #endif
 #endif
 
-#ifdef __CYGWIN__
-typedef unsigned short ushort;
-#endif /* __CYGWIN__ */
-
-
 typedef struct bitmap_s {              /* bitmap description */
        uint16_t width;
        uint16_t height;