Platform Initialization Problem

Praveen B srinivasprv at ...9...
Mon Aug 18 07:00:56 CEST 2014


Hi Martin,

Sorry I could not reply soon as I've been away for a while. And Thank you
for the explanation.

The address 0x10159000 is not present in BSS. BSS range is 0x10070000 to
0x10112fa4.

I've checked it and everything is going fine until first Rom_module is
created. After allocation, we are getting page fault in the constructor
call of Avl_string_base, the class from which Rom_module is derived.
The address of page fault is 0x1008 same as in the case of Bob working
on Beaglebone.
And our code was also working till 13.11.

I guess our problem is also related to MMU, which is MMDC for imx6 as I
mentioned in my previous mail.
We will pull the current branch and try if it works, as you suggested for
Bob.

Thanks and Regards

Praveen
IIT Madras.



On Mon, Aug 11, 2014 at 4:43 PM, Martin Stein <martin.stein at ...1...>
wrote:

>  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...> 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
>> > 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
>> 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 listgenode-main at ...220...://lists.sourceforge.net/lists/listinfo/genode-main
>
>
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> 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/20140818/34052850/attachment.html>


More information about the users mailing list