Kernel Initialization iMx6

Stefan Kalkowski stefan.kalkowski at ...1...
Fri Jul 25 10:59:56 CEST 2014


Hi Chirag,

On 07/25/2014 08:47 AM, chirag garg wrote:
> Hi Stefan,
> 
> We tried to further to debug call to call as you mentioned . And we find
> out that the call for *pic( ) in *kernel.cc is reaching to the Grand parent
> Arm_gic :: Pic constructor.
> 
> In constructor _distr ( distr_base), _cpu ( cpu_base) are getting
> initialized, which is working fine. And whenever  functions of _distr and
> _cpu objects are being called, it's got stuck. like in the initialization
> part *_distr.max_interrupt( ) *is not working.
> 
> The same thing is working in Genode version 13.11 but not in 14.05.
> 
> Can you suggest some thing to debug this problem ??

ok, I assume the root cause of your problem is that the I/O memory
mapped registers of the PIC are not inserted into the page-tables of the
kernel/core. All I/O memory regions used by the kernel/core have to be
returned by the function "Platform::_core_only_mmio_regions" normally
defined within the "platform_services.cc" file of your board. At least
the PIC, Timer, and UART I/O memory mapped registers need to be listed
there, so that the kernel initialization code adds them to its
page-tables before turning the MMU on.

If the kernel raises a pagefault during its initialization, after taking
the "data_lock()" in "init_kernel_multiprocessor", it will try to take
that lock again when entering the kernel code again through the
exception vector. Thereby it hangs in the already locked lock. The
kernel, and core aren't allowed to page-fault at all.

Regards
Stefan

> 
> 
> 
> Regards
> 
> Chirag Garg
> IIT Madras , Rise Lab
> 
> 
> 
> ------------------------------------------------------------------------------
> Want fast and easy access to all the code in your enterprise? Index and
> search up to 200,000 lines of code with a free copy of Black Duck
> Code Sight - the same software that powers the world's largest code
> search on Ohloh, the Black Duck Open Hub! Try it now.
> http://p.sf.net/sfu/bds
> 
> 
> 
> _______________________________________________
> genode-main mailing list
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
> 

-- 
Stefan Kalkowski
Genode Labs

http://www.genode-labs.com/ ยท http://genode.org/




More information about the users mailing list