Sean McBride
7cacac64c0
WIP: WASI Support ( #267 )
...
* feat: Preliminary WASI with fib workload
* refactor: Clarify initialize globals
* chore: Update empty to WASI
* chore: cleanup fib test
* chore: cleanup build tooling
* chore: cleanup test Makefiles and some nits
* chore: Update LLVM and install WASI-SDK
* chore: Update build tools and specs
* docs: Update example module spec in README
* refactor: Clean up HTTP handling
* feat: Implement exit WASI call
* style: apply clang-format
* ci: rewrite compile sledge step
* build: Remove LLVM install shims
* build: Try manually adding libunwind
* build: Try adding libunwind-dev
* ci: break out aWsm compile step
* fix: Correct test build error
* fix: Correct error in WASI fd_write
* chore: Increase gocr http buffer size
* test: Correct image resize test
* chore: Remove zombie wasmception functions
* chore: Reduce dummy args to single arg
* chore: Add debugging makefile fivebyeight
* chore: Remove erronious PHONYs in tests Makefile
* ci: Disable gocr tests
* chore: Add wat Make rule to fibonacci test
* chore: fix apt package name
* chore: Enable clean of failed ck install
* chore: use LLVM 12
* test: Disable gocr tests
* chore: Enhance test makefile
* chore: Add CFILES as sledgert dep
* chore: Add NULL check for function table pointer
* chore: Add missing header
* chore: uncomment cleanup in imageresize test
* refactor: Remove unused linear memory functions
* build: Add bimodal debug makefile
* chore: Add linear memory debug logs
* refactor: Cleanup region initialization
* build: Correct PHONY in runtime Makefile
* chore: deb install script for outside of container
* refactor: Remove zombie extern.
* feat: WebAssembly traps
* refactor: Use C18 features
* chore: Remove git diff annotations
* fix: tweaks to run all sample apps with WASI
* test: convert shell script to Makefile
* build: clean generated ck Makefile
* chore: Use awsm branch with fixes
* chore: Revert name changes
* fix: Correct type issues
* refactor: Reverse additional name change
* refactor: Remove awsm compat shims
* chore: Remove libc association
* build: Better detect header file changes
* refactor: current_wasm_module_instance_trap
* test: reenable tests
* chore: Delete copied script
* build: Fix test workloads
* fix: Implement HTTP 500
* fix: Protect against overflow on comparison
* build: Replace test.sh with makefile
* refactor: blow away tmp directory conflicts
* refactor: centralize wasm in single submodule
* feat: libsledge and sledge ABI
* chore: move tests
* refactor: tests
* chore: update wasm_apps with new sample data
* doc: Initial ABI README
* feat: globals table
* docs: Merge aWsm ABI docs
* docs: libsledge ABI
* build: rename apps to keep consistent
* build: Disable wasm proposals
* build: Update wasm apps and fix typo
* test: test makefiles
* test: Additional test makefiles
* build: top-level build and install rules wo Docker
* docs: Add wasm lld comment
* build: top level makefile
* chore: merge debug flags
* fix: Correct out of bounds error
* feat: indirection to awsm ABI
* fix: Correct link hack with proper flag
* fix: gps typo
* chore: format nit
* ci: update makefile rules
* ci: check WASI_SDK_PATH
* fix: Adjust paths
* ci: fix make rule name
* refactor: Attempt to use generic vec
* refactor: Remove type-specific vec
* fix: Resolve assorted TODOs
* chore: fix clang format issue
* ci: Invalidate app cache on libsledge changes
* fix: Correct wasm trap check
* fix: free wasm globals
* docs: example of running top level tests via make
* chore: option to log unsupported wasi
* test: add preempt client generator for fib bimodal
* refactor: Allocate wasm memory with 4096 align
* fix: Handle build without runtime globals
* refactor: bypass runtime call for first global
* fix: Correct sandbox logging
* test: fix incorrect paths in test.mk
* refactor: remove wasm traps
* refactor: Revert additional traps and changes
* refactor: Remove additional traps
* refactor: Disable exit support
* fix: block preemption in memory allocation
* feat: wasm g0 write back
* build: cleanup applications Makefile
* chore: Reorder bash variables
* docs: Add comment explaining LOG_SANDBOX_STDERR
* fix: Remove tracking of nonpreemptive siglarms
* chore: Validate Linux, C, and POSIX requirements
* build: Dry up libsledge makefile
* refactor: Remove unused macros
* fix: Writeback global 0 on cooperative sched
* refactor: Fork WASI from aWsm uvwasi example
* build: remove awsm-wasi rules
* chore: clang-format 15
* ci: apt update
* chore: clang 13
* ci: use llvm script
* ci: Use LLVM 13
* refactor: Remove WASI indirection
3 years ago
Sean McBride
5d19891e63
feat: libsledge pattern for wasmception ( #299 )
...
* feat: libsledge pattern for wasmception
* ci: build libsledge
* ci: fix YAML whitespace issue
* ci: fix another YAML whitespace issue
* fix: Correct type issues in memcpy
* ci: debug permissions
* ci: restore build rules
* chore: Change wasmception init symbol
* chore: Assored cleanup
* fix: update g0 cache on preemption
* refactor: inline global vec in sandbox struct
* chore: trailing newline on JSON
* chore: Clean up extraneous file associations
* docs: Explain export and weak symbols
* docs: Remove comment
* refactor: Replace CHAR_BIT with limits.h
* refactor: Remove redundant unlikely define
* docs: Wasmception fn type checking disabled note
3 years ago
Sean McBride
e888a14e51
refactor: Eliminate sandbox request
3 years ago
Sean McBride
098829113b
docs: Better explain memory barriers
3 years ago
Sean McBride
132401177c
fix: protect preemption changes with mem barriers
3 years ago
Sean McBride
f3326dc929
refactor: sandbox perf log
3 years ago
Sean McBride
c185c751bd
feat: -1 on wasm memory.grow instruction failure
3 years ago
Emil
9778db645a
Fixed the Dynamic read of the Number of CPU Cores ( #261 )
...
* Fixed the Dynamic read of the Number of CPU Cores
Closes #260
* removed a commented line
* small changes per Sean's review
* Accomadate Gabe's comments:
- Validate runtime_worker_threads array before usage
- final cleanup
4 years ago
Sean McBride
85856148e1
refactor: Additional cleanup
4 years ago
Sean McBride
9e3530427a
refactor: assorted fixed from clang warnings
4 years ago
Sean McBride
13c511a679
feat: add prio logic
4 years ago
Sean McBride
176d67ac90
refactor: simplify worker checking logic
4 years ago
Sean McBride
6b1dde7257
refactor: Clean up listener core locks and org
4 years ago
Sean McBride
de8def59cc
chore: rlimit cleanup
4 years ago
Sean McBride
b3e93a087e
feat: WIP implementation
4 years ago
Sean McBride
ea6c40ab3c
chore: Configurable quantum
4 years ago
Sean McBride
3f18cf0cfc
feat: make preemption toggle runtime config
4 years ago
Sean McBride
86b1a274e9
chore: validation and active as boolean
4 years ago
Sean McBride
6554e6d1fe
fix: correct sloppy overflow
4 years ago
Sean McBride
240a1af6c7
chore: update extern to match integral MHz
4 years ago
Sean McBride
9767aec9ad
chore: refactor away DEBUG define
4 years ago
Sean McBride
5d8a761b61
feat: Refactor of conditional compilation units
4 years ago
Sean McBride
8aef688553
feat: runtime configurable sandbox perf logging
4 years ago
Sean McBride
c0a97a5394
feat: Expose scheduler as runtime config
4 years ago
Sean McBride
46f597a78c
fix: correct http-parser bug
4 years ago
Sean McBride
ff8c04a6e9
chore: Change client parsing from error to log
4 years ago
Sean McBride
10ad100847
feat: Use integers for admissions control
4 years ago
Sean McBride
92c17d7717
chore: Assorted debugging enhancements
4 years ago
Sean McBride
a7293a7a0a
feat: non-blocking listener core
4 years ago
Sean McBride
c1edca2a42
chore: assorted socket error handling
4 years ago
Sean McBride
9ead528dfc
chore: better debugging and small socket fixes
4 years ago
Sean McBride
76ba308c16
feat: Initial MVP of admissions control
5 years ago
Sean McBride
6cb442d13d
docs: assumptions and runtime globals
5 years ago
Sean McBride
ba4f9e2119
feat: precomp module deadline cycles
5 years ago
Sean McBride
e898d5ab69
chore: validate interrupts disabled at spinlock
5 years ago
Sean McBride
8e36412944
choe: add util to detect if worker
5 years ago
Sean McBride
d6f10cac7a
refactor: decompose types.h
5 years ago
Sean McBride
213c558a75
chore: refactor out i32
5 years ago
Sean McBride
4cb7c355b4
chore: refactor out u32
5 years ago
Sean McBride
eca987ccb4
fix: correct valgrind errors
5 years ago
Sean McBride
0eb474a8d7
chore: replace app header guards w pragma once
5 years ago
Sean McBride
29201f737d
docs: Use style guide format for comments
5 years ago
Sean McBride
c0d82db22b
fix: Correct memory leak and general cleanup
5 years ago
Sean McBride
83ee42e89b
chore: break up runtime and worker_thread
5 years ago
Sean McBride
d42370c357
chore: simplify sandbox_allocate
5 years ago
Sean McBride
6a7bbc2e97
feat: add deadline logic
5 years ago
Sean McBride
34d91cfa21
refactor: wrap existing request queue
5 years ago
phani
7ff05b9d73
making it work for aarch64 - seem to work on RPi
...
* changes to be fully tested!
* cas etc needs to be implemented for aarch64
5 years ago
Sean McBride
a70a83326c
chore: de-dunder worker_thread
5 years ago
Sean McBride
ba032a5905
chore: de-dunder runtime
5 years ago