Platform Initialization Problem

Martin Stein martin.stein at ...1...
Mon Aug 11 13:13:19 CEST 2014


Hi Praveen,
Stefan isn't online these days.
'Genode::map_local()' uses the
'Kernel::core_pd()->platform_pd()->page_slab()' as backing store. This
allocator is of the type 'Genode::Page_slab' as defined in
'base-hw/src/core/include/page_slab.h'. The class contains a member
'Slab_block _initial_sb' which is used for the first couple of
allocations (especially for the allocation of the second slab block).
Furthermore the page slab of the core PD is created via the
'unmanaged_singleton' utility in 'base-hw/src/core/kernel/kernel.cc'.
Thus it should be located in the BSS. That said, it might be normal that
you're observing a page-table base inside the program image. Is
0x10159000 inside your BSS? You can check this via 'genode-arm-objdump'
or instrument the Page_slab::alloc method to check wether it uses the
initial block for this page table.

Cheers
Martin

On 08.08.2014 09:14, Praveen B wrote:
> 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 at ...1...
> <mailto:stefan.kalkowski at ...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 at lists.sourceforge.net
>     <mailto: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/
>
>     ------------------------------------------------------------------------------
>     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 at lists.sourceforge.net
>     <mailto:genode-main at lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/genode-main
>
>
>
>
> ------------------------------------------------------------------------------
> 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20140811/49569a0f/attachment.html>


More information about the users mailing list