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