From b13fb01a62708492cae4b33c4d6fa9ae127905f4 Mon Sep 17 00:00:00 2001 From: wdenk Date: Thu, 30 Oct 2003 21:49:38 +0000 Subject: * 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) --- CHANGELOG | 10 ++++++++++ board/ixdp425/u-boot.lds | 4 ++++ common/cmd_bootm.c | 39 +++++++++++++++++++++------------------ cpu/ixp/timer.c | 5 +++++ include/configs/IceCube.h | 5 +++++ include/elf.h | 5 +++++ tools/Makefile | 1 + tools/bmp_logo.c | 5 ----- 8 files changed, 51 insertions(+), 23 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index b8d8f49c56..16d767146e 100644 --- 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) diff --git a/board/ixdp425/u-boot.lds b/board/ixdp425/u-boot.lds index 3170aa0afb..cd44eb9062 100644 --- a/board/ixdp425/u-boot.lds +++ b/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); diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 852eefd28f..e30d212b0c 100644 --- a/common/cmd_bootm.c +++ b/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: diff --git a/cpu/ixp/timer.c b/cpu/ixp/timer.c index baa7e72b7e..8df2a31f5c 100644 --- a/cpu/ixp/timer.c +++ b/cpu/ixp/timer.c @@ -30,6 +30,11 @@ #include #include +ulong get_timer (ulong base) +{ + return get_timer_masked () - base; +} + void ixp425_udelay(unsigned long usec) { /* diff --git a/include/configs/IceCube.h b/include/configs/IceCube.h index 49abedeb32..821d3b9aca 100644 --- a/include/configs/IceCube.h +++ b/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 diff --git a/include/elf.h b/include/elf.h index 4ea3926f83..d0febc58cd 100644 --- a/include/elf.h +++ b/include/elf.h @@ -41,6 +41,11 @@ #include #elif defined(__linux__) && defined(USE_HOSTCC) #include +#elif defined(__WIN32__) +#include +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; #endif /* diff --git a/tools/Makefile b/tools/Makefile index c1313a2b44..c191203e45 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -96,6 +96,7 @@ endif # ifeq ($(HOSTOS),cygwin) SFX = .exe +HOST_CFLAGS += -D__WIN32__ else SFX = endif diff --git a/tools/bmp_logo.c b/tools/bmp_logo.c index 2421b825cb..c473baa0dd 100644 --- a/tools/bmp_logo.c +++ b/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; -- cgit v1.2.1