Hi Stefan,
         I am working along with Chirag to port Genode on imx6. 

We inserted the existing RAM regions in Platform::_ram_regions.( We rechecked it with linux kernel source code for imx6) But still we are getting page fault on every access to new Rom_module.

I tried to track the memory allocation what I understood is, 
In map_local() call,
when inserting into page tables in "_insert_second_level()" function in short_translation_table.h file of base-hw, slab->phys_addr() and slab->virt_addr() return 0 after kernel initialization. So it creates a new page table and inserting into it. Inserting the same values(phys:10000000, virt:1000) as arguments of map_local() function in platform.cc. 
When I print the address of new page table created, I found that it is in the range of Program Image.(address of pt is 10159000, and program image range is (10001000-10189fa4).

I wonder if the memory allotted is clashing with program memory.
Or,
Can it be the issue with MMDC controller of imx6? Because no other board in base-hw uses MMDC controller, do we need to implement the interface for MMDC in imx6?

Thanks and Regards

Praveen,
IIT Madras



On Tue, Jul 29, 2014 at 6:43 PM, Stefan Kalkowski <stefan.kalkowski@...1...> wrote:
Hi,

On 07/28/2014 11:28 AM, chirag garg wrote:
> Hi stefan,
>
> Thanks a lot in Advance,
>
> We are trying to debug the " Failed to communicate Thread Event ". And we
> found that Platform is not getting Initialized, we are facing Problem in
> the Platform constructor located in file : base-hw/src/coe/platform.cc
>
> In the Platform () constructor
>
> Rom_module * rom_module = new (core_mem_alloc())
>             Rom_module(header->base, header->size, (const
> char*)header->name);
>
> is not getting executed(giving page fault) .  Do you know what could be the
> problem ?

Do you've inserted the right existent RAM regions within your
Platform::_ram_regions definitions? If you added incorrect RAM regions
the "core_mem_alloc()" allocator of core will insert invalid page table
entries in kernel/core's page table, and any access to the memory of the
new Rom_module (returned by core_mem_alloc()) will fault.

But it's just guessing. Again, it is up to you to investigate what exact
memory access is responsible for the fault.

Regards
Stefan

>
>
> Regards
>
> Chirag Garg
> IIT Madras , Rise Lab
>
>
>
> ------------------------------------------------------------------------------
> Infragistics Professional
> Build stunning WinForms apps today!
> Reboot your WinForms applications with our WinForms controls.
> Build a bridge from your legacy apps to the future.
> http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
>
>
>
> _______________________________________________
> genode-main mailing list
> genode-main@...49....sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>

--
Stefan Kalkowski
Genode Labs

http://www.genode-labs.com/ · http://genode.org/

------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
genode-main mailing list
genode-main@...12...ceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main