[U-Boot] Can't boot DaVinci EVM with Green Hills' Integrity OS

Jeroen Hofstee jeroen at myspectrum.nl
Tue Mar 31 09:03:22 CEST 2015


Hello Idan,

On 31-03-15 06:02, Idan Noti wrote:
> Why do you think caches have something to do with the problem?

By booting the image with the bootelf command you jump to it with some 
caches
still enabled / not flushed (which is likely not what your debug 
interface does and
your kernel might not really like that). A FreeBSD kernel doesn't / 
didn't at least and
wouldn't boot.

I never checked, but I guess Linux doesn't like it either, but since it 
is typically booted
by a bootm / bootz command it goes through e.g. arch/arm/lib/bootm.c, 
which calls
cleanup_before_linux in arch/arm/cpu/arm926ejs/cpu.c, all caches are 
disables and
flushes before jumping into it.

Of course I don't know if this is related to your problem, but it cannot 
do any harm to
keep caches off until you have the board properly booting.

> Also, how do I config the compilation to disable caches? The only
> configuration I'm aware about it modifying the header file:
> $(uboot_folder)/include/configs/davinci_dvevm.h

Yup, see README and doc/README.arm-caches. At least below knobs are 
documented.
You can simply define these in mentioned file.

  CONFIG_SYS_ICACHE_OFF - Do not enable instruction cache in U-Boot
  CONFIG_SYS_DCACHE_OFF - Do not enable data cache in U-Boot
  CONFIG_SYS_L2CACHE_OFF- Do not enable L2 cache in U-Boot

Regards,
Jeroen


More information about the U-Boot mailing list