[U-Boot] [PATCH 5/8] cmd: bootvx: Pass netmask and gatewayip to VxWorks bootline

Bin Meng bmeng.cn at gmail.com
Fri Sep 25 04:34:06 CEST 2015


On Thu, Sep 24, 2015 at 5:21 PM, Bin Meng <bmeng.cn at gmail.com> wrote:
> There are fields in VxWorks bootline for netmask and gatewayip.
> We can get these from U-Boot environment variables and pass them
> to VxWorks, just like ipaddr and serverip.
>
> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
> ---
>
>  common/cmd_elf.c | 15 +++++++++++++--
>  1 file changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/common/cmd_elf.c b/common/cmd_elf.c
> index 62863df..5a34bde 100644
> --- a/common/cmd_elf.c
> +++ b/common/cmd_elf.c
> @@ -287,13 +287,24 @@ int do_bootvx(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>                                 "%s:file ", CONFIG_SYS_VXWORKS_SERVERNAME);
>
>                 tmp = getenv("ipaddr");
> -               if (tmp)
> -                       sprintf(&build_buf[strlen(build_buf)], "e=%s ", tmp);
> +               if (tmp) {
> +                       sprintf(&build_buf[strlen(build_buf)], "e=%s", tmp);
> +                       tmp = getenv("netmask");
> +                       if (tmp)
> +                               sprintf(&build_buf[strlen(build_buf)],
> +                                       ":%04x ", getenv_ip("netmask").s_addr);

There is an endian issue here for little endian targets. Also the %04x
is wrong, should be %08x. This will be fixed in v2.

> +                       else
> +                               sprintf(&build_buf[strlen(build_buf)], " ");
> +               }
>
>                 tmp = getenv("serverip");
>                 if (tmp)
>                         sprintf(&build_buf[strlen(build_buf)], "h=%s ", tmp);
>
> +               tmp = getenv("gatewayip");
> +               if (tmp)
> +                       sprintf(&build_buf[strlen(build_buf)], "g=%s ", tmp);
> +
>                 tmp = getenv("hostname");
>                 if (tmp)
>                         sprintf(&build_buf[strlen(build_buf)], "tn=%s ", tmp);
> --

Regards,
Bin


More information about the U-Boot mailing list