#
# Copyright 2017, Data61
# Commonwealth Scientific and Industrial Research Organisation (CSIRO)
# ABN 41 687 119 230.
#
# This software may be distributed and modified according to the terms of
# the BSD 2-Clause license. Note that NO WARRANTY is provided.
# See "LICENSE_BSD2.txt" for details.
#
# @TAG(DATA61_BSD)
#

menuconfig LIB_SEL4_UTILS
    bool "libsel4utils"
    depends on HAVE_LIB_SEL4 && HAVE_LIBC && HAVE_LIB_ELF && HAVE_LIB_CPIO && HAVE_LIB_UTILS
    select HAVE_SEL4_LIBS
    select HAVE_LIB_SEL4_UTILS
    default y
    help
        A library of utils for building an OS on seL4, including virtual memory, process and
        thread creation.

if LIB_SEL4_UTILS
    config SEL4UTILS_STACK_SIZE
    int "Size of stacks in bytes to allocate if using vspace interface in this library"
    default 65536

    config SEL4UTILS_CSPACE_SIZE_BITS
    int "Size of default cspace to spawn processes with"
    range 4 27
    default 12

    config SEL4UTILS_PROFILE
    bool "Profiling tools"
    default n
    help
        Enables the functionality of a set of profiling tools. When disabled these profiling tools
        will compile down to nothing.
endif

config HAVE_LIB_SEL4_UTILS
    bool
