Commit Graph

53 Commits

Author SHA1 Message Date
wenyongh
e62bbeb9e8 Refine wasm loader and interpreter, enhance wamrc to support SGX (#167)
Former-commit-id: 76f4a121d3c2a67114414fc60e80eba4bf49aa8e [formerly b1ab47945a]
Former-commit-id: 8e5c6e895eae22051a79a8d337a87cd2f431b6bc
2020-02-18 15:15:24 +08:00
Xu Jun
5a10651dd0 support app framework base library in assemblyscript (#164) 2020-02-13 15:51:22 +08:00
wenyongh
b5cbc02e90 Refine interpreter to improve performance (#162) 2020-02-10 15:42:37 +08:00
wenyongh
256ecdfdf9 Refine interpreter to improve performance, refine memory usage (#161) 2020-02-10 12:36:45 +08:00
wenyongh
46b93b9d22 Enable AoT and wamr-sdk, and change arguments of call wasm API (#157)
* Implement memory profiler, optimize memory usage, modify code indent

* Implement memory.grow and limit heap space base offset to 1G; modify iwasm build type to Release and 64 bit by default

* Add a new extension library: connection

* Fix bug of reading magic number and version in big endian platform

* Re-org platform APIs: move most platform APIs from iwasm to shared-lib

* Enhance wasm loader to fix some security issues

* Fix issue about illegal load of EXC_RETURN into PC on stm32 board

* Updates that let a restricted version of the interpreter run in SGX

* Enable native/app address validation and conversion for wasm app

* Remove wasm_application_exectue_* APIs from wasm_export.h which makes confused

* Refine binary size and fix several minor issues

Optimize interpreter LOAD/STORE opcodes to decrease the binary size
Fix issues when using iwasm library: _bh_log undefined, bh_memory.h not found
Remove unused _stdin/_stdout/_stderr global variables resolve in libc wrapper
Add macros of global heap size, stack size, heap size for Zephyr main.c
Clear compile warning of wasm_application.c

* Add more strict security checks for libc wrapper API's

* Use one libc wrapper copy for sgx and other platforms; remove bh_printf macro for other platform header files

* Enhance security of libc strcpy/sprintf wrapper function

* Fix issue of call native for x86_64/arm/mips, add module inst parameter for native wrapper functions

* Remove get_module_inst() and fix issue of call native

* Refine wgl lib: remove module_inst parameter from widget functions; move function index check to runtime instantiate

* Refine interpreter call native process, refine memory boudary check

* Fix issues of invokeNative function of arm/mips/general version

* Add a switch to build simple sample without gui support

* Add BUILD_TARGET setting in makefile to replace cpu compiler flags in source code

* Re-org shared lib header files, remove unused info; fix compile issues of vxworks

* Add build target general

* Remove unused files

* Update license header

* test push

* Restore file

* Sync up with internal/feature

* Sync up with internal/feature

* Rename build_wamr_app to build_wasm_app

* Fix small issues of README

* Enhance malformed wasm file checking
Fix issue of print hex int and implement utf8 string check
Fix wasi file read/write right issue
Fix minor issue of build wasm app doc

* Sync up with internal/feature

* Sync up with internal/feature: fix interpreter arm issue, fix read leb issue

* Sync up with internal/feature

* Fix bug of config.h and rename wasi config.h to ssp_config.h

* Sync up with internal/feature

* Import wamr aot

* update document

* update document

* Update document, disable WASI in 32bit

* update document

* remove files

* update document

* Update document

* update document

* update document

* update samples

* Sync up with internal repo
2020-01-21 13:26:14 +08:00
greenknot
2a4528c749 Fix out-of-bounds read in wasm loader (#156) 2020-01-17 13:38:21 +08:00
wenyongh
2b12e2c957 Add thumb target, implement xtensa invokeNative asm code and update makefiles (#151) 2019-12-24 11:09:54 +08:00
wenyongh
5875a37f34 Remove iwasm/runtime/platform src files, refine interpreter and fix issue of --repl option (#150) 2019-12-18 11:53:43 +08:00
wenyongh
631b7a2403 Enhance wasm loader and interpreter, enhance code security and update document (#149) 2019-12-13 15:30:30 +08:00
wenyongh
1c81ad6da5 Enhance wasm loader and update build app document (#147) 2019-11-27 10:52:12 +08:00
wenyongh
7c5a84cf75 Update README, change wasi primitive lib position and add some exception checks (#146)
Add exception throw when some initial checks fail in executing main or specific function
2019-11-25 23:16:40 +08:00
qdaoming-intel
74f74b6490 Fix sgx porting issues: incorrect compile flags, porting func impl, document, etc. (#145)
* Fix sgx porting issues: incorrect compilation flags, porting function impl, document, etc.

* Update bh_platform.c

Add check for function bh_vprintf_sgx: check whether print_function is not NULL.
2019-11-22 15:33:37 +08:00
Weining
a7a7d04dc6 Restore some files and fix minor issues of SGX platform (#144) 2019-11-21 10:30:57 +08:00
Weining
27f246b5f3 Enable WASI feature, enhance security and add SGX sample (#142)
Change emcc to clang
Refine interpreter to improve perforamnce
2019-11-20 21:16:36 +08:00
wenyongh
be15c08cf3 Remove unused files and update license header of some files (#138) 2019-11-11 20:38:49 -06:00
Josh Triplett
b0b0789dca Relicense to Apache-2.0 with the LLVM-exception (#137)
With agreement from contributors.
2019-11-12 07:45:21 +08:00
wenyongh
49127efa99 Re-org shared lib header files, remove unused info (#136)
And fix compile issues of vxworks
2019-11-04 18:56:27 -06:00
wenyongh
28993946ad Add BUILD_TARGET setting in makefile (#135) 2019-11-01 00:38:45 -05:00
Weining
2a8b1ef454 Remove the binding between current thread and module instance and bugs fix (#131)
Remove wasm_export_api.h that may confuse
Implement wasm_runtime_validate_app_str_addr()
Fix bugs of loader and pass more spec cases

Signed-off-by: Weining Lu <weining.x.lu@intel.com>
2019-10-11 15:25:23 +08:00
Xu Jun
bbae4426a0 Add toolchain for WAMR (#127)
* add toolchain for wamr

* add copyright
2019-09-26 19:35:37 +08:00
wenyongh
f8f61dc898 Add a switch to build simple sample without gui support (#126)
* Implement memory profiler, optimize memory usage, modify code indent

* Implement memory.grow and limit heap space base offset to 1G; modify iwasm build type to Release and 64 bit by default

* Add a new extension library: connection

* Fix bug of reading magic number and version in big endian platform

* Re-org platform APIs: move most platform APIs from iwasm to shared-lib

* Enhance wasm loader to fix some security issues

* Fix issue about illegal load of EXC_RETURN into PC on stm32 board

* Updates that let a restricted version of the interpreter run in SGX

* Enable native/app address validation and conversion for wasm app

* Remove wasm_application_exectue_* APIs from wasm_export.h which makes confused

* Refine binary size and fix several minor issues

Optimize interpreter LOAD/STORE opcodes to decrease the binary size
Fix issues when using iwasm library: _bh_log undefined, bh_memory.h not found
Remove unused _stdin/_stdout/_stderr global variables resolve in libc wrapper
Add macros of global heap size, stack size, heap size for Zephyr main.c
Clear compile warning of wasm_application.c

* Add more strict security checks for libc wrapper API's

* Use one libc wrapper copy for sgx and other platforms; remove bh_printf macro for other platform header files

* Enhance security of libc strcpy/sprintf wrapper function

* Fix issue of call native for x86_64/arm/mips, add module inst parameter for native wrapper functions

* Remove get_module_inst() and fix issue of call native

* Refine wgl lib: remove module_inst parameter from widget functions; move function index check to runtime instantiate

* Refine interpreter call native process, refine memory boudary check

* Fix issues of invokeNative function of arm/mips/general version

* Add a switch to build simple sample without gui support
2019-09-25 03:42:56 -05:00
wenyongh
2fca3aa3f5 Re-implement invokeNative function of arm/mips/general version (#125)
Re-implement them due to the function prototype was changed.
Fix typo of sample/gui/README.
2019-09-22 21:52:39 -05:00
wenyongh
42dc2d65a1 Refine interpreter call native process and memory boundary check (#124) 2019-09-19 04:05:15 -05:00
wenyongh
6e99a37bf2 Refine wgl lib and refine wasm function index check (#122)
Refine wgl lib: remove module_inst parameter from widget functions
Refine wasm function check: move function index check from interpreter call_indirect to runtime instantiate
2019-09-16 14:49:17 +08:00
wenyongh
ff0267b7e6 Remove get_module_inst() and fix issue of call native (#120) 2019-09-11 15:56:47 +08:00
Weining
a770706cb6 Fix typo 'destory' and compile issue (#119)
* Optimize samples build process

* Samples: build 64 bit version by default

* Fix typo 'destory'

* Fix compile issue
2019-09-10 15:52:03 +08:00
wenyongh
26149021ff Add parameter module inst for native wrapper functions (#117)
And add asm code of em64/arm/mips version to call native wrapper functions;
Fix some issues of calling wrapper functions;
2019-09-10 10:23:46 +08:00
Jonathan Dong
8deef78624 Add build configuration for Mac (#110)
* Add build configuration for Mac

This patch implements Mac build basically based on Linux platform
implementations and configurations.

The document to build it on Mac has been updated as well.

* Update wasm_application.h

* Update lib_export.h

Add comments for the functions.
2019-09-06 16:51:36 +08:00
wenyongh
4a14e54e86 Enhance security of libc strcpy/sprintf wrapper function (#108) 2019-08-29 14:31:15 +08:00
wenyongh
5257dd8a48 Use one libc wrapper copy for sgx and other platforms (#107)
And remove bh_printf macro for other platform header files
2019-08-28 15:19:52 +08:00
wenyongh
5c69543c54 Add Linux SGX support (#106) 2019-08-28 15:08:52 +08:00
wenyongh
c808aa2ebb Add more security checks for libc wrapper API's (#105) 2019-08-28 15:06:04 +08:00
wenyongh
92cbecbec8 Refine binary size and fix several minor issues (#104)
* Implement memory profiler, optimize memory usage, modify code indent

* Implement memory.grow and limit heap space base offset to 1G; modify iwasm build type to Release and 64 bit by default

* Add a new extension library: connection

* Fix bug of reading magic number and version in big endian platform

* Re-org platform APIs: move most platform APIs from iwasm to shared-lib

* Enhance wasm loader to fix some security issues

* Fix issue about illegal load of EXC_RETURN into PC on stm32 board

* Updates that let a restricted version of the interpreter run in SGX

* Enable native/app address validation and conversion for wasm app

* Remove wasm_application_exectue_* APIs from wasm_export.h which makes confused

* Refine binary size and fix several minor issues

Optimize interpreter LOAD/STORE opcodes to decrease the binary size
Fix issues when using iwasm library: _bh_log undefined, bh_memory.h not found
Remove unused _stdin/_stdout/_stderr global variables resolve in libc wrapper
Add macros of global heap size, stack size, heap size for Zephyr main.c
Clear compile warning of wasm_application.c
2019-08-27 14:09:23 +08:00
wenyongh
de81b95ab8 Enable native/app address validation and conversion for wasm app (#102)
Enable setting external memory space for wasm app, the feature is disabled by default;
Remove wasm_application_exectue_* APIs from wasm_export.h which makes confused.
2019-08-21 16:39:50 +08:00
wenyongh
3f15fb3424 Enhance wasm loader to fix some security issues (#91)
* Implement memory profiler, optimize memory usage, modify code indent

* Implement memory.grow and limit heap space base offset to 1G; modify iwasm build type to Release and 64 bit by default

* Add a new extension library: connection

* Fix bug of reading magic number and version in big endian platform

* Re-org platform APIs: move most platform APIs from iwasm to shared-lib

* Enhance wasm loader to fix some security issues
2019-08-08 16:53:56 +08:00
Weining
3b19306869 Optimize samples build process and build 64 bit binaries by default (#90)
* Optimize samples build process

* Samples: build 64 bit version by default
2019-08-02 14:00:35 +08:00
Weining
9aa9cbde77 Implement 2D graphic API (#87)
* Implement 2D graphic library based on LittlevGL

* Add lvgl license file
2019-08-01 16:57:54 +08:00
wenyongh
1db5a2f697 Re-org platform APIs: move most platform APIs of iwasm to shared-lib (#45) 2019-07-22 11:32:51 +08:00
Yiting Wang
08ebc6c773 Add support for VxWorks (#43)
This adds iwasm support for VxWorks 7.
2019-07-10 16:01:43 +08:00
wenyongh
5b0c8fa0ba Fix bug of reading magic number and version in big endian platform (#41) 2019-06-13 22:29:08 -05:00
wenyongh
7f1e024fce Add a new extension library: connection (#39) 2019-06-10 21:52:15 -05:00
wenyongh
504268b297 Implement memory.grow and limit heap space base offset to 1G (#36)
* Implement memory profiler, optimize memory usage, modify code indent

* Implement memory.grow and limit heap space base offset to 1G; modify iwasm build type to Release and 64 bit by default
2019-05-31 01:21:39 -05:00
wenyongh
ff7cbdd2fb Implement memory profiler, optimize memory usage, modify code indent (#35) 2019-05-23 05:03:31 -05:00
zhujinzhou
9136abfe31 add support for AliOS Things (#34)
* Add support of AliOS-Things

* update the README.md format

* update the README.md #1

* update the README.md #2
2019-05-22 20:33:39 -07:00
wenyongh
36741a7392 Fix some compile errors 2019-05-17 18:01:35 +08:00
wenyongh
dd5b133fa5 Import app manager, samples and test-tools 2019-05-17 17:15:25 +08:00
wenyongh
40e7c627aa implement printf syscall wrapper for linux 2019-05-15 14:32:35 +08:00
wenyongh
a595ec79ab Fix code indent issue and 64-bit compiler error in libc wrapper src 2019-05-14 21:17:12 +08:00
Eric Engestrom
108254974f add installation directives (#14)
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
2019-05-10 23:21:54 +08:00
Weining
174fddd60e convert tab to 4 spaces in header files (#4) 2019-05-09 16:25:23 +08:00