Fabian
ae4733a25e
Integration test: Boot from bzimage
2020-08-30 19:37:14 -05:00
Fabian
028e131ddb
Rename OnJSONLoaded & small refactor
2020-08-30 19:37:14 -05:00
Fabian
aea2409b1d
Ignore filesystem base when state image is provided
2020-08-30 19:37:14 -05:00
Fabian
e1ad19ed30
Update debian dockerfile (add mesa utils, networking tools, disable dhcpcd on boot)
2020-08-30 19:37:14 -05:00
Fabian
68c59d10a5
copy-to-sha256 and fs2json: Support for tar files, refactor debian-full script to not require root
2020-08-30 19:37:14 -05:00
Fabian
af0f153640
Refactor using new filesystem function
2020-08-30 19:37:14 -05:00
Fabian
3f79814e05
Detect initrd/bzimage in 9p filesystem and load before boot
2020-08-30 19:37:14 -05:00
Fabian
23a2ac9c44
Default to synchronous execution for nasm tests
2020-08-30 19:37:14 -05:00
Fabian
e94c30ef6f
Don't wrap text in SyncBuffer
2020-08-30 19:37:14 -05:00
Fabian
58695b1ddb
Quote variables properly
2020-08-30 19:37:14 -05:00
Fabian
9ffbba7bcd
Use bzimage loader for debian-full, remove ugly build script for the 9p boot hard drive image
2020-08-30 19:37:14 -05:00
Fabian
e1c6116a0f
Implement Linux kernel boot protocol, accept bzimage/initrd as boot configuration
2020-08-30 19:37:14 -05:00
Fabian
04d282c298
Firmware port: Pretend to be qemu, implement all indexes used by seabios
2020-08-30 19:37:14 -05:00
Fabian
753fcb25c7
Simplify multiboot buffer during init
2020-08-30 19:37:14 -05:00
Fabian
148be53525
Try fixing nasmtests hang for gdb 8.2
2020-08-30 19:37:14 -05:00
Fabian
e33c8a85ae
Remove fluxbox theme
2020-08-30 19:37:14 -05:00
Fabian
fe8d462b6c
Update readme
2020-08-30 19:36:45 -05:00
Fabian
8d6baff91c
Fix rustfmt
2020-08-30 19:29:54 -05:00
Fabian
e149b9d372
Remove unused doc generation scripts
2020-08-30 19:29:54 -05:00
Fabian
cb0ca91f58
Resolve some internal imports directly
2020-08-30 19:29:54 -05:00
Fabian
57b51d440d
nodejs: Prefer perf_hooks module over custom shim for performance.now
2020-08-30 19:29:54 -05:00
Fabian
2ee68c960a
Make --strip-debug configurable (for release builds)
2020-08-30 19:29:54 -05:00
Fabian
53bd41614f
Fix minor problem with Rust port of call_interrupt_vector
2020-08-30 19:29:54 -05:00
Fabian
7796d9dcb4
Clean up wasm loading, remove unused code for emscripten
2020-08-30 19:29:54 -05:00
Fabian
618062299d
Remove emscripten from docker test image
2020-08-30 19:29:54 -05:00
Fabian
5bcee471ca
Remove old C code
2020-08-30 19:29:54 -05:00
Fabian
b83ed1b7c1
Minor
2020-08-30 19:29:54 -05:00
Fabian
dd929f52c5
9p: Add create event, add file name to the read event
2020-08-30 19:29:54 -05:00
Fabian
fbdb4a28ea
Remove all uses of "for in"
2020-08-30 19:29:54 -05:00
Fabian
3b86889a99
Throw proper error
2020-08-30 19:29:54 -05:00
Fabian
a39d58d4e5
ne2k: Fix transfer of empty packet and start page after wrap-around
2020-08-30 19:29:54 -05:00
Fabian
28a6f1a84a
Add pit.dump
2020-08-30 19:29:54 -05:00
Fabian
efea556a10
Implement NetworkAdapter.change_proxy
2020-08-30 19:29:54 -05:00
Ernest Wong
44d54facb7
Filesystem: Remove remnants of file loader
2020-08-30 19:29:54 -05:00
Ernest Wong
c1729b7daf
Filesystem: Don't modify local copy of filedata after set_data
...
While the original code would've worked for MemoryFileStorage, it will
not work for FileStorages that clone the data before saving (e.g.
IndexedDBFileStorage) as local changes won't be reflected onto the
storage class.
2020-08-30 19:29:54 -05:00
Ernest Wong
6fe226eec9
Filestorage: Reuse write-to-indexeddb logic
2020-08-30 19:29:54 -05:00
Ernest Wong
27a825dce3
Filestorage: Preserve key names when writing into indexeddb
2020-08-30 19:29:54 -05:00
Ernest Wong
a0c984dc8d
Filesystem: Introduce IndexedDBFileStorage
...
Uses MemoryFileStorage as a fallback when:
- v86 is used in a browserless environment, e.g. NodeJS
- browser doesn't support indexedDB
- opening indexedDB fails
- existing database is a newer version
- existing database is an old version and is under use - blocking
current v86 instance to connect to it.
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
595d6dca55
Filesystem: Refactor inodedata accesses to async methods
...
The "// jshint ignore:line" comments are pretty messy, so squint your eyes.
They're systematically placed, so we can regex it out when jshint's
new version finally arrives.
Using async/await instead of callbacks due to callback hell, and it also
helps minimising the diff)
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
Amaan Cheval
b6b55e5644
cpu: Refactor get_tss_stack_addr to simplify things
2020-08-30 19:29:54 -05:00
Amaan Cheval
0bf4e4faf6
cpu: Port get_tss_stack_addr to Rust
2020-08-30 19:29:54 -05:00
Amaan Cheval
de8411f184
Minor: Inline has_error_code
2020-08-30 19:29:54 -05:00
Amaan Cheval
3b94c5f9d3
cpu: Refactor to use error_code: Option<i32> for call_interrupt_vector
2020-08-30 19:29:54 -05:00
Amaan Cheval
ce090cfb4e
cpu: Inline into InterruptDescriptor and clean call_interrupt_vector
2020-08-30 19:29:54 -05:00
Amaan Cheval
f7f0f64f84
cpu: Use of_<T> functions to init descriptor and selector structs
2020-08-30 19:29:54 -05:00
Amaan Cheval
ae70cb7e4f
cpu: Minor refactor in call_interrupt_vector
2020-08-30 19:29:54 -05:00
Amaan Cheval
8ba3de34c1
cpu: Check for reserved zeros in interrupt descriptor
...
This lets us make our gate type validity check more readable
2020-08-30 19:29:54 -05:00
Amaan Cheval
aa789d4129
cpu: Follow call_interrupt_vector's specification more closely
2020-08-30 19:29:54 -05:00