[U-Boot] [PATCH] bootvx: Cleanup & improvements

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Mon Nov 3 13:06:05 CET 2008


On 10:54 Mon 03 Nov     , Niklaus Giger wrote:
> The following improvements are made:
> - document bootvx in README
> - fix size too small by one in sprintf
> - changed old (pre 2004) device name ibmEmac to emac
> - boot device may be overriden in board config
> - servername may be defined in board config
> - additional parameters may be defined in board config
> - fixed some line wrappings
> - changed netstal-common.h to use the new settings
Could you split your patch a smallest changeset?
> 
> ---
>  README                           |   17 ++++++++
>  common/cmd_elf.c                 |   80 ++++++++++++++++++--------------------
>  include/configs/netstal-common.h |   29 +++++++-------
>  3 files changed, 69 insertions(+), 57 deletions(-)
> 
> diff --git a/README b/README
> index ebee20f..99d2a3d 100644
> --- a/README
> +++ b/README
> @@ -379,6 +379,23 @@ The following options need to be configured:
>  		This define fills in the correct boot CPU in the boot
>  		param header, the default value is zero if undefined.
>  
> +- vxWorks boot parameters:
> +
> +		bootvx constructs a valid bootline using the following
> +		environments variables: bootfile, ipaddr, serverip, hostname.
> +		It loads the vxWorks image pointed bootfile.
> +
> +		CONFIG_SYS_VXWORKS_BOOT_DEVICE - The vxworks device name
> +		CONFIG_SYS_VXWORKS_MAC_PTR - Ethernet 6 byte MA -address
> +		CONFIG_SYS_VXWORKS_SERVERNAME - Name of the server
> +
> +		CONFIG_SYS_VXWORKS_ADD_PARAMS
> +
> +		Add it at the end of the bootline. E.g "u=username pw=secret"
> +
> +		Note: If a "bootargs" environment is defined, it will overwride
> +		the defaults discussed just above.
> +
>  - Serial Ports:
>  		CONFIG_PL010_SERIAL
>  
> diff --git a/common/cmd_elf.c b/common/cmd_elf.c
> index 3ebb6d9..d537478 100644
> --- a/common/cmd_elf.c
> +++ b/common/cmd_elf.c
> @@ -102,10 +102,8 @@ int do_bootvx (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
>  	unsigned long bootaddr;		/* Address to put the bootline */
>  	char *bootline;			/* Text of the bootline        */
>  	char *tmp;			/* Temporary char pointer      */
> +	char build_buf[128];		/* Buffer for building the bootline */
>  
> -#if defined(CONFIG_4xx) || defined(CONFIG_IOP480)
> -	char build_buf[80];		/* Buffer for building the bootline */
> -#endif
>  	/* -------------------------------------------------- */
>  
>  	/*
> @@ -124,7 +122,8 @@ int do_bootvx (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
>  	if ((argc == 2) && (strcmp (argv[1], "tftp") == 0)) {
>  		if (NetLoop (TFTP) <= 0)
>  			return 1;
> -		printf ("Automatic boot of VxWorks image at address 0x%08lx ... \n", addr);
> +		printf ("Automatic boot of VxWorks image at address 0x%08lx ... \n",
> +		     addr);
>  	}
>  #endif
>  
> @@ -163,54 +162,53 @@ int do_bootvx (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
>  	 */
>  
>  	if ((bootline = getenv ("bootargs")) != NULL) {
> -		memcpy ((void *) bootaddr, bootline, MAX(strlen(bootline), 255));
> -		flush_cache (bootaddr, MAX(strlen(bootline), 255));
> +		memcpy ((void *) bootaddr, bootline,
> +			MAX (strlen (bootline), 255));
> +		flush_cache (bootaddr, MAX (strlen (bootline), 255));
>  	} else {
> +
> +#ifndef CONFIG_SYS_VXWORKS_BOOT_DEVICE
>  #if defined(CONFIG_4xx)
> -		sprintf (build_buf, "ibmEmac(0,0)");
> +#define		CONFIG_SYS_VXWORKS_BOOT_DEVICE "emac(0,0)"
> +#elif defined(CONFIG_IOP480)
> +#define		CONFIG_SYS_VXWORKS_BOOT_DEVICE "dc(0,0)"
> +#else
> +#define		CONFIG_SYS_VXWORKS_BOOT_DEVICE "eth(0,0)"
> +#endif
> +#endif
could we move thie define to an header?

Best Regards,
J.


More information about the U-Boot mailing list