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
13config SEL4_APPS_PATH
14    string
15    option env="SEL4_APPS_PATH"
16
17menu "seL4 RefOS Applications"
18
19source "$SEL4_APPS_PATH/process_server/Kconfig"
20source "$SEL4_APPS_PATH/selfloader/Kconfig"
21source "$SEL4_APPS_PATH/file_server/Kconfig"
22source "$SEL4_APPS_PATH/console_server/Kconfig"
23source "$SEL4_APPS_PATH/timer_server/Kconfig"
24source "$SEL4_APPS_PATH/terminal/Kconfig"
25source "$SEL4_APPS_PATH/test_os/Kconfig"
26source "$SEL4_APPS_PATH/test_user/Kconfig"
27source "$SEL4_APPS_PATH/tetris/Kconfig"
28source "$SEL4_APPS_PATH/snake/Kconfig"
29source "$SEL4_APPS_PATH/nethack/Kconfig"
30
31endmenu
32
33menu "seL4 RefOS Build Options"
34
35    config REFOS_DEBUG
36        bool "Enable RefOS debugging output."
37        default n
38        help
39            Enable debug printing in RefOS.
40
41    config REFOS_DEBUG_VERBOSE
42        bool "Enable RefOS extra verbose debugging output. "
43        default n
44        help
45            Enable extra verbose debug printing in RefOS.
46            Useful for debugging low level.
47            Beware of really long logs.
48
49    config REFOS_RUN_TESTS
50        bool "Run RefOS tests"
51        default n
52        help
53            Run RefOS tests before starting the init task program.
54
55    config REFOS_INIT_TASK
56	string "RefOS app to launch on boot"
57        default "terminal"
58        help
59            Which task should refOS start when it has bootstrapped
60
61    config REFOS_INIT_TASK_PRIO
62        int "RefOS init app priority (0-255)"
63        default 50
64        help
65            seL4 priority to give to the init task
66
67    config REFOS_ENABLE_EGA
68        bool "Enable output to screen using EGA text mode."
69        default y
70        depends on PLAT_PC99 && LIB_VTERM
71        help
72            If enabled, RefOS will output stdout to EGA text mode on the screen, exposed by
73            os_server as /dev/screen. Note that this only applies to RefOS userland and system apps,
74            and do NOT enable any debug logs from the process server to be shown on the screen.
75            Enable LIB_SEL4_PLAT_SUPPORT_X86_TEXT_EGA_PUTCHAR in libplatsupport for that.
76            PC platform only.
77
78    config REFOS_ANSI_COLOUR_OUTPUT
79    bool "Enable ANSI escape sequenced colour output"
80    depends on LIB_REFOS
81    default y
82    help
83        Enable colour output using ANSI escape sequences. Disable if not outputting through serial
84        to an ANSI-enabled terminal.
85
86    config REFOS_HALT_ON_ERRNO
87    bool "Halt on RefOS errno"
88    default n
89    help
90        Enable stopping programming abrubtly on any errno set by RefOS syscalls. Useful for
91        debugging.
92
93    config REFOS_TIMEZONE
94    string "System time zone"
95    default "AEST-10"
96    help
97        The system default timezone in POSIX standard format.
98        For further documentation, see
99        http://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html.
100
101    choice
102        prompt "Userland stdio dataspace"
103        default REFOS_STDIO_DSPACE_SERIAL
104        help
105            Which dataspace to use as the default output. The screen output device is available on
106            x86, when REFOS_ENABLE_EGA is enabled.
107
108        config REFOS_STDIO_DSPACE_SERIAL
109            bool "/dev_console/serial"
110        config REFOS_STDIO_DSPACE_SCREEN
111            bool "/dev_console/screen"
112            depends on REFOS_ENABLE_EGA
113    endchoice
114
115    config REFOS_ENABLE_KEYBOARD
116        bool "Enable input from PS2 keyboard."
117        default n
118        depends on PLAT_PC99
119        help
120            If enabled, RefOS will input stdin from PS2 keyboard drivers as well as serial in.
121
122endmenu
123