summaryrefslogtreecommitdiff
path: root/packages/uboot/u-boot-mkimage-gta01-native/preboot-override.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/uboot/u-boot-mkimage-gta01-native/preboot-override.patch')
-rw-r--r--packages/uboot/u-boot-mkimage-gta01-native/preboot-override.patch137
1 files changed, 0 insertions, 137 deletions
diff --git a/packages/uboot/u-boot-mkimage-gta01-native/preboot-override.patch b/packages/uboot/u-boot-mkimage-gta01-native/preboot-override.patch
deleted file mode 100644
index f32cbde27b..0000000000
--- a/packages/uboot/u-boot-mkimage-gta01-native/preboot-override.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-Provide a place where the loader can patch the binary, such that it executes a
-command string from RAM. We use this for automated installs, where we can thus
-use the same u-boot binary for all stages.
-
-include/configs/neo1973.h: new option CFG_PREBOOT_OVERRIDE to allow setting of
- the preboot command in memory
-cpu/arm920t/start.S: added variable "preboot_override" at known location
- (_start+0x40)
-common/main.c (main_loop): if preboot_override is set, execute the command
- string found there
-common/env_common.c (env_relocate): if preboot_override is set, always use the
- default environment
-
-- Werner Almesberger <werner@openmoko.org>
-
-Index: u-boot/cpu/arm920t/start.S
-===================================================================
---- u-boot.orig/cpu/arm920t/start.S
-+++ u-boot/cpu/arm920t/start.S
-@@ -77,6 +77,14 @@ _fiq: .word fiq
- *************************************************************************
- */
-
-+
-+/* Must follow the .balign above, so we get a well-known address ! */
-+#ifdef CFG_PREBOOT_OVERRIDE
-+.globl preboot_override
-+preboot_override:
-+ .word 0
-+#endif
-+
- #ifdef CONFIG_S3C2410_NAND_BOOT
- .globl booted_from_nand
- booted_from_nand:
-Index: u-boot/include/configs/neo1973_gta01.h
-===================================================================
---- u-boot.orig/include/configs/neo1973_gta01.h
-+++ u-boot/include/configs/neo1973_gta01.h
-@@ -207,6 +207,7 @@
- #define CFG_ENV_IS_IN_NAND 1
- #define CFG_ENV_SIZE 0x4000 /* 16k Total Size of Environment Sector */
- #define CFG_ENV_OFFSET_OOB 1 /* Location of ENV stored in block 0 OOB */
-+#define CFG_PREBOOT_OVERRIDE 1 /* allow preboot from memory */
-
- #define NAND_MAX_CHIPS 1
- #define CFG_NAND_BASE 0x4e000000
-Index: u-boot/common/main.c
-===================================================================
---- u-boot.orig/common/main.c
-+++ u-boot/common/main.c
-@@ -85,6 +85,11 @@ int do_mdm_init = 0;
- extern void mdm_init(void); /* defined in board.c */
- #endif
-
-+#ifdef CFG_PREBOOT_OVERRIDE
-+extern char *preboot_override;
-+#endif
-+
-+
- /***************************************************************************
- * Watch for 'delay' seconds for autoboot stop or autoboot delay string.
- * returns: 0 - no key string, allow autoboot
-@@ -306,8 +311,8 @@ void main_loop (void)
- char *s;
- int bootdelay;
- #endif
--#ifdef CONFIG_PREBOOT
-- char *p;
-+#if defined(CONFIG_PREBOOT) || defined(CFG_PREBOOT_OVERRIDE)
-+ char *p = NULL;
- #endif
- #ifdef CONFIG_BOOTCOUNT_LIMIT
- unsigned long bootcount = 0;
-@@ -364,8 +369,23 @@ void main_loop (void)
- install_auto_complete();
- #endif
-
-+#if defined(CONFIG_PREBOOT) || defined(CFG_PREBOOT_OVERRIDE)
- #ifdef CONFIG_PREBOOT
-- if ((p = getenv ("preboot")) != NULL) {
-+ p = getenv ("preboot");
-+#endif
-+#ifdef CFG_PREBOOT_OVERRIDE
-+ if (preboot_override) {
-+ /* for convenience, preboot_override may end in \n, not \0 */
-+ p = strchr(preboot_override, '\n');
-+ if (p)
-+ *p = 0;
-+ /* make sure we can overwrite the load area if we want to */
-+ p = strdup(preboot_override);
-+ /* clean the image in case we want to flash it */
-+ preboot_override = NULL;
-+ }
-+#endif /* CFG_PREBOOT_OVERRIDE */
-+ if (p) {
- # ifdef CONFIG_AUTOBOOT_KEYED
- int prev = disable_ctrlc(1); /* disable Control C checking */
- # endif
-@@ -381,7 +401,7 @@ void main_loop (void)
- disable_ctrlc(prev); /* restore Control C checking */
- # endif
- }
--#endif /* CONFIG_PREBOOT */
-+#endif /* CONFIG_PREBOOT || CFG_PREBOOT_OVERRIDE */
-
- #if defined(CONFIG_BOOTDELAY) && (CONFIG_BOOTDELAY >= 0)
- s = getenv ("bootdelay");
-Index: u-boot/common/env_common.c
-===================================================================
---- u-boot.orig/common/env_common.c
-+++ u-boot/common/env_common.c
-@@ -37,6 +37,10 @@
- # define SHOW_BOOT_PROGRESS(arg)
- #endif
-
-+#ifdef CFG_PREBOOT_OVERRIDE
-+extern char *preboot_override;
-+#endif
-+
- DECLARE_GLOBAL_DATA_PTR;
-
- #ifdef CONFIG_AMIGAONEG3SE
-@@ -234,7 +238,14 @@ void env_relocate (void)
- puts ("*** Warning - bad CRC, using default environment\n\n");
- SHOW_BOOT_PROGRESS (-1);
- #endif
-+ }
-+
-+#ifdef CFG_PREBOOT_OVERRIDE
-+ if (preboot_override)
-+ gd->env_valid = 0;
-+#endif
-
-+ if (gd->env_valid == 0) {
- if (sizeof(default_environment) > ENV_SIZE)
- {
- puts ("*** Error - default environment is too large\n\n");