config KERNEL_EXTKERNEL
    bool "Enable Extend Kernel"
    default y
    help
      This option will enable extend Kernel of LiteOS.  Extend kernel include
      cppsupport, cpup, and dynload. You can select one or some
      of them.

config KERNEL_CPPSUPPORT
    bool "Enable C++ Support"
    default y
    depends on KERNEL_EXTKERNEL
    help
      If you wish to build LiteOS with support for C++.

config KERNEL_CPUP
    bool "Enable Cpup"
    default y
    depends on KERNEL_EXTKERNEL
    help
      If you wish to build LiteOS with support for cpup.

config CPUP_INCLUDE_IRQ
    bool "Enable Cpup include irq"
    default y
    depends on KERNEL_CPUP
    help
      If you wish to include irq usage for cpup.

config KERNEL_DYNLOAD
    bool "Enable Dynamic Load Feature"
    default y
    depends on KERNEL_EXTKERNEL && KERNEL_VM && KERNEL_SYSCALL
    help
      If you wish to build LiteOS with support for dynamic load.

config ASLR
    bool "Enable Address Space Layout Randomization"
    default n
    depends on KERNEL_DYNLOAD && HW_RANDOM_ENABLE
    help
      If you wish to enable ASLR for user aspace.

config KERNEL_PM
    bool "Enable Power Management"
    default y
    depends on KERNEL_EXTKERNEL
    help
      If you wish to build LiteOS with support for power management.

config KERNEL_VDSO
    bool "Enable VDSO Feature"
    default n
    depends on KERNEL_EXTKERNEL && KERNEL_VM && KERNEL_SYSCALL
    help
      If you wish to speed up some system calls.

config KERNEL_SHM
    bool "Enable Shared Memory"
    default y
    depends on KERNEL_EXTKERNEL && KERNEL_VM && KERNEL_SYSCALL
    help
      Answer Y to enable LiteOS support shared memory.

config KERNEL_LITEIPC
    bool "Enable liteipc"
    default y
    depends on KERNEL_EXTKERNEL && KERNEL_VM
    help
      Answer Y to enable LiteOS support liteipc.

config KERNEL_PIPE
    bool "Enable pipes"
    default y
    depends on KERNEL_EXTKERNEL
    help
      Answer Y to enable LiteOS support pipes.

config KERNEL_PLIMITS
    bool "Enable plimits Feature"
    default n
    depends on KERNEL_EXTKERNEL

config KERNEL_MEM_PLIMIT
    bool "Enable mem limits Feature"
    default n
    depends on KERNEL_PLIMITS

config KERNEL_IPC_PLIMIT
    bool "Enable ipc limits Feature"
    default n
    depends on KERNEL_PLIMITS

config KERNEL_DEV_PLIMIT
    bool "Enable dev limits Feature"
    default n
    depends on KERNEL_PLIMITS

config KERNEL_SCHED_PLIMIT
    bool "Enable sched limits Feature"
    default n
    depends on KERNEL_PLIMITS

config BASE_CORE_HILOG
    bool "Enable Hilog"
    default y
    depends on KERNEL_EXTKERNEL
    help
      If you wish to include hilog.

config KERNEL_HOOK
    bool "Enable Hook Feature"
    default n
    depends on KERNEL_EXTKERNEL && DEBUG_VERSION


######################### config options of container ####################
config KERNEL_CONTAINER
    bool "Enable container Feature"
    default n
    depends on KERNEL_VM

config PID_CONTAINER
    bool "Enable pid container Feature"
    default n
    depends on KERNEL_CONTAINER

config UTS_CONTAINER
    bool "Enable uts container Feature"
    default n
    depends on KERNEL_CONTAINER

config MNT_CONTAINER
    bool "Enable mnt container Feature"
    default n
    depends on KERNEL_CONTAINER

config CHROOT
    bool "Enable chroot"
    default n
    depends on MNT_CONTAINER

config IPC_CONTAINER
    bool "Enable ipc container Feature"
    default n
    depends on KERNEL_CONTAINER

config TIME_CONTAINER
    bool "Enable time container"
    default n
    depends on KERNEL_CONTAINER

config USER_CONTAINER
    bool "Enable user container"
    default n
    depends on KERNEL_CONTAINER

config NET_CONTAINER
    bool "Enable net container"
    default n
    depends on KERNEL_CONTAINER


######################### config options of trace #########################
source "kernel/extended/trace/Kconfig"

######################### config options of blackbox #########################
source "kernel/extended/blackbox/Kconfig"

######################### config options of hidumper #########################
source "kernel/extended/hidumper/Kconfig"

######################### config options of perf #########################
source "kernel/extended/perf/Kconfig"

######################### config options of lms #########################
source "kernel/extended/lms/Kconfig"

######################### config options of hilog #########################
source "kernel/extended/hilog/Kconfig"
