Hi
I am working with Zynq based seL4 and currently have written an app which configures two processes using sel4utils_configure_process. Both my other processes are apps that are also elf files generated during the build. I have noticed that when I am configuring two processes in the root task as
102: sel4utils_process_t process1,process2;
103: error = sel4utils_configure_process(&process1, &vka, &vspace, seL4_MaxPrio, PROCESS1_IMAGE_NAME);
104: assert(error == 0);
105:
106: error = sel4utils_configure_process(&process2, &vka, &vspace,seL4_MaxPrio, PROCESS2_IMAGE_NAME);
107: assert(error == 0);
The code compiles but I get a runtime error as
_allocman_cspace_alloc@allocman.c:252 Regular cspace alloc failed, and failed from watermark
_allocman_cspace_alloc@allocman.c:252 Regular cspace alloc failed, and failed from watermark
_allocman_cspace_alloc@allocman.c:252 Regular cspace alloc failed, and failed from watermark
vka_alloc_object@object.h:51 Failed to allocate object of size 4096, error 1
_allocman_cspace_alloc@allocman.c:252 Regular cspace alloc failed, and failed from watermark
_allocman_cspace_alloc@allocman.c:252 Regular cspace alloc failed, and failed from watermark
new_pages_at_vaddr@vspace.c:325 Failed to allocate page
load_segment@elf.c:82 ERROR: failed to allocate frame by loadee vka: 10
_allocman_cspace_alloc@allocman.c:252 Regular cspace alloc failed, and failed from watermark
sel4utils_elf_load_record_regions@elf.c:272 Failed to load segment
sel4utils_configure_process_custom@process.c:550 Failed to load elf file
_allocman_cspace_alloc@allocman.c:252 Regular cspace alloc failed, and failed from watermark
sel4utils_configure_process_custom@process.c:593 Could not clean up vspace
Assertion failed: error == 0 (latest-sel4-tutorial/apps/zynq-comm/src/main.c: main: 107)
If I remove any one of the process from the root process, it actually works and my process gets launched. I am assuming there is some conflict when the elf is being loaded as both processes are elf files.
Regards
Andrew