Commit graph

215 commits

Author SHA1 Message Date
Fabian 497f618cab Merge branch 'wasm' into master 2021-01-03 02:07:20 -06:00
Fabian 8107f26f10 xxx: Add fallback for safari 2021-01-01 21:51:17 -06:00
Fabian 1b4b12d371 Minor 2020-12-31 19:14:34 -06:00
Fabian 1d2be8a04f Provide option to preserve mac address from state image (for Windows 98) 2020-12-31 19:14:34 -06:00
Fabian 0812b61d30 Simplify wasm module loading and instantiating code 2020-12-31 19:14:34 -06:00
Fabian 8440f5af11 Async access to image files using file parts instead of range header (allows compression) 2020-12-31 19:14:34 -06:00
Fabian a238684de6 Store instruction counter in local, use it for loop limits 2020-12-31 19:14:33 -06:00
Fabian fd3077cc1b Make acpi setting work in release build 2020-12-31 19:14:33 -06:00
Fabian d34817d45b Port lsl/lar/verr/verw to rust 2020-12-31 19:14:33 -06:00
Fabian 7a0d213429 Proper xtermjs integration (#172) 2020-12-31 19:14:33 -06:00
Fabian 0988d030fa Make apci+apic configurable at runtime (#247, #332) 2020-12-31 19:14:32 -06:00
Fabian c05ea1465f Remove unused wasm imports 2020-12-31 19:14:32 -06:00
Fabian 906c934945 Remove Rust import panic_bounds_check bug workaround 2020-12-31 19:14:32 -06:00
Fabian 7826474fed Don't create pending jit entries 2020-12-31 19:14:32 -06:00
Fabian 9ccef87b88 Port arpl to rust 2020-12-31 19:14:31 -06:00
Fabian 596ac268b8 Remove calls to dbg_trace from release builds 2020-12-31 19:14:31 -06:00
Fabian 3b5aff7d43 Port far_ret to Rust 2020-12-31 19:14:31 -06:00
Fabian d735d5d34e Port far_jump to Rust 2020-12-31 19:14:31 -06:00
Fabian cd65ecca9e Optimise safe_write* by using tlb info to skip dirty page check 2020-12-31 19:14:31 -06:00
Fabian 745abd3e2a Add emulator.automatically 2020-12-31 19:14:30 -06:00
Fabian 5e48b2da83 Workaround for Rust compiler bug 2020-12-31 19:14:30 -06:00
Fabian 5bfd56571c Delete more JS (port lss and enter) 2020-12-31 19:14:30 -06:00
Fabian df46ffb598 Less JS, more happiness 2020-12-31 19:14:30 -06:00
Fabian e1f8a563ad Simplify (remove c_api) 2020-12-31 19:14:30 -06:00
Fabian 81a43f8a88 Don't call is_osize_32 from far_return and far_jump 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 d5c9b29942 Upgrade jshint 2020-12-31 19:14:29 -06:00
Fabian 48a9847d16 s/oxide// 2020-12-31 19:14:29 -06:00
Fabian 1665e9b358 Fix instruction counter wrap-around 2020-12-31 19:14:29 -06:00
github-jane-doe 15ff296628
Typos (#371)
Fix typos
2020-10-04 19:46:41 +02:00
Fabian 47e91de601 Remove has_rand_int, always require get_rand_int to be available 2020-08-30 19:37:15 -05:00
Fabian 0e16983dd3 Handle case when wasm table is full (fixes #35)
Also fix jit_empty_cache when callbacks are pending (fixes #53)

This is also a preparation for setting WASM_TABLE_SIZE to a low value to
work around memory limitations in browsers.
2020-08-30 19:37:15 -05:00
Ernest Wong c928964562 Minor: Tidy quotes and spacing 2020-08-30 19:37:15 -05:00
Ernest Wong d6bfa143ed Filestorage: Don't rely on errors to select type of storage 2020-08-30 19:37:15 -05:00
Ernest Wong 83b283ebbe Filestorage: Replace the two server classes with a wrapper class
Simplifies both the filestorage.js code as well as the starter.js code
that uses these FileStorage classes.

Now, the ServerFileStorageWrapper decorates the other FileStorage
classes by loading from the server when the file is not available.

Moreover, the previous starter.js was incorrectly passing the `baseurl`
parameter (it was passing it when baseurl was not defined nor needed).
2020-08-30 19:37:15 -05:00
Ernest Wong c2dcb440dd Filestorage: Refactor fallback and load-from-server
Fallback logic is moved to the caller's responsibility.

Empty FileStorages and FileStorages that load from the server are
separated into different classes. This is to avoid faults where the
caller of the constructor forgets to pass in a `baseurl` parameter and
leads to some confusing bug.
2020-08-30 19:37:15 -05:00
Ernest Wong 6a06a7108a Tidy: file_storage snake case and interface naming convention 2020-08-30 19:37:15 -05:00
Amaan Cheval 1d5e0052b4 cpu: Port iret, iret16, iret32 to Rust 2020-08-30 19:37:15 -05:00
Amaan Cheval 8aa06b54e0 cpu: Port switch_cs_real_mode to Rust 2020-08-30 19:37:15 -05:00
Fabian d2f86799e9 Simplify load_from_json: Accept json object directly, don't run asynchronously 2020-08-30 19:37:14 -05:00
Fabian f7c22266c9 initrd/bzimage detection: Ignore case 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 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 e94c30ef6f Don't wrap text in SyncBuffer 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 753fcb25c7 Simplify multiboot buffer during init 2020-08-30 19:37:14 -05:00
Fabian 7796d9dcb4 Clean up wasm loading, remove unused code for emscripten 2020-08-30 19:29:54 -05:00