Fabian
caf1a2fc4a
Add v86_all_debug.js
2021-01-01 20:19:30 -06:00
Fabian
e27faaee75
Create build directory
2020-12-31 19:14:34 -06:00
Fabian
b9cd08f041
Move qemu tests files to build directory
2020-12-31 19:14:34 -06:00
Fabian
39d78a950b
O3
2020-12-31 19:14:34 -06:00
Fabian
7d1c996ab5
Update closure compiler version
2020-12-31 19:14:34 -06:00
Fabian
aa62033e9d
Enable wasm bulk memory instructions
2020-12-31 19:14:33 -06:00
Fabian
f8206859ca
Add with-profiler targets
2020-12-31 19:14:33 -06:00
Fabian
b34d4d95b7
Add zstd
2020-12-31 19:14:33 -06:00
Fabian
b96f984963
Use softfloat f80 for x87 fpu
...
This fixes several long-standing issues with x87 float emulation, in particular:
- 80 bit precision floats, fixing Haiku after its switch to musl libc (hrev53728)
- the precision bit in the x87 control word
- fucom and fucomi (unordered comparisons)
- aliasing of x87 and mmx registers
- rounding during conversion to integers
Operations that are not implemented in softfloat were implemented by
converting to f64 (sine, pow, ln, etc.) and thus operate with lower
precision.
Softfloat has been combined into a single file using a script [0] and checked into the repository.
[0] 57df21e2eb/contrib/single_file_libs/combine.sh
2020-12-31 19:14:32 -06:00
Fabian
1de3592cd6
Add qemu release tests to all-tests target
2020-12-31 19:14:32 -06:00
Fabian
99d66c2e45
Refactor creation of integration test fs
2020-12-31 19:14:32 -06:00
Fabian
7be85004c6
Remove tlb_data from global pointers
2020-12-31 19:14:32 -06:00
Fabian
c3e0bd1c8c
Clean up makefile
2020-12-31 19:14:32 -06:00
Fabian
9b79278bb9
Much simpler implementation of jit cache
2020-12-31 19:14:32 -06:00
Fabian
8646ee00a8
Clean up
2020-12-31 19:14:31 -06:00
Fabian
dca4e7bb1e
Add qemu release test
2020-12-31 19:14:31 -06:00
Fabian
b42c7bae30
make all-tests: Move expect-tests to the end
2020-12-31 19:14:31 -06:00
Fabian
f0a85b4d5b
Remove npm
2020-12-31 19:14:31 -06:00
Fabian
9853bdb868
Merge 16-bit and 32-bit 0f tables (saves 200kB on v86.wasm)
2020-12-31 19:14:31 -06:00
Fabian
6298da7d34
Remove indirect function table patching
2020-12-31 19:14:30 -06:00
Fabian
8f231431fc
Simplify
2020-12-31 19:14:30 -06:00
Fabian
d31e0edb5a
Improved code generation for jitted memory reads and writes
2020-12-31 19:14:30 -06:00
Fabian
c406d65317
Add kvm-unit-test target with release mode (for benchmarks)
2020-12-31 19:14:30 -06:00
Fabian
4e68de9c4d
Test reset/restart
2020-12-31 19:14:30 -06:00
Fabian
ea50e29e5f
Remove dead & improve
2020-12-31 19:14:29 -06:00
Fabian
d0fb1a78d9
Experimental xterm.js support ( #172 , #227 )
2020-12-31 19:14:29 -06:00
Fabian
04d9a6102c
Fix file being created in PWD when compiling kvm-unit-test
2020-12-31 19:14:29 -06:00
Fabian
48a9847d16
s/oxide//
2020-12-31 19:14:29 -06:00
Fabian
c97301842e
Put jit_cache_array and jit_page_first_entry into global state, reduces the size of the .wasm files by 8MB because for some reason the rust compiler decides to put them into the data section
2020-12-31 19:14:29 -06:00
Fabian
941208c948
Remove defunct test coverage
2020-12-31 19:14:29 -06:00
Fabian
c994dbc08c
Fix spurious </a> in index.html
2020-12-31 19:14:29 -06:00
Fabian
9efade88ee
Fix compilation with latest closure compiler
2020-12-31 19:14:29 -06:00
Fabian
b3a3d930e3
make default makefile target the debug build
2020-12-31 19:14:29 -06:00
Fabian
753f67bfab
Makefile: Clean up and add all-tests target
2020-12-31 19:14:29 -06:00
Fabian
af5d01fff6
Makefile: Add tests-release target
2020-12-31 19:14:28 -06:00
Fabian
fc954cecea
Update libwabt (fix failing decoding of large generated modules)
2020-08-30 19:37:15 -05:00
Amaan Cheval
11831d1b60
Upcase strip_debug for consistency in Makefile
2020-08-30 19:37:15 -05:00
Ernest Wong
c273741405
Add tests for file storage chunking
2020-08-30 19:37:15 -05:00
Fabian
7a31922078
Add test for bzimage_initrd_from_filesystem
2020-08-30 19:37:15 -05:00
Fabian
92346f51ed
Add test for clean shutdown
2020-08-30 19:37:15 -05:00
Fabian
e1c6116a0f
Implement Linux kernel boot protocol, accept bzimage/initrd as boot configuration
2020-08-30 19:37:14 -05:00
Fabian
2ee68c960a
Make --strip-debug configurable (for release builds)
2020-08-30 19:29:54 -05:00
Ernest Wong
0a67e3532f
Filesystem: Introduce FileStorage class for server-loaded files
2020-08-30 19:29:54 -05:00
Ernest Wong
1a6f3cfef3
Compile from and to ECMASCRIPT_2017
...
- Want to use async/await features.
- We need modern web browsers to run Web Assembly anyway.
2020-08-30 19:29:54 -05:00
Fabian
e70e9dc4b2
Factor the conversion out of fpu_{load,store}_m80, add tests, fix the denormal number case
2020-08-30 19:29:54 -05:00
Fabian
27a374e4fd
Make warnings fatal in Rust test
2020-08-30 19:29:54 -05:00
Fabian
f1b50734c9
c2rust cleanup: Remove build system
2020-08-30 19:29:54 -05:00
Fabian
1faf8ccc86
Allocate memory via Rust instead of ahead-of-time
2020-08-30 19:29:53 -05:00
Fabian
01061dc4b6
The final Rust porting
...
This commit contains the final changes requires for porting all C code
to Rust and from emscripten to llvm:
- tools/wasm-patch-indirect-function-table.js: A script that rewrites
the wasm generated by llvm to remove the table limit
- tools/rust-lld-wrapper: A wrapper around rust-lld that removes
arguments forced by rustc that break compilation for us
- src/rust/cpu2/Makefile: A monstrosity to postprocess c2rust's output
- gen/generate_interpreter.js: Ported to produce Rust instead of C
- src/rust/*: A few functions and macros to connect the old Rust code
and the new Rust code
- src/*.js: Removes the loading of the old emscripten wasm module and
adapts imports and exports from emscripten to llvm
2020-08-30 19:29:53 -05:00
Awal Garg
2541789ccc
run rust tests with nightly toolchain
2020-08-30 19:29:53 -05:00