Hello Genodeans
I'm building a system similar to sculpt (a sub init for drivers, leitzentrale and runtime), that runs on iMX6. As kernel I use sel4.
The static driver subsystem and the leitzentrale work without problems so far.
At first init starts a ram_fs and a part_block. Then the following components should be started vfs, noux, and three chroot. This fails, as the runtime init can no longer allocate memory (see log below).
The runtime init has a RAM quota of 360M and the components to start use about 120M.
... [init -> runtime] child "public_rw" [init -> runtime] RAM quota: 1896K [init -> runtime] cap quota: 68 [init -> runtime] ELF binary: chroot [init -> runtime] priority: 0 [init -> runtime] provides service File_system Error: static Genode::addr_t Genode::Untyped_memory::alloc_pages(Genode::Range_allocator&, Genode::size_t): allocation of untyped memory failed Warning: unexpected exception during PD-session creation [init -> runtime] Error: depot_rw: environment PD session denied (label="depot_rw", ram_quota=98304, cap_quota=13, diag=0) ... Kernel: Thread 'ep' died because of an uncaught exception [init -> runtime] Error: Uncaught exception of type 'Genode::Service_denied' [init -> runtime] Warning: abort called - thread: ep Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) not implemented - resources leaked: 0x100 [init] child "runtime" exited with exit value 1
Might this be related to the following messages we also see in the log?
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) not implemented - resources leaked: 0x40 The last number starts with 0x01 and increases as follows 0x02, 0x04, 0x10, 0x20, 0x40, 0x80, 0x100.
Tests on base-hw did not show any allocation errors.
Best regards, Pirmin
Hello
I have found a solution, that works fro me.
In repos/base-sel4/src/core/spec/arm/platform.cc the value for MAX_PROCESS_COUNT was 32. I have increased it and now my scenario works.
Best regards, Pirmin