Hi,
In using the latest genode version via OKL4 (an unmodified build), and trying to include nic_drv and the http server as part of config, I keep getting the the "no RM attachment" error. This is the output i get when i only include "nic_drv" in the config.
int main(): --- create local services --- int main(): --- start init --- int main(): Ok we have 39 MB transfered to init int main(): --- init created, waiting for exit condition --- [init] our quota limit is 41009152 [init] our used quota is 135168 [init] starting timer with quota=524288 [init] using unique child name "timer" [init] starting pci_drv with quota=524288 [init] using unique child name "pci_drv" [init] starting nic_drv with quota=2097152 [init] using unique child name "nic_drv" no RM attachment (READ pf_addr=0 pf_ip=203891c from 04) virtual void Genode::Signal_session_component::submit(Genode::Signal_context_capability, unsigned int): invalid signal-context capability [init -> pci_drv] PCI driver started [init] pci_drv registered service PCI [init] timer registered service Timer
I have no idea as to what's going on. The contents of the config file is the following:
<config> <start> <filename>timer</filename> <ram_quota>512K</ram_quota> </start> <start> <filename>pci_drv</filename> <ram_quota>512K</ram_quota> </start> <start> <filename>nic_drv</filename> <ram_quota>2M</ram_quota> </start> </config>
The quota for nic_drv was originally 512K. Changing it to 2M hasn't helped at all.
Attached is the weaver file I am using as well. Can anyone tell me what i've done wrong?
Peter
Hi Peter,
Peter Nguyen wrote:
In using the latest genode version via OKL4 (an unmodified build), and trying to include nic_drv and the http server as part of config, I keep getting the the "no RM attachment" error. This is the output i get when i only include "nic_drv" in the config.
...
[init] starting nic_drv with quota=2097152 [init] using unique child name "nic_drv" no RM attachment (READ pf_addr=0 pf_ip=203891c from 04) virtual void Genode::Signal_session_component::submit(Genode::Signal_context_capability, unsigned int): invalid signal-context capability
I suppose the problem is a corner case of the super-page handling we have now enabled by default. Could you please test the attached patch? The patch is still preliminary, so it is not yet included in the SVN. If you confirm that the patch fixes your problem, however, we might commit it as an interim solution.
Thanks Norman
Hi,
In applying the patch, it still doesn't work, but in this case, the boot up stops when trying to load "timer" as per the config file i sent in the last email. More specifically, this is the output i get when "timer" is loaded:
[init] starting timer with quota=524288 [init] using unique child name "timer" page fault (WRITE pf_addr=23e8 pf_ip=200ccba from 01) virtual int Genode::Rm_client::pager(Genode::Ipc_pager&): pf_addr=23e8 LOOKUP ds_offset=0 attach_addr=1000 attach_size=4000 offset=13e8 virtual int Genode::Rm_client::pager(Genode::Ipc_pager&): pf_addr=23e8 MAP ds_offset=0 attach_addr=1000 attach_size=4000 offset=13e8 map phys 26e000 size 1000 virtual void* Genode::Rm_session_component::attach(Genode::Dataspace_capability, Genode::size_t, Genode::off_t, bool, Genode::addr_t): attach ds e44fc (a=0,s=0) @ [40000000,50000000) use_local_address=true virtual void* Genode::Rm_session_component::attach(Genode::Dataspace_capability, Genode::size_t, Genode::off_t, bool, Genode::addr_t): attach ds 150 (a=354000,s=2000) @ [fe000,100000) use_local_address=true page fault (WRITE pf_addr=400fffb4 pf_ip=2022b63 from 01) virtual int Genode::Rm_client::pager(Genode::Ipc_pager&): sub-RM session 0 virtual int Genode::Rm_client::pager(Genode::Ipc_pager&): pf_addr=400fffb4 LOOKUP ds_offset=0 attach_addr=fe000 attach_size=2000 offset=40001fb4 virtual int Genode::Rm_client::pager(Genode::Ipc_pager&): pf_addr=400fffb4 MAP ds_offset=0 attach_addr=fe000 attach_size=2000 offset=40001fb4 map phys 354000 size 1000 page fault (READ pf_addr=0 pf_ip=0 from 01) virtual int Genode::Rm_client::pager(Genode::Ipc_pager&): pf_addr=0 LOOKUP ds_offset=8001 attach_addr=fe000 attach_size=0 offset=0 no RM attachment (READ pf_addr=0 pf_ip=0 from 01) virtual void Genode::Signal_session_component::submit(Genode::Signal_context_capability, unsigned int): invalid signal-context capability
Attached is a text file showing complete output i get, including the "no RM attachment" part.
Peter
Quoting Norman Feske <norman.feske@...1...>:
Hi Peter,
Peter Nguyen wrote:
In using the latest genode version via OKL4 (an unmodified build), and
trying to
include nic_drv and the http server as part of config, I keep getting the
the
"no RM attachment" error. This is the output i get when i only include
"nic_drv"
in the config.
...
[init] starting nic_drv with quota=2097152 [init] using unique child name "nic_drv" no RM attachment (READ pf_addr=0 pf_ip=203891c from 04) virtual void Genode::Signal_session_component::submit(Genode::Signal_context_capability, unsigned int): invalid signal-context capability
I suppose the problem is a corner case of the super-page handling we have now enabled by default. Could you please test the attached patch? The patch is still preliminary, so it is not yet included in the SVN. If you confirm that the patch fixes your problem, however, we might commit it as an interim solution.
Thanks Norman
Hi Peter,
In applying the patch, it still doesn't work, but in this case, the boot up stops when trying to load "timer" as per the config file i sent in the last email. More specifically, this is the output i get when "timer" is loaded:
...
Attached is a text file showing complete output i get, including the "no RM attachment" part.
thanks for testing. For the time being, it seems to be the best to disable superpages on OKL4, so you can proceed with your work. Please apply the attached patch to the SVN version of Genode. What we know so far is that the problem occurs if a binary with a file size greater than 4M (right now, this is only the case for the DDE-Linux-based NIC driver) is loaded at a 4M-aligned address (this happens only on OKL4). We will investigate the issue in detail and provide a fix with the next release coming in May.
Norman