Hello

 

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 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. Checking init’s pagetable with OKL4’s KDB on qemu shows a number of allocations below:

00000000 [00140027]: tree=f0140000

00001000 [001f5067]:   phys=001f5000 pg=f0140004   4KB rwx (RWX) user  WB

00003000 [001f7067]:   phys=001f7000 pg=f014000c   4KB rwx (RWX) user  WB

00004000 [001f8067]:   phys=001f8000 pg=f0140010   4KB rwx (RWX) user  WB

00005000 [001df025]:   phys=001df000 pg=f0140014   4KB r~x (R~X) user  WB

00006000 [00275067]:   phys=00275000 pg=f0140018   4KB rwx (RWX) user  WB

00007000 [00276067]:   phys=00276000 pg=f014001c   4KB rwx (RWX) user  WB

00008000 [00277067]:   phys=00277000 pg=f0140020   4KB rwx (RWX) user  WB

00009000 [00278067]:   phys=00278000 pg=f0140024   4KB rwx (RWX) user  WB

0000a000 [00368067]:   phys=00368000 pg=f0140028   4KB rwx (RWX) user  WB

0000b000 [00369067]:   phys=00369000 pg=f014002c   4KB rwx (RWX) user  WB

0000c000 [0036a067]:   phys=0036a000 pg=f0140030   4KB rwx (RWX) user  WB

0000d000 [0036b067]:   phys=0036b000 pg=f0140034   4KB rwx (RWX) user  WB

0000e000 [0037b067]:   phys=0037b000 pg=f0140038   4KB rwx (RWX) user  WB

00012000 [003fa067]:   phys=003fa000 pg=f0140048   4KB rwx (RWX) user  WB

00016000 [00852067]:   phys=00852000 pg=f0140058   4KB rwx (RWX) user  WB

0004a000 [00336067]:   phys=00336000 pg=f0140128   4KB rwx (RWX) user  WB

00066000 [00370067]:   phys=00370000 pg=f0140198   4KB rwx (RWX) user  WB

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.

 

Regards

Frank