summaryrefslogtreecommitdiff
path: root/post/cpu/ppc4xx/cache.c
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2007-08-14 18:43:14 +0200
committerWolfgang Denk <wd@denx.de>2007-08-14 18:43:14 +0200
commit541d41b2f23182047c0d655ad8d795f33dd37df2 (patch)
treeb6c9395bacc120d62415f45a0598a41ea0b5d018 /post/cpu/ppc4xx/cache.c
parentf01dbb5424a81453c81190dd30e945891466f621 (diff)
parent3b3bff4cbf2cb14f9a3e7d03f26ebab900efe4ae (diff)
downloadu-boot-imx-541d41b2f23182047c0d655ad8d795f33dd37df2.zip
u-boot-imx-541d41b2f23182047c0d655ad8d795f33dd37df2.tar.gz
u-boot-imx-541d41b2f23182047c0d655ad8d795f33dd37df2.tar.bz2
Merge with /home/wd/git/u-boot/custodian/u-boot-ppc4xx
Diffstat (limited to 'post/cpu/ppc4xx/cache.c')
-rw-r--r--post/cpu/ppc4xx/cache.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/post/cpu/ppc4xx/cache.c b/post/cpu/ppc4xx/cache.c
index e1f989e..109ca1f 100644
--- a/post/cpu/ppc4xx/cache.c
+++ b/post/cpu/ppc4xx/cache.c
@@ -53,14 +53,25 @@ int cache_post_test6 (int tlb, void *p, int size);
static int tlb = -1; /* index to the victim TLB entry */
+#ifdef CONFIG_440
static unsigned char testarea[CACHE_POST_SIZE]
__attribute__((__aligned__(CACHE_POST_SIZE)));
+#endif
int cache_post_test (int flags)
{
void* virt = (void*)CFG_POST_CACHE_ADDR;
- int ints, i, res = 0;
- u32 word0;
+ int ints;
+ int res = 0;
+
+ /*
+ * All 44x variants deal with cache management differently
+ * because they have the address translation always enabled.
+ * The 40x ppc's don't use address translation in U-Boot at all,
+ * so we have to distinguish here between 40x and 44x.
+ */
+#ifdef CONFIG_440
+ int word0, i;
if (tlb < 0) {
/*
@@ -83,6 +94,7 @@ int cache_post_test (int flags)
}
}
}
+#endif
ints = disable_interrupts ();
WATCHDOG_RESET ();