Skip to content
Snippets Groups Projects
Commit 3db93b8b authored by Stefan Roese's avatar Stefan Roese
Browse files

ppc4xx: Enable CPU POST test for 4xx with dcache enabled


Now with caches enabled (i- and d-cache) on 44x, we need a chance to
disable the cache for the CPU POST tests, since these tests consist
of self modifying code. This is done via the new change_tlb() function.

Signed-off-by: default avatarStefan Roese <sr@denx.de>
parent f71b2888
No related branches found
No related tags found
No related merge requests found
......@@ -36,6 +36,7 @@
#include <watchdog.h>
#include <post.h>
#include <asm/mmu.h>
#if CONFIG_POST & CFG_POST_CPU
......@@ -59,6 +60,8 @@ extern int cpu_post_test_multi (void);
extern int cpu_post_test_string (void);
extern int cpu_post_test_complex (void);
DECLARE_GLOBAL_DATA_PTR;
ulong cpu_post_makecr (long v)
{
ulong cr = 0;
......@@ -81,6 +84,10 @@ int cpu_post_test (int flags)
WATCHDOG_RESET();
if (ic)
icache_disable ();
#ifdef CONFIG_4xx_DCACHE
/* disable cache */
change_tlb(gd->bd->bi_memstart, gd->bd->bi_memsize, TLB_WORD2_I_ENABLE);
#endif
if (ret == 0)
ret = cpu_post_test_cmp ();
......@@ -129,6 +136,10 @@ int cpu_post_test (int flags)
if (ic)
icache_enable ();
#ifdef CONFIG_4xx_DCACHE
/* enable cache */
change_tlb(gd->bd->bi_memstart, gd->bd->bi_memsize, 0);
#endif
WATCHDOG_RESET();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment