Commit graph

471 commits

Author SHA1 Message Date
Fabian 0988d030fa Make apci+apic configurable at runtime (#247, #332) 2020-12-31 19:14:32 -06:00
Fabian d896f58dfa state test: Add filesystem 2020-12-31 19:14:32 -06:00
Fabian faadca9f35 Update expect tests 2020-12-31 19:14:32 -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 e464427def Minor: Remove trailing newlines 2020-12-31 19:14:32 -06:00
Fabian 3e3ca2b556 Add some fpu tests 2020-12-31 19:14:32 -06:00
Fabian 18e7741f3f Enable some qemu fpu tests that were previously not working 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 14214fe113 Update expect tests 2020-12-31 19:14:32 -06:00
Fabian 6334e0965a Better message 2020-12-31 19:14:32 -06:00
Fabian ce1a742cb8 cmpxchg tests 2020-12-31 19:14:32 -06:00
Fabian 1f1474680b Update expect tests 2020-12-31 19:14:32 -06:00
Fabian b97c5661f5 Allow creating more than one nasmtest per instruction 2020-12-31 19:14:32 -06:00
Fabian 584ab0cca0 Support null segment #gp in jit mode (Windows 98 / Windows ME / QNX) 2020-12-31 19:14:32 -06:00
Fabian 143f74fd9f Fix benchmarks 2020-12-31 19:14:31 -06:00
Fabian 91b43687e7 Experiment support for synchronous compilation (only node) 2020-12-31 19:14:31 -06:00
Fabian 46cb7eb212 Accept expect tests (order of types changed) 2020-12-31 19:14:31 -06:00
Fabian d47f0125ef Update OS tests 2020-12-31 19:14:31 -06:00
Fabian bb529ccfec Add state functions to synchronous buffers 2020-12-31 19:14:31 -06:00
Fabian 5325856849 kvm-unit-test benchmark: Print millicycles 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 4e49468b7b Fix some minor fpu bugs and add more nasm tests 2020-12-31 19:14:30 -06:00
Fabian 32000594c1 nasmtests: Turn warnings into errors 2020-12-31 19:14:30 -06:00
Fabian fc3bf8583d nasmtests: Print newlines after invalid fpu registers 2020-12-31 19:14:30 -06:00
Fabian 0c97cf9a7c nasmtests: Reduce verbosity 2020-12-31 19:14:30 -06:00
Fabian 2b36795763 Rename only_{reg,mem} to skip_{mem,reg} (only relevant to tests these days) 2020-12-31 19:14:30 -06:00
Fabian 69238b96a7 Update expect tests 2020-12-31 19:14:30 -06:00
Fabian e498b4a1c5 Add expect test for STI 2020-12-31 19:14:30 -06:00
Fabian 073f2d03e9 Expect tests: Remove interactive mode 2020-12-31 19:14:30 -06:00
Fabian d0b04863f6 Accept expect test changes 2020-12-31 19:14:30 -06:00
Fabian 5ca991b929 Add ./tests/expect/run.js --accept-all as a nicer workflow to accept changes 2020-12-31 19:14:30 -06:00
Fabian 6187fc7cca Use assert over console.assert 2020-12-31 19:14:30 -06:00
Fabian 77dceb6d02 kvm-unit-test: Improve benchmark measuring 2020-12-31 19:14:30 -06:00
Fabian 1709974987 kvm-unit-test: Import some changes from upstream 2020-12-31 19:14:30 -06:00
Fabian 8a0e31da16 Update expect tests (inc32) 2020-12-31 19:14:30 -06:00
Fabian 4e68de9c4d Test reset/restart 2020-12-31 19:14:30 -06:00
Fabian 107c6fef36 Enable Windows 95 test 2020-12-31 19:14:30 -06:00
Fabian 03f4747c86 Fix integration test doesn't report segfaults 2020-12-31 19:14:30 -06:00
Fabian 8739e3f16b More integration tests (these were triggering the failing assertion fixed in the previous commit) 2020-12-31 19:14:30 -06:00
Fabian acb8ad5423 Avoid console.assert (doesn't throw) 2020-12-31 19:14:30 -06:00
Fabian 3a473aad79 Remove prefix handling from jit and exceptions 2020-12-31 19:14:30 -06:00
Fabian a73988a817 Make loop, loopz, loopnz and jcxz custom generated 2020-12-31 19:14:30 -06:00
Fabian 764879bad1 s/reg32s/reg32 2020-12-31 19:14:29 -06:00
Fabian ea50e29e5f Remove dead & improve 2020-12-31 19:14:29 -06:00
Fabian f156824ebc Haiku works 2020-12-31 19:14:29 -06:00
Fabian a5ae4b1146 Fix tests that were order-dependant 2020-12-31 19:14:29 -06:00
Fabian dcb40f6221 Full test: Update image paths 2020-12-31 19:14:29 -06:00
Fabian ae3a652333 jit_add_seg_offset: Assert that segment is not null 2020-12-31 19:14:29 -06:00
Fabian 292769d961 Full tests: Small improvements 2020-12-31 19:14:29 -06:00
Fabian 4cd6d74284 Test freebsd login 2020-12-31 19:14:29 -06:00