diff options
| author | wdenk <wdenk> | 2003-04-20 14:04:18 +0000 | 
|---|---|---|
| committer | wdenk <wdenk> | 2003-04-20 14:04:18 +0000 | 
| commit | d791b1dc3e64a6a6317293245d884589bc5c6277 (patch) | |
| tree | 32f7bfaa5f3112cae01cf78252b1f3c66fcc4354 /common/cmd_bootm.c | |
| parent | 4a6fd34b267dbf4a72080ab9a085bb45c63660fb (diff) | |
| download | olio-uboot-2014.01-d791b1dc3e64a6a6317293245d884589bc5c6277.tar.xz olio-uboot-2014.01-d791b1dc3e64a6a6317293245d884589bc5c6277.zip | |
* Make sure Block Lock Bits get cleared in R360MPI flash driver
* MPC823 LCD driver: Fill color map backwards, to allow for steady
  display when Linux takes over
* Patch by Erwin Rol, 27 Feb 2003:
  Add support for RTEMS (this time for real).
* Add support for "bmp info" and "bmp display" commands to load
  bitmap images; this can be used (for example in a "preboot"
  command) to display a splash screen very quickly after poweron.
* Add support for 133 MHz clock on INCA-IP board
Diffstat (limited to 'common/cmd_bootm.c')
| -rw-r--r-- | common/cmd_bootm.c | 31 | 
1 files changed, 31 insertions, 0 deletions
| diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 8b32f1cef..c3d62cb8c 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -98,6 +98,7 @@ static boot_os_Fcn do_bootm_linux;  extern boot_os_Fcn do_bootm_linux;  #endif  static boot_os_Fcn do_bootm_netbsd; +static boot_os_Fcn do_bootm_rtems;  #if (CONFIG_COMMANDS & CFG_CMD_ELF)  static boot_os_Fcn do_bootm_vxworks;  static boot_os_Fcn do_bootm_qnxelf; @@ -321,6 +322,12 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  	    do_bootm_netbsd (cmdtp, flag, argc, argv,  			     addr, len_ptr, verify);  	    break; +	     +	case IH_OS_RTEMS: +	    do_bootm_rtems (cmdtp, flag, argc, argv, +			     addr, len_ptr, verify); +	    break; +	       #if (CONFIG_COMMANDS & CFG_CMD_ELF)  	case IH_OS_VXWORKS:  	    do_bootm_vxworks (cmdtp, flag, argc, argv, @@ -831,6 +838,7 @@ print_type (image_header_t *hdr)  	case IH_OS_VXWORKS:	os = "VxWorks";			break;  	case IH_OS_QNX:		os = "QNX";			break;  	case IH_OS_U_BOOT:	os = "U-Boot";			break; +	case IH_OS_RTEMS:	os = "RTEMS";			break;  	default:		os = "Unknown OS";		break;  	} @@ -953,6 +961,29 @@ int gunzip(void *dst, int dstlen, unsigned char *src, int *lenp)  	return (0);  } +static void +do_bootm_rtems (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], +		ulong addr, ulong *len_ptr, int verify) +{ +	DECLARE_GLOBAL_DATA_PTR; +	image_header_t *hdr = &header; +	void	(*entry_point)(bd_t *); + +	entry_point = (void (*)(bd_t *)) hdr->ih_ep; + +	printf ("## Transferring control to RTEMS (at address %08lx) ...\n", +		(ulong)entry_point); + +	SHOW_BOOT_PROGRESS (15); + +	/* +	 * RTEMS Parameters: +	 *   r3: ptr to board info data +	 */ + +	(*entry_point ) ( gd->bd ); +} +  #if (CONFIG_COMMANDS & CFG_CMD_ELF)  static void  do_bootm_vxworks (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], |