1# 2# Copyright 2016, Data61 3# Commonwealth Scientific and Industrial Research Organisation (CSIRO) 4# ABN 41 687 119 230. 5# 6# This software may be distributed and modified according to the terms of 7# the BSD 2-Clause license. Note that NO WARRANTY is provided. 8# See "LICENSE_BSD2.txt" for details. 9# 10# @TAG(D61_BSD) 11# 12 13menuconfig APP_PROCESS_SERVER 14 bool "RefOS Process Server" 15 default y 16 depends on LIB_SEL4 && LIB_CPIO && LIB_REFOS 17 select HAVE_SEL4_APPS 18 help 19 RefOS Process Server application, which runs as the initial root task of the 20 entire system. The process server is a trusted component; its responsible for starting 21 and managing processes and threads, and hands the right capabilities to the right processes. 22 The process server is required for the system to start. 23 24config PROCSERV_INITIAL_MEM_SIZE 25 int "Initial memory pool size" 26 default 196608 27 depends on APP_PROCESS_SERVER 28 help 29 Initial process server allocator memory pool. In order to solve cyclic allocation dependency 30 problems, the allocator requires a static pre-allocated pool of memory in order to function. 31 If this is set too high, too much memory will be reserved for book keeping and not enough 32 RAM is left to be used to useful stuff. If this is set too low, the allocator runs out of 33 memory to book keep the allocated objects, and starts failing object allocation before all 34 the available RAM is used up. 35 36config PROCSERV_MAX_VSPACES 37 int "Max number of available page directories." 38 default 64 39 depends on APP_PROCESS_SERVER 40 help 41 Number of available statically allocated page directory objects. This is done to avoid 42 allocator fragmentation, as kernel PD objects are quite big. They can easily fail to 43 allocate if allocated dynamically. This number inheritly also limits the maximum number of 44 processes available at once in the system. The actual number of processes available is 45 MIN(PROCSERV_MAX_VSPACES, PROCSERV_MAX_PROCESSES). 46