summaryrefslogtreecommitdiffstats
path: root/0010-ARM-tegra-implement-bootcmd_pxe.patch
diff options
context:
space:
mode:
Diffstat (limited to '0010-ARM-tegra-implement-bootcmd_pxe.patch')
-rw-r--r--0010-ARM-tegra-implement-bootcmd_pxe.patch129
1 files changed, 129 insertions, 0 deletions
diff --git a/0010-ARM-tegra-implement-bootcmd_pxe.patch b/0010-ARM-tegra-implement-bootcmd_pxe.patch
new file mode 100644
index 0000000..362f661
--- /dev/null
+++ b/0010-ARM-tegra-implement-bootcmd_pxe.patch
@@ -0,0 +1,129 @@
+From be95b3d9ea5e9478a52d8fca66b62ed85b39dc08 Mon Sep 17 00:00:00 2001
+From: Stephen Warren <swarren@nvidia.com>
+Date: Thu, 23 Jan 2014 13:17:04 -0700
+Subject: [PATCH 10/13] ARM: tegra: implement bootcmd_pxe
+
+This retrieves a PXE config file over the network, and executes it. This
+allows an extlinux config file to be retrieved over the network and
+executed, whereas the existing bootcmd_dhcp retrieves a U-Boot script.
+
+Signed-off-by: Stephen Warren <swarren@nvidia.com>
+---
+ include/configs/tegra-common-post.h | 18 +++++++++++++++++-
+ include/configs/tegra114-common.h | 4 ++++
+ include/configs/tegra20-common.h | 4 ++++
+ include/configs/tegra30-common.h | 4 ++++
+ 4 files changed, 29 insertions(+), 1 deletion(-)
+
+diff --git a/include/configs/tegra-common-post.h b/include/configs/tegra-common-post.h
+index 493f6df..a3eb875 100644
+--- a/include/configs/tegra-common-post.h
++++ b/include/configs/tegra-common-post.h
+@@ -66,6 +66,20 @@
+ #define BOOT_TARGETS_DHCP ""
+ #endif
+
++#if defined(CONFIG_CMD_DHCP) && defined(CONFIG_CMD_PXE)
++#define BOOTCMDS_PXE \
++ "bootcmd_pxe=" \
++ BOOTCMD_INIT_USB \
++ "dhcp; " \
++ "if pxe get; then " \
++ "pxe boot; " \
++ "fi\0"
++#define BOOT_TARGETS_PXE "pxe"
++#else
++#define BOOTCMDS_PXE ""
++#define BOOT_TARGETS_PXE ""
++#endif
++
+ #define BOOTCMDS_COMMON \
+ "rootpart=1\0" \
+ \
+@@ -108,6 +122,7 @@
+ "boot_targets=" \
+ BOOT_TARGETS_MMC " " \
+ BOOT_TARGETS_USB " " \
++ BOOT_TARGETS_PXE " " \
+ BOOT_TARGETS_DHCP " " \
+ "\0" \
+ \
+@@ -117,7 +132,8 @@
+ \
+ BOOTCMDS_MMC \
+ BOOTCMDS_USB \
+- BOOTCMDS_DHCP
++ BOOTCMDS_DHCP \
++ BOOTCMDS_PXE
+
+ #define CONFIG_BOOTCOMMAND \
+ "for target in ${boot_targets}; do run bootcmd_${target}; done"
+diff --git a/include/configs/tegra114-common.h b/include/configs/tegra114-common.h
+index a4e8a5f..e7d4373 100644
+--- a/include/configs/tegra114-common.h
++++ b/include/configs/tegra114-common.h
+@@ -51,6 +51,9 @@
+ * scriptaddr can be pretty much anywhere that doesn't conflict with something
+ * else. Put it above BOOTMAPSZ to eliminate conflicts.
+ *
++ * pxefile_addr_r can be pretty much anywhere that doesn't conflict with
++ * something else. Put it above BOOTMAPSZ to eliminate conflicts.
++ *
+ * kernel_addr_r must be within the first 128M of RAM in order for the
+ * kernel's CONFIG_AUTO_ZRELADDR option to work. Since the kernel will
+ * decompress itself to 0x8000 after the start of RAM, kernel_addr_r
+@@ -68,6 +71,7 @@
+ */
+ #define MEM_LAYOUT_ENV_SETTINGS \
+ "scriptaddr=0x90000000\0" \
++ "pxefile_addr_r=0x90100000\0" \
+ "kernel_addr_r=0x81000000\0" \
+ "fdt_addr_r=0x82000000\0" \
+ "ramdisk_addr_r=0x82100000\0"
+diff --git a/include/configs/tegra20-common.h b/include/configs/tegra20-common.h
+index b009a31..ca39722 100644
+--- a/include/configs/tegra20-common.h
++++ b/include/configs/tegra20-common.h
+@@ -49,6 +49,9 @@
+ * scriptaddr can be pretty much anywhere that doesn't conflict with something
+ * else. Put it above BOOTMAPSZ to eliminate conflicts.
+ *
++ * pxefile_addr_r can be pretty much anywhere that doesn't conflict with
++ * something else. Put it above BOOTMAPSZ to eliminate conflicts.
++ *
+ * kernel_addr_r must be within the first 128M of RAM in order for the
+ * kernel's CONFIG_AUTO_ZRELADDR option to work. Since the kernel will
+ * decompress itself to 0x8000 after the start of RAM, kernel_addr_r
+@@ -66,6 +69,7 @@
+ */
+ #define MEM_LAYOUT_ENV_SETTINGS \
+ "scriptaddr=0x10000000\0" \
++ "pxefile_addr_r=0x10100000\0" \
+ "kernel_addr_r=0x01000000\0" \
+ "fdt_addr_r=0x02000000\0" \
+ "ramdisk_addr_r=0x02100000\0"
+diff --git a/include/configs/tegra30-common.h b/include/configs/tegra30-common.h
+index b5550d7..95d1547 100644
+--- a/include/configs/tegra30-common.h
++++ b/include/configs/tegra30-common.h
+@@ -48,6 +48,9 @@
+ * scriptaddr can be pretty much anywhere that doesn't conflict with something
+ * else. Put it above BOOTMAPSZ to eliminate conflicts.
+ *
++ * pxefile_addr_r can be pretty much anywhere that doesn't conflict with
++ * something else. Put it above BOOTMAPSZ to eliminate conflicts.
++ *
+ * kernel_addr_r must be within the first 128M of RAM in order for the
+ * kernel's CONFIG_AUTO_ZRELADDR option to work. Since the kernel will
+ * decompress itself to 0x8000 after the start of RAM, kernel_addr_r
+@@ -65,6 +68,7 @@
+ */
+ #define MEM_LAYOUT_ENV_SETTINGS \
+ "scriptaddr=0x90000000\0" \
++ "pxefile_addr_r=0x90100000\0" \
+ "kernel_addr_r=0x81000000\0" \
+ "fdt_addr_r=0x82000000\0" \
+ "ramdisk_addr_r=0x82100000\0"
+--
+1.8.5.3
+