Commit Graph

311 Commits

Author SHA1 Message Date
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