Hi all, When I run l4android (3.5) with the latest Genode, I got an error, the args for l4android in run script is "mem=512M console=ttys0 l4x_rd=root-lc.gz". Part of log is as follows:
[init -> l4android] Main thread running, waiting... [init -> l4android] l4re_global_env:0 [init -> l4android] Main memory size: 512MB unmapping of managed dataspaces not yet supported [init -> l4android] Main memory: virt:20000000 to 3fffffff [524288 KiB] [init -> l4android] Main memory: phys:0x00000000 to 0x20000000, size: 536870912 [init -> l4android] Filling lower ptabs... [init -> l4android] Done (0 entries). [init -> l4android] l4x_register_pointer_section: addr = 01000000 size = 5242880 [init -> l4android] text: virt: 1000000 to 14fffff [5120 KiB] [init -> l4android] Cannot determine physical address for dataspace Binary! [init -> l4android] error: failed to get physical address for 1000000. virtual void Genode::Signal_session_component::submit(Genode::signal_context_capability, unsigned int): invalid signal-contex capability virtual void Genode::Pager_activation_base::entry(): Could not resolve pf=3fffff000 ip=1000e88
It seems that the virtual address(0x20000000 ~ 0x3fffffff) has not been mapped to actual physical address. So I compared the L4Linux support library with previous versions, I found the funtion "l4re_ma_alloc" (in ports-foc/src/lib/l4lx/l4_re_c_mem_alloc.cc) has changed, and l4android will use the function for memory allocation. Can somebody tells me why make that adjustment? Is it the reason why l4android produces that error?