# # For a description of the syntax of this configuration file, # see the file kconfig-language.txt in the NuttX tools repository. # config INTERPRETERS_WAMR tristate "Webassembly Micro Runtime" default n if INTERPRETERS_WAMR config INTERPRETERS_WAMR_VERSION string "WAMR Version" default "WAMR-04-15-2021" ---help--- Version WAMR-09-29-2020 and later (include main) supported. config INTERPRETERS_IWASM_TASK bool "Webassembly iwasm task" default y if INTERPRETERS_IWASM_TASK config INTERPRETERS_WAMR_PRIORITY int "Webassembly Micro Runtime priority" default 100 config INTERPRETERS_WAMR_STACKSIZE int "Webassembly Micro Runtime stack size" default 8192 endif # INTERPRETERS_IWASM_TASK config INTERPRETERS_WAMR_AOT bool "Enable AOT" select ARCH_USE_TEXT_HEAP if ARCH_HAVE_TEXT_HEAP default n config INTERPRETERS_WAMR_AOT_QUICK_ENTRY bool "Enable AOT quick entry" default n depends on INTERPRETERS_WAMR_AOT ---help--- Note: This option only works with WAMR 1.3.1 or later. Enable AOT quick entry to improve performance for call AOTed function from host side in some cases with simple signature. Enable this option will increase the size of runtime, ~8KB. choice prompt "Enable interpreter" default INTERPRETERS_NONE config INTERPRETERS_WAMR_FAST bool "Enable fast interpreter" config INTERPRETERS_WAMR_CLASSIC bool "Enable classic interpreter" config INTERPRETERS_NONE bool "Disable interpreter" endchoice # Enable interpreter config INTERPRETERS_WAMR_DEBUG_AOT bool "Enable debugger support for AOT modules" default n depends on INTERPRETERS_WAMR_AOT config INTERPRETERS_WAMR_DEBUG_INTERP bool "Enable debugger support in the interpreter" default n # Note: It only works with the classic interpreter depends on INTERPRETERS_WAMR_CLASSIC # Note: It uses thread-manager internally depends on INTERPRETERS_WAMR_THREAD_MGR # Note: It sets up the listening socket with SO_LINGER depends on NET_TCP depends on NET_SOLINGER config INTERPRETERS_WAMR_LOG bool "Enable log" default n config INTERPRETERS_WAMR_LIBC_BUILTIN bool "Enable built-in libc" default n config INTERPRETERS_WAMR_BUILD_MODULES_FOR_NUTTX bool "Build WASM modules for NuttX system interface (Experimental)" default n depends on INTERPRETERS_WAMR_LIBC_BUILTIN config INTERPRETERS_WAMR_LIBC_WASI bool "Enable WASI libc" select PSEUDOFS_SOFTLINKS default n ---help--- Note: As of writing this, this works only with main branch of wasm-micro-runtime. I.e. INTERPRETERS_WAMR_VERSION="main" Note: As of writing this, most of the filesystem operations are not implemented. (Mainly because of lack of openat family of the API in NuttX.) config INTERPRETERS_WAMR_MULTI_MODULE bool "Enable multi module support" default n config INTERPRETERS_WAMR_MINILOADER bool "Enable mini-loader" default n ---help--- Mini-loader don't check the integrity of wasm module config INTERPRETERS_WAMR_REF_TYPES bool "Enable reference types support" default n config INTERPRETERS_WAMR_ENABLE_SPEC_TEST bool "Enable spectest support" default n config INTERPRETERS_WAMR_TAIL_CALL bool "Enable tail call support" default n ---help--- This only available for WAMR 1.3.0 later (don't include 1.3.0) config INTERPRETERS_WAMR_STACK_GUARD_SIZE int "Custom stack guard size" default 1024 ---help--- Reserve some space in stack as guard to detect stack overflow. Please consider this extra stack consumption when deciding the stack size of your NuttX task on which you run WAMR. The default value here (1024) was chosen to match the default value on the majority of other platforms, including Linux. It also matches the expections in the WAMR AoT compiler. On the other hand, it might be a bit larger than what's strictly necessary, especially for typical NuttX targets. config INTERPRETERS_WAMR_THREAD_MGR bool "Enable thread manager" default n config INTERPRETERS_WAMR_LIB_WASI_THREADS bool "Enable wasi-threads" default n ---help--- See https://github.com/bytecodealliance/wasm-micro-runtime/blob/main/doc/pthread_impls.md config INTERPRETERS_WAMR_LIB_PTHREAD bool "Enable lib pthread (legacy)" default n ---help--- See https://github.com/bytecodealliance/wasm-micro-runtime/blob/main/doc/pthread_impls.md config INTERPRETERS_WAMR_LIB_PTHREAD_SEMAPHORE bool "Enable semaphore" depends on INTERPRETERS_WAMR_LIB_PTHREAD default n config INTERPRETERS_WAMR_SHARED_MEMORY bool "Enable shared memory" default n config INTERPRETERS_WAMR_BULK_MEMORY bool "Enable bluk memory" default n config INTERPRETERS_WAMR_PERF_PROFILING bool "Enable performance profiling" default n config INTERPRETERS_WAMR_MEMORY_PROFILING bool "Enable memory profiling" default n config INTERPRETERS_WAMR_MEMORY_TRACING bool "Enable memory tracing" default n config INTERPRETERS_WAMR_DUMP_CALL_STACK bool "Enable dump call stack (on exception)" default n config INTERPRETERS_WAMR_DISABLE_HW_BOUND_CHECK bool "Disable hardware bound check" default n config INTERPRETERS_WAMR_LOAD_CUSTOM_SECTIONS bool "Enable load custom section support" default n config INTERPRETERS_WAMR_CUSTOM_NAME_SECTIONS bool "Enable custom name section support" default n config INTERPRETERS_WAMR_GLOBAL_HEAP_POOL bool "Enable global heap pool" default n if INTERPRETERS_WAMR_GLOBAL_HEAP_POOL config INTERPRETERS_WAMR_GLOBAL_HEAP_POOL_SIZE int "Global heap pool size (in KB)" default 128 endif # INTERPRETERS_WAMR_GLOBAL_HEAP_POOL config INTERPRETERS_WAMR_CONFIGUABLE_BOUNDS_CHECKS bool "Configuable bounds checks" default n ---help--- Bounds checks enabled by default. With this option, you can disable bounds checks passing --disable-bounds-checks to iwasm. endif # INTERPRETERS_WAMR