Commit graph

4061 commits

Author SHA1 Message Date
Fabian 6e0ab79d4f Fix mask sign-extended 8-bit immediate to 16-bit for cmp (fixes #726) 2022-09-06 00:26:39 +09:00
Fabian 36305131dd Test for postgres segfault 2022-09-06 00:26:39 +09:00
Fabian 88d205396d Remove some unused pub annotations 2022-09-06 00:26:39 +09:00
Fabian a33423c2ea fbstp: test for input that doesn't fit into i64 2022-09-06 00:26:39 +09:00
Joey Mezzacappa cb1c3211e9
Fix V86.destroy() with xterm.js (#720)
`V86.destroy()` was throwing an error due to `SerialAdapterXtermJS`
having no `destroy()` method.
2022-08-15 22:10:49 +02:00
Joey Mezzacappa 62d967bce0
Wait for emulation to stop when destroying (#721)
In some environments, the "emulator-stopped" event did not always fire
when calling the `destroy()` method. This waits for emulation to finish
stopping before continuing with the rest of the destructor.

When stopping the emulator with `.stop()`, the `v86` instance's state
would follow these transitions:

1. Before calling `.stop()`:
   ```js
   {
     running: true,
     stopped: false
   }
   ```
2. Immediately after calling `.stop()`:
   ```js
   {
     running: true,
     stopped: true
   }
   ```
3. After the emulator has finished stopping:
   ```js
   {
     running: false,
     stopped: false
   }
   ```

It was not immediately obvious how properties named `running` and
`stopped` could ever have the same values. This commit renames `stopped`
to `stopping` so it is slightly easier to understand while debugging.
2022-08-15 22:09:45 +02:00
Fabian 7ab26e175e upgrade CI image to ubuntu-22.04 2022-08-02 21:40:57 +09:00
Fabian 64f5624b7e fix string tests 2022-08-02 21:40:57 +09:00
Fabian f1ebdb1c72 implement fbstp (close #708) 2022-08-02 21:40:57 +09:00
Fabian cf31709ec5 Add floppy command for modern linux 2022-08-02 21:40:57 +09:00
Fabian ba7c86dc78 Add tests for #463 2022-08-02 21:40:57 +09:00
Fabian 6c04f68396 GC SpeakerAdapter 2022-08-02 21:40:57 +09:00
Fabian c4597d78aa Add test for emulator getting garbage-collected 2022-08-02 21:40:57 +09:00
Fabian d28c77faa2 don't send mouse events when execution is paused 2022-08-02 21:40:57 +09:00
Fabian 5c4023f17d Some comments for further improvements 2022-08-02 21:40:57 +09:00
Fabian 966ba9210b Downgrade closure compiler 2022-08-02 21:40:57 +09:00
Fabian 3e88f3d012 Don't use h(...).slice(2) 2022-08-02 21:40:57 +09:00
Fabian e1d1f22378 Avoid loading partfiles that are already present 2022-08-02 21:40:57 +09:00
Fabian 2a73363089 Remove useless argument 2022-08-02 21:40:57 +09:00
Fabian d4831d3b10 Remove some unncessary quoting 2022-08-02 21:40:57 +09:00
Fabian 14bab44a2d Use larger chunksize for big images, significantly improving load performance (see #710) 2022-08-02 21:40:57 +09:00
Fabian d2ca7b1afc Implement alternative format for partfiles 2022-08-02 21:40:57 +09:00
Fabian d363430b05 refactor partfile loading, add read cache 2022-08-02 21:40:57 +09:00
Fabian d92ea3f9de words 2022-08-02 21:40:57 +09:00
Fabian 4bcaf1c3c2 Give downloaded file a more useful name 2022-08-02 21:40:57 +09:00
Fabian 1f614e831e refactor packet logging 2022-08-02 21:40:57 +09:00
Fabian ee70cd950e wasm trace: log to cpu level 2022-08-02 21:40:57 +09:00
Fabian 075c773eb4 mac address translation: make copy 2022-08-02 21:40:57 +09:00
Fabian c26c1a8c97 apply mac address translation to dhcp.clientidentifier 2022-08-02 21:40:57 +09:00
Fabian 00d2b35222 Allow capturing network traffic and loading it in wireshark 2022-08-02 21:40:57 +09:00
Fabian cdfc8a0f1f Improve hex_dump 2022-08-02 21:40:57 +09:00
Fabian 8e447c6bc5 Add android-x86 to front page, fix #683 2022-08-02 21:40:57 +09:00
Fabian 590d1c08d1 Fix failing assertion in debug mode in OpenBSD after pci change 2022-08-02 21:40:57 +09:00
Fabian c8540d1113 Remove get_regs_short in non-debug mode 2022-08-02 21:40:57 +09:00
Fabian f33c7ca70b Crude mac address translation, fixes networking in Windows 2000 and SerenityOS 2022-08-02 21:40:57 +09:00
Fabian bca3648fd2 Move hex_dump, add NE2K_LOG_PACKETS 2022-08-02 21:40:57 +09:00
Fabian c1bd7076bd Add latest SerenityOS without patches (224ac1a30) (#299) 2022-08-02 21:40:57 +09:00
Fabian cd384b9b0c ide: map at isa ports too (for serenityos, #299) 2022-08-02 21:40:57 +09:00
Fabian 81f8976500 pci: Don't allow mapping to isa ports 2022-08-02 21:40:57 +09:00
Fabian 923d4148d0 Add experimental server for user-uploaded images 2022-08-02 21:40:57 +09:00
Fabian c7ed5f8dc1 Update windows 2000 after vga pci revision
The vga devices was not recognized any more after changing the pci
revision. The image has the vbe driver reinstalled.
2022-08-02 21:40:57 +09:00
Fabian 084575179b Allow text selection, fixes #688 2022-08-02 21:40:57 +09:00
Fabian 04a0cf4b5f Avoid logging on some noisy ports 2022-08-02 21:40:57 +09:00
Fabian 52163a1fdf vga: set pci revision to 0 to avoid falsely advertising mmio registers (for serenityos, #299) 2022-08-02 21:40:57 +09:00
Fabian 68256bc693 ne2k: Remove invalid assertions accessing the reset register when pg!=0 2022-08-02 21:40:57 +09:00
Christian Stewart cc073388ed
readme: add SkiffOS config link (#714)
SkiffOS is a configuration layering system for Buildroot.

It supports re-targeting system image configs to different hardware.

The linked configuration can be combined with other layers to deploy Docker and
other types of applications to the v86 emulator.

The configuration fragments slim down the Buildroot and Kernel systems &
switch off any unnecessary features.

https://github.com/skiffos/SkiffOS/tree/master/configs/browser/v86

Signed-off-by: Christian Stewart <christian@paral.in>
2022-07-27 15:12:25 +02:00
Nitin Tejuja 0615be5d60
Fixed issue #632 async/await (#633)
Co-authored-by: Fabian <copy@copy.sh>
2022-07-25 14:55:07 +02:00
hello-smile6 b96665285b
Allow sharing files with guest using UI, even with custom profile (#702)
The 9p filesystem is always accessible by the guest, even if the UI is hidden. This will make the file picker UI be shown when needed
2022-07-14 10:26:13 +02:00
hello-smile6 a50c6e2bbc
Connect guest network adapters (#704)
You'll still need to assign a static IP to each VM, but they can communicate!
2022-07-14 10:20:56 +02:00
Fabian f7e7777dc5 Don't build browser files in release tests 2022-07-11 12:36:55 +09:00