Hi,
On 02/02/2015 11:46 AM, Stefan Kalkowski wrote:
Hi,
On 01/28/2015 02:56 PM, li94575 wrote:
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".
I wonder that it compiles for you using Genode's latest release? The recent e-mail by Zachary showed, and I can confirm that l4android doesn't even compile.
The simple reason is that we don't use l4android at all, and was not tested it in the past :-(. I will investigate whether it is easy to fix the current issues, and dependend on that provide a fix. However, the current outdated version of L4android does not make sense from my point of view. Therefore, we should either remove L4Android from the Genode repository, or alternatively it needs to be upgraded and integrated into our testing environment - which means resources that are bound to that task. Any opinions from other developers? Or is somebody like li94575 or Zachary willing to upgrade the current version?
Which version of the L4Android kernel are you using? We've updated it to 3.16 a couple of months ago.
However, if it is about to run Android, a recent L4Linux kernel should be capable as well, as the Android related subsystems have been moved back into mainline Linux a couple of revisions ago.
Best, Matthias.
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?
Yes there were changes regarding the main memory allocation/mapping of the L4Linux guest within the L4Re emulation library. Especially, it changed that not all memory is allocated once, but gets allocated on demand. Thereby prior patches to L4Linux need to be reverted.
I've opened an issue at our issue tracker, let's discuss things there:
https://github.com/genodelabs/genode/issues/1390
Regards Stefan
Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main