X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=cmd%2Fnet.c;h=9bbcdbcfe0762f50d1c39c1554def117e8ccdfed;hb=5575f79bdaa824a90747d5a3d063b5219521b066;hp=eca6dd8918ec07c49111b6b278e3b7547359df63;hpb=d4c7a9348f27c8e3fdb1b754d8f0d1fa27375d1c;p=platform%2Fkernel%2Fu-boot.git diff --git a/cmd/net.c b/cmd/net.c index eca6dd8..9bbcdbc 100644 --- a/cmd/net.c +++ b/cmd/net.c @@ -8,13 +8,17 @@ * Boot support */ #include +#include #include +#include +#include #include -static int netboot_common(enum proto_t, cmd_tbl_t *, int, char * const []); +static int netboot_common(enum proto_t, struct cmd_tbl *, int, char * const []); #ifdef CONFIG_CMD_BOOTP -static int do_bootp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +static int do_bootp(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) { return netboot_common(BOOTP, cmdtp, argc, argv); } @@ -27,7 +31,7 @@ U_BOOT_CMD( #endif #ifdef CONFIG_CMD_TFTPBOOT -int do_tftpb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +int do_tftpb(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { int ret; @@ -45,7 +49,8 @@ U_BOOT_CMD( #endif #ifdef CONFIG_CMD_TFTPPUT -static int do_tftpput(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +static int do_tftpput(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) { return netboot_common(TFTPPUT, cmdtp, argc, argv); } @@ -58,7 +63,8 @@ U_BOOT_CMD( #endif #ifdef CONFIG_CMD_TFTPSRV -static int do_tftpsrv(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) +static int do_tftpsrv(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) { return netboot_common(TFTPSRV, cmdtp, argc, argv); } @@ -75,7 +81,7 @@ U_BOOT_CMD( #ifdef CONFIG_CMD_RARP -int do_rarpb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +int do_rarpb(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { return netboot_common(RARP, cmdtp, argc, argv); } @@ -88,7 +94,8 @@ U_BOOT_CMD( #endif #if defined(CONFIG_CMD_DHCP) -static int do_dhcp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +static int do_dhcp(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) { return netboot_common(DHCP, cmdtp, argc, argv); } @@ -101,7 +108,8 @@ U_BOOT_CMD( #endif #if defined(CONFIG_CMD_NFS) -static int do_nfs(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +static int do_nfs(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) { return netboot_common(NFS, cmdtp, argc, argv); } @@ -127,11 +135,15 @@ static void netboot_update_env(void) env_set("netmask", tmp); } +#ifdef CONFIG_CMD_BOOTP if (net_hostname[0]) env_set("hostname", net_hostname); +#endif +#ifdef CONFIG_CMD_BOOTP if (net_root_path[0]) env_set("rootpath", net_root_path); +#endif if (net_ip.s_addr) { ip_to_string(net_ip, tmp); @@ -157,8 +169,10 @@ static void netboot_update_env(void) env_set("dnsip2", tmp); } #endif +#ifdef CONFIG_CMD_BOOTP if (net_nis_domain[0]) env_set("domain", net_nis_domain); +#endif #if defined(CONFIG_CMD_SNTP) && defined(CONFIG_BOOTP_TIMEOFFSET) if (net_ntp_time_offset) { @@ -174,8 +188,8 @@ static void netboot_update_env(void) #endif } -static int netboot_common(enum proto_t proto, cmd_tbl_t *cmdtp, int argc, - char * const argv[]) +static int netboot_common(enum proto_t proto, struct cmd_tbl *cmdtp, int argc, + char *const argv[]) { char *s; char *end; @@ -185,13 +199,16 @@ static int netboot_common(enum proto_t proto, cmd_tbl_t *cmdtp, int argc, net_boot_file_name_explicit = false; - /* pre-set load_addr */ + /* pre-set image_load_addr */ s = env_get("loadaddr"); if (s != NULL) - load_addr = simple_strtoul(s, NULL, 16); + image_load_addr = simple_strtoul(s, NULL, 16); switch (argc) { case 1: + /* refresh bootfile name from env */ + copy_filename(net_boot_file_name, env_get("bootfile"), + sizeof(net_boot_file_name)); break; case 2: /* @@ -202,7 +219,10 @@ static int netboot_common(enum proto_t proto, cmd_tbl_t *cmdtp, int argc, */ addr = simple_strtoul(argv[1], &end, 16); if (end == (argv[1] + strlen(argv[1]))) { - load_addr = addr; + image_load_addr = addr; + /* refresh bootfile name from env */ + copy_filename(net_boot_file_name, env_get("bootfile"), + sizeof(net_boot_file_name)); } else { net_boot_file_name_explicit = true; copy_filename(net_boot_file_name, argv[1], @@ -211,7 +231,7 @@ static int netboot_common(enum proto_t proto, cmd_tbl_t *cmdtp, int argc, break; case 3: - load_addr = simple_strtoul(argv[1], NULL, 16); + image_load_addr = simple_strtoul(argv[1], NULL, 16); net_boot_file_name_explicit = true; copy_filename(net_boot_file_name, argv[2], sizeof(net_boot_file_name)); @@ -220,8 +240,8 @@ static int netboot_common(enum proto_t proto, cmd_tbl_t *cmdtp, int argc, #ifdef CONFIG_CMD_TFTPPUT case 4: - if (strict_strtoul(argv[1], 16, &save_addr) < 0 || - strict_strtoul(argv[2], 16, &save_size) < 0) { + if (strict_strtoul(argv[1], 16, &image_save_addr) < 0 || + strict_strtoul(argv[2], 16, &image_save_size) < 0) { printf("Invalid address/size\n"); return CMD_RET_USAGE; } @@ -264,7 +284,8 @@ static int netboot_common(enum proto_t proto, cmd_tbl_t *cmdtp, int argc, } #if defined(CONFIG_CMD_PING) -static int do_ping(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +static int do_ping(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) { if (argc < 2) return CMD_RET_USAGE; @@ -312,7 +333,7 @@ static void cdp_update_env(void) } } -int do_cdp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +int do_cdp(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { int r; @@ -335,7 +356,7 @@ U_BOOT_CMD( #endif #if defined(CONFIG_CMD_SNTP) -int do_sntp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +int do_sntp(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { char *toff; @@ -376,7 +397,7 @@ U_BOOT_CMD( #endif #if defined(CONFIG_CMD_DNS) -int do_dns(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +int do_dns(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { if (argc == 1) return CMD_RET_USAGE; @@ -422,8 +443,8 @@ U_BOOT_CMD( #endif /* CONFIG_CMD_DNS */ #if defined(CONFIG_CMD_LINK_LOCAL) -static int do_link_local(cmd_tbl_t *cmdtp, int flag, int argc, - char * const argv[]) +static int do_link_local(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) { char tmp[22];