Problem with 'test-pci'
Christian Helmuth
christian.helmuth at ...1...
Thu Jul 30 22:54:03 CEST 2009
Hi,
On Thu, Jul 30, 2009 at 06:14:03PM +0200, Frank Kaiser wrote:
> As a preparation of a certain task I want to check the PCI resources of
> my platform (IVI platform with Intel ATOM). For this purpose I built
> Genode-on-OKL4, only consisting of a minimum driver set and the test-pci
> application. Running this image in qemu looks good, but on the IVI
> platform the init process fails with a page fault before or when
> starting the PCI driver which is the first entry in the config file. The
> error message is:
>
> no RM attachment (READ pf_addr=6000 pf_ip=2001286 from 01)
>
> I have no clue what this message is trying to tell me.
The message indicates a potential bug with undefined pointers, i.e.
init did not attach a dataspace at this virtual address.
> The given IP
> points to the function Genode::strncpy(). I also wonder why the system
> wants to read from virtual address 0x6000, because all modules are
> allocated beginning at virtual address 0x02000000.
On Genode the core service RM (region manager) manages address spaces
of processes. When init creates and attaches a new RAM dataspace to
its virtual address space, a unused region fitting the dataspace is
looked up by RM.
> Checking init's
> pagetable with OKL4's KDB on qemu shows a number of allocations below:
>
> 00000000 [00140027]: tree=f0140000
[...]
> 00066000 [00370067]: phys=00370000 pg=f0140198 4KB rwx (RWX) user
> WB
Looks good and common for me ;-)
> On the IVI platform this area at the time of the page fault looks:
>
> 00000000 [00141027]: tree=f0141000
>
> 00001000 [001f5067]: phys=001f5000 pg=f0141004 4KB rwx (RWX) user
> WB
>
> 00005000 [001df025]: phys=001df000 pg=f0141014 4KB r~x (R~X) user
> WB
>
> I'd like to get some hints where to look into the code for finding the
> cause of the problem. Since I cannot debug the platform, I probably have
> to add more trace messages to get additonal information about what is
> going on.
I have no idea what happened, but files you should have a look at are:
base-okl4/src/core/rm_session_support.cc (set verbose_unmap)
base/src/core/rm_session_component.cc (set verbose and verbose_page_faults)
Good luck
--
Christian Helmuth
Genode Labs
http://www.genode-labs.com/ ยท http://genode.org/
More information about the users
mailing list