Problem with 'test-pci'

Christian Helmuth christian.helmuth at ...1...
Thu Jul 30 22:54:03 CEST 2009


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/ (set verbose_unmap)
  base/src/core/    (set verbose and verbose_page_faults)

Good luck
Christian Helmuth
Genode Labs ยท

More information about the users mailing list