memory problems on Fiasco porting

Adam Lackorzynski adam at os.inf.tu-dresden.de
Thu Feb 19 22:41:55 CET 2009


Hi,

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 os.inf.tu-dresden.de> 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
debugger?



Adam
-- 
Adam                 adam at os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/




More information about the l4-hackers mailing list