瀏覽代碼

pxe: allow compilation when !defined(CONFIG_CMD_NET)

pxe.c provides both the "pxe" command which relies on a network, and the
"sysboot" command which doesn't. Fix the file to compile when network
support isn't enabled. This is useful e.g. on the Raspberry Pi which has
no network support yet, but will soon support the sysboot command.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Stephen Warren 11 年之前
父節點
當前提交
b81fdb0486
共有 1 個文件被更改,包括 11 次插入0 次删除
  1. 11 0
      common/cmd_pxe.c

+ 11 - 0
common/cmd_pxe.c

@@ -45,6 +45,7 @@ static char *from_env(const char *envvar)
 	return ret;
 	return ret;
 }
 }
 
 
+#ifdef CONFIG_CMD_NET
 /*
 /*
  * Convert an ethaddr from the environment to the format used by pxelinux
  * Convert an ethaddr from the environment to the format used by pxelinux
  * filenames based on mac addresses. Convert's ':' to '-', and adds "01-" to
  * filenames based on mac addresses. Convert's ':' to '-', and adds "01-" to
@@ -75,6 +76,7 @@ static int format_mac_pxe(char *outbuf, size_t outbuf_len)
 
 
 	return 1;
 	return 1;
 }
 }
+#endif
 
 
 /*
 /*
  * Returns the directory the file specified in the bootfile env variable is
  * Returns the directory the file specified in the bootfile env variable is
@@ -120,6 +122,7 @@ static int get_bootfile_path(const char *file_path, char *bootfile_path,
 
 
 static int (*do_getfile)(cmd_tbl_t *cmdtp, const char *file_path, char *file_addr);
 static int (*do_getfile)(cmd_tbl_t *cmdtp, const char *file_path, char *file_addr);
 
 
+#ifdef CONFIG_CMD_NET
 static int do_get_tftp(cmd_tbl_t *cmdtp, const char *file_path, char *file_addr)
 static int do_get_tftp(cmd_tbl_t *cmdtp, const char *file_path, char *file_addr)
 {
 {
 	char *tftp_argv[] = {"tftp", NULL, NULL, NULL};
 	char *tftp_argv[] = {"tftp", NULL, NULL, NULL};
@@ -132,6 +135,7 @@ static int do_get_tftp(cmd_tbl_t *cmdtp, const char *file_path, char *file_addr)
 
 
 	return 1;
 	return 1;
 }
 }
+#endif
 
 
 static char *fs_argv[5];
 static char *fs_argv[5];
 
 
@@ -249,6 +253,8 @@ static int get_pxe_file(cmd_tbl_t *cmdtp, const char *file_path, void *file_addr
 	return 1;
 	return 1;
 }
 }
 
 
+#ifdef CONFIG_CMD_NET
+
 #define PXELINUX_DIR "pxelinux.cfg/"
 #define PXELINUX_DIR "pxelinux.cfg/"
 
 
 /*
 /*
@@ -397,6 +403,7 @@ do_pxe_get(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 
 
 	return 1;
 	return 1;
 }
 }
+#endif
 
 
 /*
 /*
  * Wrapper to make it easier to store the file at file_path in the location
  * Wrapper to make it easier to store the file at file_path in the location
@@ -647,6 +654,7 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label)
 		len += strlen(ip_str);
 		len += strlen(ip_str);
 	}
 	}
 
 
+#ifdef CONFIG_CMD_NET
 	if (label->ipappend & 0x2) {
 	if (label->ipappend & 0x2) {
 		int err;
 		int err;
 		strcpy(mac_str, " BOOTIF=");
 		strcpy(mac_str, " BOOTIF=");
@@ -655,6 +663,7 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label)
 			mac_str[0] = '\0';
 			mac_str[0] = '\0';
 		len += strlen(mac_str);
 		len += strlen(mac_str);
 	}
 	}
+#endif
 
 
 	if (label->append)
 	if (label->append)
 		len += strlen(label->append);
 		len += strlen(label->append);
@@ -1500,6 +1509,7 @@ static void handle_pxe_menu(cmd_tbl_t *cmdtp, struct pxe_menu *cfg)
 	boot_unattempted_labels(cmdtp, cfg);
 	boot_unattempted_labels(cmdtp, cfg);
 }
 }
 
 
+#ifdef CONFIG_CMD_NET
 /*
 /*
  * Boots a system using a pxe file
  * Boots a system using a pxe file
  *
  *
@@ -1576,6 +1586,7 @@ U_BOOT_CMD(
 	"get - try to retrieve a pxe file using tftp\npxe "
 	"get - try to retrieve a pxe file using tftp\npxe "
 	"boot [pxefile_addr_r] - boot from the pxe file at pxefile_addr_r\n"
 	"boot [pxefile_addr_r] - boot from the pxe file at pxefile_addr_r\n"
 );
 );
+#endif
 
 
 /*
 /*
  * Boots a system using a local disk syslinux/extlinux file
  * Boots a system using a local disk syslinux/extlinux file