Browse Source

* 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)
wdenk 20 years ago
parent
commit
b13fb01a62
8 changed files with 51 additions and 23 deletions
  1. 10 0
      CHANGELOG
  2. 4 0
      board/ixdp425/u-boot.lds
  3. 21 18
      common/cmd_bootm.c
  4. 5 0
      cpu/ixp/timer.c
  5. 5 0
      include/configs/IceCube.h
  6. 5 0
      include/elf.h
  7. 1 0
      tools/Makefile
  8. 0 5
      tools/bmp_logo.c

+ 10 - 0
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)
 

+ 4 - 0
board/ixdp425/u-boot.lds

@@ -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);

+ 21 - 18
common/cmd_bootm.c

@@ -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:

+ 5 - 0
cpu/ixp/timer.c

@@ -30,6 +30,11 @@
 #include <common.h>
 #include <asm/arch/ixp425.h>
 
+ulong get_timer (ulong base)
+{
+       return get_timer_masked () - base;
+}
+
 void ixp425_udelay(unsigned long usec)
 {
 	/*

+ 5 - 0
include/configs/IceCube.h

@@ -213,8 +213,13 @@
 /*
  * 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

+ 5 - 0
include/elf.h

@@ -41,6 +41,11 @@
 #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
 
 /*

+ 1 - 0
tools/Makefile

@@ -96,6 +96,7 @@ endif
 #
 ifeq ($(HOSTOS),cygwin)
 SFX = .exe
+HOST_CFLAGS += -D__WIN32__
 else
 SFX =
 endif

+ 0 - 5
tools/bmp_logo.c

@@ -11,11 +11,6 @@
 #endif
 #endif
 
-#ifdef __CYGWIN__
-typedef unsigned short ushort;
-#endif /* __CYGWIN__ */
-
-
 typedef struct bitmap_s {		/* bitmap description */
 	uint16_t width;
 	uint16_t height;