memory problems on Fiasco porting

Adam Lackorzynski adam at
Thu Feb 19 22:41:55 CET 2009


On Thu Feb 19, 2009 at 22:22:02 +0800, Tsai, Tung-Chieh wrote:
> On Thu, Feb 19, 2009 at 4:01 PM, Adam Lackorzynski
> <adam at> wrote:
> > One thing you should try is the following... in
> > src/kern/arm/config-arm.c there's a constant called 'cache_enabled'.
> > It's set the true (obviously), do things change (and start to work
> > better) if you set it to false?
> I've tried this, and the result is strange. It would stuck in irq_handler
> to handle timer interrupt, before printing "Calibrating timer loop... "
> in Kernel_thread::bootstrap.(More precisely, the return address of
> irq is at "bl Kernel_thread::bootstrap_arch()", before "bl printf" )

This is the point where interrupts are enabled and also the points where
it's likely that the first timer hits. The cache_enabled constant just
influences the cp15-c1 value so maybe you should also disable the
flushing functions, maybe there's something strange? Another
simplification is also not to do any range based flushing but alsways
flush everything. When you mean stuck is it because of a fault or is it
looping or something else? Do you look at the system with some external

Adam                 adam at

More information about the l4-hackers mailing list