Commit Graph

387 Commits

Author SHA1 Message Date
Xiang Xiao
17692ffc5f Revert "interpreters/duktape: Fix error: variable 'num_stmts' set but not used"
This reverts commit 801046cd78.
2023-09-19 11:27:21 +08:00
Xiang Xiao
801046cd78 interpreters/duktape: Fix error: variable 'num_stmts' set but not used
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-09-17 22:50:08 +03:00
Daniel Appiagyei
b37e84b05f c++ compatibility: rename usages of reserved c++ keywords 'this' and 'public' 2023-09-16 19:45:52 +08:00
YAMAMOTO Takashi
73f27b7cae toywasm: regen for v33
```
REF=e03d1f61d3f3163da76b33c4c770dbf0d2024324 ./regen.sh
```
2023-08-23 03:02:12 +08:00
YAMAMOTO Takashi
816b499ef8 toywasm: bump to v33 2023-08-23 03:02:12 +08:00
Xiang Xiao
054cf3b1cb Change all sizeof(arr)/sizeof(arr[0]) to nitems
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-17 22:51:51 +03:00
Xiang Xiao
2db68e26c4 Fix Error: luv/src/constants.c:674:11: error: implicit declaration of function 'getprotobyname'
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-12 15:58:11 +03:00
simbit18
e501f784c3 Fix Kconfig style
Add TABs
Add comments
2023-08-11 22:13:17 +08:00
Xu Xingliang
cd7869001f interpreters/luajit: use section name for custom heap
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-08-09 09:49:23 +02:00
Xu Xingliang
6bfdddca39 interpreter/luajit: use uppercase LUAJIT_ARCH_ARM
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-08-09 09:49:23 +02:00
YAMAMOTO Takashi
ee71af840f toywasm: regen for v31
```
REF=6f67aec18ce8f824479e305c17464bd4df1dd7ae ./regen.sh
```
2023-08-07 01:12:58 -07:00
YAMAMOTO Takashi
6fb38bc246 toywasm: bump the version to v31 2023-08-07 01:12:58 -07:00
YAMAMOTO Takashi
5365fc9ffd toywasm: regen for v30.0.0
```
REF=bfcc5be6eb25c9581c6c3b443ac38c1a814f8e18 ./regen.sh
```
2023-07-31 10:26:30 -07:00
YAMAMOTO Takashi
23691fd422 toywasm: bump to v30.0.0 2023-07-31 10:26:30 -07:00
YAMAMOTO Takashi
33987a76a9 regen for toywasm v29.0.0
```
REF=12b9e518cd18c9fee09a521afa96eb15cd11edac ./regen.sh
```
2023-07-23 01:08:45 +08:00
YAMAMOTO Takashi
f41873223c toywasm: bump the version to v29.0.0 2023-07-23 01:08:45 +08:00
YAMAMOTO Takashi
7cacd569e5 Revert "toywasm: disable tail call and explain why"
This reverts commit fcda92ebc7.

because it isn't necessary for the latest versions of toywasm.
2023-07-23 01:08:45 +08:00
chao an
4d79a5cbaf add initial cmake build system
Co-authored-by: Daniel Agar <daniel@agar.ca>
Signed-off-by: chao an <anchao@xiaomi.com>
2023-07-08 13:52:02 +08:00
YAMAMOTO Takashi
c078b2ee7a wamr: add a kconfig to control wasi-threads
cf. https://github.com/bytecodealliance/wasm-micro-runtime/blob/main/doc/pthread_impls.md
2023-07-06 09:25:14 -03:00
Huang Qi
be0e677699 interpreters/wamr: New option for configurable bounds checks
Works with https://github.com/bytecodealliance/wasm-micro-runtime/pull/2289

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-07-05 16:25:56 +08:00
Xiang Xiao
7986f66006 build: Replace "$(shell $(INCDIR) $(CC) ...)" with $(INCDIR_PREFIX)
to unify the way to get include directories

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-06-22 23:27:26 +03:00
YAMAMOTO Takashi
3bd106081f toywasm: regen after bumping the version
```
REF=99468253ca11c9b8df444e3e23865b5030f6af69 ./regen.sh
```
2023-06-22 09:52:02 +03:00
YAMAMOTO Takashi
5c9e8d6352 toywasm: bump the version 2023-06-22 09:52:02 +03:00
YAMAMOTO Takashi
3d598fce6c toywasm: regen after a change to the script
```
REF=031ac96574bf95c5ec31e5aeb02787a84e6d4af0 ./regen.sh
```
2023-06-17 22:59:32 +03:00
YAMAMOTO Takashi
fcda92ebc7 toywasm: disable tail call and explain why 2023-06-17 22:59:32 +03:00
YAMAMOTO Takashi
900b32c908 toywasm: regen
```
REF=031ac96574bf95c5ec31e5aeb02787a84e6d4af0 ./regen.sh
```
2023-06-12 13:36:48 +08:00
YAMAMOTO Takashi
2c9939920b toywasm: bump version
this includes SIMD support.
2023-06-12 13:36:48 +08:00
Huang Qi
dec2cd9635 tools/Wasm: Decouple the wasm compilation and runtime specific AOT compilation
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-05-13 10:15:40 -03:00
Huang Qi
e287e4bb9e wamr: Simplify target handling by LLVM style arch info
Depends on: https://github.com/apache/nuttx/pull/8928

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-05-13 10:15:40 -03:00
Xiang Xiao
f95d60366a Fix the nxstyle warning
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-08 21:35:16 +03:00
Xiang Xiao
73701cd7cd Replace all strncpy with strlcpy
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-08 21:35:16 +03:00
Xiang Xiao
7c37421266 Replace all sprintf with snprintf
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-08 21:35:16 +03:00
Xiang Xiao
134b8b538f Replace all strcat with strlcat
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-08 21:35:16 +03:00
YAMAMOTO Takashi
15df04083e toywasm: regen
REF=80d43dfa3377810fff0ff143b2e8be2e229bf7f2 ./regen.sh
2023-04-24 23:47:13 +08:00
YAMAMOTO Takashi
b7ac752cca bump toywasm version 2023-04-24 23:47:13 +08:00
Gustavo Henrique Nihei
d650d3276f luamodules: Fix implicit declaration warning for strncasecmp
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-28 14:54:16 -03:00
Huang Qi
95acf6c904 interpreters/wamr: New option to dump call stack
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-03-24 11:37:22 +08:00
Huang Qi
8ae5a1b148 Fix some hard coded buffer len of snprintf
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-03-21 20:57:56 -03:00
Xu Xingliang
f32aa2df59 lua: download tarball from github release tag
The tarball from github has same file layout as git repo while the tarball from ftp doesn't.
Update Makefile to accommodate this change.

Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-03-21 20:38:29 -03:00
Xiang Xiao
f3c104b99a Fix nxstyle warning
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-03-19 14:53:44 -06:00
Xiang Xiao
86080a110e apps: Remove the check of CONFIG_SERIAL_TERMIOS
If the code only change c_oflag, c_iflag and c_lflag, not c_cflag in termios.
Follow up the change from kernel: https://github.com/apache/nuttx/pull/8843

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-03-19 14:53:44 -06:00
YAMAMOTO Takashi
04a156e0d0 toywasm: regen config-dependent files
With the regen script:

```
REF=7c6ff3925d0b0f4d5122df9b1b5761bc2954e014 ./regen.sh
```
2023-03-17 12:07:02 -03:00
YAMAMOTO Takashi
b962c02c05 toywasm: add a script to regenerate config-dependent files
This is a manual step mainly because it involves extra
tools including cmake.
2023-03-17 12:07:02 -03:00
Huang Qi
4b1d59d40d bas: Don't ECHO input in repl
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-03-17 12:00:55 -03:00
jturnsek
e599bbcd24 Initial LuaJIT interpreter load 2023-03-17 09:28:58 +08:00
YAMAMOTO Takashi
ad9a44d606 interpreter/toywasm: Update toywasm version
Tested on esp32-devkitc.
2023-03-09 01:40:38 +08:00
simbit18
73301dd16d apps/interpreters/bas/Makefile: Fix mistakes in comments
Fix mistakes in comments
2023-03-08 13:50:23 -03:00
simbit18
2a255db413 apps/interpreters/ficl/Make.defs: Add missing Apache Foundation copyright header
Add missing Apache Foundation copyright header
2023-03-08 13:50:23 -03:00
simbit18
c1d859c249 apps/interpreters/bas/Make.defs: Add missing Apache Foundation copyright header
Add missing Apache Foundation copyright header
2023-03-08 13:50:23 -03:00
chao an
4f11f38c38 interpreters/wamr: add compile role of WebAssembly
Add compilation rules to support WebAssembly(WASM/WAMR):

1. Compile Toolchain
 1> Download WASI sdk and export the WASI_SDK_PATH path:

$ wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz
$ tar xf wasi-sdk-19.0-linux.tar.gz
Put wasi-sdk-19.0 to your host WASI_SDK_PATH environment variable, like:
$ export WASI_SDK_PATH=`pwd`/wasi-sdk-19.0

 2> Download Wamr "wamrc" AOT compiler and export to the PATH:
$ mkdir wamrc
$ wget https://github.com/bytecodealliance/wasm-micro-runtime/releases/download/WAMR-1.1.2/wamrc-1.1.2-x86_64-ubuntu-20.04.tar.gz
$ tar xf wamrc-1.1.2-x86_64-ubuntu-20.04.tar.gz
$ export PATH=$PATH:$PWD

2. Configuring and running

 1> Configuring sim/wamr and compile:

nuttx$ ./tools/configure.sh  sim/wamr
nuttx$ make
...
Wamrc Generate AoT: /home/archer/code/nuttx/n5/apps/wasm/hello.aot
Wamrc Generate AoT: /home/archer/code/nuttx/n5/apps/wasm/coremark.aot
LD:  nuttx

 2> Copy the generated wasm file(Interpreter/AoT)

nuttx$ cp ../apps/wasm/hello.aot .
nuttx$ cp ../apps/wasm/hello.wasm .
nuttx$ cp ../apps/wasm/coremark.wasm .

 3> Run iwasm

nuttx$ ./nuttx
NuttShell (NSH) NuttX-10.4.0
nsh> iwasm /data/hello.wasm
Hello, World!!
nsh> iwasm /data/hello.aot
Hello, World!!
nsh> iwasm /data/coremark.wasm
2K performance run parameters for coremark.
CoreMark Size    : 666
Total ticks      : 12000
Total time (secs): 12.000000
Iterations/Sec   : 5.000000
Iterations       : 60
Compiler version : Clang 15.0.7
Compiler flags   : Using NuttX compilation options
Memory location  : Defined by the NuttX configuration
seedcrc          : 0xe9f5
[0]crclist       : 0xe714
[0]crcmatrix     : 0x1fd7
[0]crcstate      : 0x8e3a
[0]crcfinal      : 0xa14c
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 5.000000 / Clang 15.0.7 Using NuttX compilation options / Defined by the NuttX configuration

Co-Authored-By: Huang Qi <huangqi3@xiaomi.com>
Signed-off-by: chao an <anchao@xiaomi.com>
2023-03-06 13:23:44 +02:00
Gustavo Henrique Nihei
fe7b57aa11 wamr: Fix INTERPRETERS_WAMR_LIBC_WASI dependency on PSEUDOFS_SOFTLINKS
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-04 01:47:33 +08:00
Xiang Xiao
df2db2e410 interpreters/bas: Fix the nxstyle warning
except "Mixed case identifier found"

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-24 08:36:58 +02:00
Huang Qi
7f67ee8c88 bas_fs.c: Fix nxstyle: Multiple data definitions
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-02-23 17:21:19 +08:00
Huang Qi
db22e07d07 stdio: Remove CONFIG_EOL_IS_XXX
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-02-23 17:21:19 +08:00
lilei19
41f60bd669 change strcpy to strlcpy
Change-Id: I8b9429a3c225a82842fce136bdb14b8b135066d3
Signed-off-by: lilei19 <lilei19@xiaomi.com>
2023-02-22 23:09:55 +08:00
YAMAMOTO Takashi
6aef7fc0a3 interpreter/toywasm: Update toywasm version
Tested on esp32-devkitc.
2023-01-11 17:05:01 +02:00
Xuxingliang
6e67d8ab78 luamodules: fix compile warning in cjson
Signed-off-by: Xuxingliang <xuxingliang@xiaomi.com>
2022-12-22 13:39:35 +08:00
Neo Xu
6725d481b2 interpreters/lua: fix unpack on incremental build
Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2022-12-21 17:48:29 +08:00
Xu Xingliang
167672c783 interpreters/lua: support lua module list register
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2022-12-21 17:48:13 +08:00
Neo Xu
311b4210b7 luamodules/cjson: add lua cjson module
Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2022-12-21 17:47:14 +08:00
Neo Xu
6d7761f274 luamodules/lsyslog: add lua syslog module
Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2022-12-21 17:46:59 +08:00
Neo Xu
7a2774b75a luamodules/lfs: add luafilesystem module
Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2022-12-21 17:46:44 +08:00
Xiang Xiao
d1e46c2d3e compiler.h: Add _ between format|printf|syslog|scanf|strftime and like
align with other macro naming style

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-21 01:05:12 +02:00
YAMAMOTO Takashi
867897ad53 interpreters/toywasm/src/toywasm_config.c: add an empty section
I feel this should be fixed in nxstyle.
This is a separate commit to make a revert easier.
2022-12-20 10:45:07 +08:00
YAMAMOTO Takashi
7d6e12917f interpreter/toywasm: Update toywasm version
The situation of toywasm_config.c is similar to toywasm_config.h.
It's cmake-generated in the upstream. The original template is covered
by a different license. I'm the author of the file and hereby re-license
this copy.

Tested on sim/macOS.
2022-12-20 10:45:07 +08:00
Xu Xingliang
636a155a21 luamodules/luv: fix comile warning -Werror=int-to-pointer-cast
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2022-12-12 18:06:53 +08:00
Xu Xingliang
80ed2b96d3 luamodules/luv: add libuv lua binding luv.
Initial work done by Michael Mogenson.

Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2022-12-10 19:19:10 +08:00
Xu Xingliang
8175d89cd3 apps: add luamodules
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2022-12-10 19:19:10 +08:00
YAMAMOTO Takashi
5ae46ab6a7 interpreters/toywasm: update toywasm version 2022-12-01 19:39:22 +08:00
YAMAMOTO Takashi
bd20d45612 toywasm: add .gitignore
Following wasm3 and wamr.
2022-12-01 19:39:02 +08:00
Xiang Xiao
8fff07b435 Remove the unnecessary "return;" at the end of function
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-27 22:36:40 +01:00
Huang Qi
0357cb99b2 interpreters/wamr: New option to support spec test
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-11-17 13:28:40 +08:00
Huang Qi
31e7c5ec60 interpreters/wamr: New option to support ref types
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-11-17 13:28:40 +08:00
YAMAMOTO Takashi
7903911000 toywasm_config.h: Add a license notice to appease nxstyle
* This file is derived from [1], which is covered by [2].

* I'm the solo author of the file. I hereby re-license this version with
  the license added by this commit.

[1] e43d33016a/lib/toywasm_config.h.in
[2] e43d33016a/LICENSE
2022-11-10 11:19:43 +08:00
YAMAMOTO Takashi
f1e8e933c5 interpreter/toywasm: update toywasm version 2022-11-10 11:19:43 +08:00
yinshengkai
ee4d8b738f Makefile: replace INCDIR to INCDIR_PREFIX
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2022-11-10 02:38:58 +08:00
yinshengkai
2c3c2edcb7 Makefile: Remove INCDIROPT
This option, which resolves to -w when CONFIG_CYGWIN_WINTOOL is
configured, is now appended to INCDIR in tools/Config.mk.

See git commit # 5eae32577e5d5226e5d3027c169eeb369f83f77d in the main
2022-10-25 13:48:16 +08:00
YAMAMOTO Takashi
195ffe71e4 Add interpreters/toywasm 2022-10-20 01:06:00 +08:00
Xiang Xiao
4941182cc6 Make.defs: Change "ifeq ($(XXX),y)" to "ifneq ($(XXX),)
to support the tristate option correctly and unify the usage

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-16 14:59:08 +02:00
Xiang Xiao
9291d07a87 Fix the coding style issue
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-06 12:20:32 +02:00
yinshengkai
75673fed70 quickjs: add qjs tool configuration item
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2022-09-09 17:25:12 +02:00
YAMAMOTO Takashi
65b58724ca interpreters/wamr/Kconfig: Add INTERPRETERS_WAMR_DEBUG_INTERP option
Tested with sim/Linux/amd64 and esp32 devkit-c.
2022-08-29 14:20:19 +08:00
Huang Qi
2e2630e838 Don't download tarballs if a local git repo found
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-08-28 17:20:47 +08:00
Peter Bee
a3ccf59204 quickjs/Makefile: pass jobserver status to submake
N/A

Use +make or $(MAKE) instead of make -C

Signed-off-by: Peter Bee <bijunda1@xiaomi.com>
2022-08-15 11:12:33 +03:00
Huang Qi
29a49f366e wamr: Add a new option to custom stack guard size
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-08-10 15:21:26 +08:00
Huang Qi
167c551e82 wamr: Add a new option to enable semaphore support
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-08-09 23:17:00 +08:00
Xiang Xiao
c252ec1481 Add printflike to all printf like functions
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-18 14:09:10 +03:00
YAMAMOTO Takashi
e5c07b9a62 interpreters/wamr: Remove WAMR_VERSION_STUB and always use actual tags
This allows to use a commit sha1 for CONFIG_INTERPRETERS_WAMR_VERSION.

Note: the existing configs with specific wamr version
need to be updated.

Tested with:
CONFIG_INTERPRETERS_WAMR_VERSION=main
CONFIG_INTERPRETERS_WAMR_VERSION=WAMR-04-15-2021
CONFIG_INTERPRETERS_WAMR_VERSION=3168ba8dcf20d9d8539d75c637420f5fd8682335
2022-06-02 00:35:08 +08:00
YAMAMOTO Takashi
ba08c77000 interpreters/wamr/Kconfig: enable text heap when necessary 2022-05-25 15:25:05 +08:00
YAMAMOTO Takashi
562db060b7 interpreters/wamr/Kconfig: Mention limitations about wasi 2022-05-24 22:38:36 +08:00
YAMAMOTO Takashi
90e164b708 interpreters/wamr/Kconfig: Add an option to enable wasi libc 2022-05-24 22:38:36 +08:00
YAMAMOTO Takashi
137b924b93 interpreters/wamr/Kconfig: Add INTERPRETERS_WAMR_PERF_PROFILING 2022-05-20 21:53:34 +08:00
Petro Karashchenko
7eda43768a interpreters/ficl: add double include guard to nuttx.h
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-04-24 09:48:56 +08:00
Alin Jerpelea
d60fb1168d nxstyle fixes
fixes for nxstyle errors reported by CI

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2022-04-22 11:14:17 +08:00
Alin Jerpelea
26e4e29c95 interpreters: ficl: Add Apache License
The initial contribution was missing a license.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2022-04-22 11:14:17 +08:00
yinshengkai
cd1bc19bf9 quickjs: fix compile warning
optind is a global variable in getopt.h (a macro defined in stdlib.h in nuttx).
Here it is used as a variable, not a variable of getopt
2022-03-29 22:47:11 +08:00
Michael Mogenson
4043522daf interpreters: lua: replace awk command with shell script 2022-03-24 00:18:28 +08:00
Michael Mogenson
87df63d367 interpreters: add Lua support 2022-03-21 13:49:42 +08:00
zhouliang3
1e7a2bc009 apps/wamr: Add wamr memory Kconfig
Signed-off-by: zhouliang3 <zhouliang3@xiaomi.com>
2022-03-14 20:52:39 +08:00
Xiang Xiao
4cc0c755bf Remove CONFIG_CLOCK_MONOTONIC special code
since this opion doesn't exist anymore

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-23 01:21:44 +08:00