From 99ffccbd3e5b7bc715e2eed6ea6d36f4020b56d8 Mon Sep 17 00:00:00 2001 From: Diana CRACIUN Date: Wed, 31 Aug 2011 02:45:23 +0000 Subject: Flush cache after the OS image is loaded into the memory. Since we are loading an executable image into memory we need flush it out of the cache to possible maintain coherence on CPUs with split instruction and data caches. We do this for other executable image loading command. On PowerPC once we do this we no longer need to explicitly flush the dcache on multi-core systems in the BOOTM_STATE_OS_PREP phase. We now treat the BOOTM_STATE_OS_PREP as a no-op to maintain backwards compatibility with the bootm subcommand. Signed-off-by: James Yang Signed-off-by: Diana CRACIUN Signed-off-by: Kumar Gala --- common/cmd_bootm.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'common/cmd_bootm.c') diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 272d879be..8909ee703 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -432,6 +432,9 @@ static int bootm_load_os(image_info_t os, ulong *load_end, int boot_progress) printf ("Unimplemented compression type %d\n", comp); return BOOTM_ERR_UNIMPLEMENTED; } + + flush_cache(load, (*load_end - load) * sizeof(ulong)); + puts ("OK\n"); debug (" kernel loaded at 0x%08lx, end = 0x%08lx\n", load, *load_end); if (boot_progress) -- cgit v1.2.3-70-g09d2