summaryrefslogtreecommitdiff
path: root/src/arch/ppc/boot
diff options
context:
space:
mode:
authorGreg Watson <jarrah@users.sourceforge.net>2004-03-07 17:38:43 +0000
committerGreg Watson <jarrah@users.sourceforge.net>2004-03-07 17:38:43 +0000
commitc762e55fc9324299f993be7c4e1dfd56d07b3103 (patch)
tree17599b9de7dab89fd208f8289541f1b22d0c4aba /src/arch/ppc/boot
parent7780fc6404defb1ffdada30b441c876e8073c6e2 (diff)
downloadcoreboot-c762e55fc9324299f993be7c4e1dfd56d07b3103.tar.xz
fix caching problem
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1382 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/arch/ppc/boot')
-rw-r--r--src/arch/ppc/boot/boot.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/arch/ppc/boot/boot.c b/src/arch/ppc/boot/boot.c
index 860576370b..1a1d982fc8 100644
--- a/src/arch/ppc/boot/boot.c
+++ b/src/arch/ppc/boot/boot.c
@@ -72,6 +72,13 @@ void jmp_to_elf_entry(void *entry, unsigned long buffer)
void (*kernel_entry)(void);
kernel_entry = entry;
+ /*
+ * Kernel will invalidate and disable dcache immediately on
+ * entry. This is bad if we've been using it, which we
+ * have. Make sure it is flushed to memory.
+ */
+ flush_dcache();
+
/* On ppc we don't currently support loading over LinuxBIOS.
* So ignore the buffer.
*/
@@ -79,5 +86,3 @@ void jmp_to_elf_entry(void *entry, unsigned long buffer)
/* Jump to kernel */
kernel_entry();
}
-
-