Leave caches enabled when launching u-boot, it speeds up loader(8) and

the kernel can tolerate being entered with caches enabled as of r276445.

Approved by:	imp
This commit is contained in:
Ian Lepore 2015-01-02 02:09:29 +00:00
parent 0f662ede74
commit dc5aac57c2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=376035
3 changed files with 31 additions and 8 deletions

View File

@ -2,6 +2,7 @@
PORTNAME= u-boot
PORTVERSION= 2014.10
PORTREVISION= 1
CATEGORIES= sysutils
MASTER_SITES= ftp://ftp.denx.de/pub/u-boot/
PKGNAMESUFFIX= -beaglebone

View File

@ -1,10 +1,29 @@
--- common/cmd_elf.c.orig 2014-10-14 08:47:15 UTC
+++ common/cmd_elf.c
@@ -46,6 +46,7 @@ unsigned long do_bootelf_exec(ulong (*en
* pass address parameter as argv[0] (aka command name),
* and all remaining args
*/
+ cleanup_before_linux();
ret = entry(argc, argv);
@@ -35,22 +35,12 @@ unsigned long do_bootelf_exec(ulong (*en
unsigned long ret;
/*
- * QNX images require the data cache is disabled.
- * Data cache is already flushed, so just turn it off.
- */
- int dcache = dcache_status();
- if (dcache)
- dcache_disable();
-
- /*
- * pass address parameter as argv[0] (aka command name),
- * and all remaining args
+ * FreeBSD wants the caches enabled while ubldr runs, and as of r276397
+ * the kernel can tolerate being entered with internal (but not external
+ * PL310) caches enabled on armv6/7 systems. So don't disable caches
+ * here, just launch the program directly.
*/
ret = entry(argc, argv);
-
- if (dcache)
- dcache_enable();
-
return ret;
}
if (dcache)

View File

@ -1,6 +1,6 @@
--- include/configs/am335x_evm.h.orig 2014-10-14 08:47:15 UTC
+++ include/configs/am335x_evm.h
@@ -479,4 +479,76 @@
@@ -479,4 +479,79 @@
#endif
#endif /* NOR support */
@ -15,6 +15,9 @@
+#define CONFIG_CMD_ENV_EXISTS
+#define CONFIG_EFI_PARTITION
+#define CONFIG_SYS_MMC_MAX_DEVICE 2
+#ifndef CONFIG_SYS_DCACHE_OFF
+#define CONFIG_CMD_CACHE
+#endif
+#endif
+
+/* Save the env to the fat partition. */