34 Commits

Author SHA1 Message Date
Yang Liu
926e4b2da8
[DYNAREC] Added ranged Dynablock dump (#2570) 2025-04-24 10:37:24 +02:00
ptitSeb
d7eb87129e [DYNAREC] Introduce BOX64_DYNAREC_X87DOUBLE=2 to handle Low Precision x87 ([ARM64_DYNAREC] only for now) 2025-04-16 14:53:54 +02:00
ptitSeb
8c991cb676 [DYNAREC] Better handling of self-loop and added CALLRET=2 settings (ARM64 only, RV64 and LA64 todo) 2025-04-09 15:19:45 +02:00
Yang Liu
8b75020036
[DOCS] Added ranged gdbjit documentation (#2440) 2025-03-17 08:09:39 +01:00
ptitSeb
1af85c69a1 [DYNAREC] Introduced DYNAREC_DIRTY=2 and changed a profile to use it 2025-03-12 14:39:07 +01:00
ptitSeb
7ba0e7a055 [DOC] Fixed default for strongmem in docs 2025-03-06 20:03:08 +01:00
ptitSeb
6b7afd7f8e [DOCS] Fixed BIGBLOCK is 2 by default now 2025-01-31 14:30:19 +01:00
Yang Liu
0b632afbfe
[DOCS] Auto-generated USAGE.md and box64.pod (#2283) 2025-01-22 11:56:31 +01:00
ptitSeb
8432f7d8e2 [DYNAREC] Introduce BOX64_DYNAREC_DIRTY and some profile to use it 2025-01-15 18:24:54 +01:00
ptitSeb
86211e5970 [USAGE] Added some missing settings in documentation 2025-01-10 14:49:48 +01:00
Hagb (Junyu Guo 郭俊余)
653a67c8ad
Port rounding of some x87 instructions from Box86 (#2242)
* Port rounding of some x87 instructions from Box86

Ported from https://github.com/ptitSeb/box86/pull/951. The original pull
request and this commit also contain some improvements on precision of
`F2XM1` and `FYL2XP1`.

* Run fpu_rounding test with dynarec only for ARM64

They have been implemented on dynarec only for ARM64.
2025-01-08 15:34:15 +01:00
Leslie Zhai
89713993cb
[DYNAREC] Implement perf map (#2212)
* [DYNAREC] Implement perf map

* [DYNAREC] Use function name as the Symbol
2024-12-26 14:43:19 +01:00
Yang Liu
946da43038
[LA64_DYNAREC] Fixed some LBT path issues (#2193) 2024-12-23 11:32:35 +01:00
Yang Liu
ea13414083
[GDBJIT] Unified the experience for all the backends (#2183) 2024-12-21 16:20:48 +01:00
Yang Liu
47f5fe7caf
[GDBJIT] Show x64pc in gdb, also added documentation (#2163)
* [GDBJIT] Show x64pc in gdb

* Add env. variable and documentation

* typo

* oops
2024-12-18 08:11:09 +01:00
Yang Liu
84608fc581
[ARM64_DYNAREC] Added DYNAREC_PAUSE option for hint instructions (#2070)
* [ARM64_DYNAREC] Added DYNAREC_PAUSE option for hint instructions

* Use sevl for wfe

* Add docs

* Fix typo

* use switch case
2024-11-25 11:28:19 +01:00
Yang Liu
9757d1b67a
[ARM64_DYNAREC] More optimizations on strongmem emulation (#2051) 2024-11-20 18:59:20 +01:00
Yang Liu
fa432bb9d1
[ARM64_DYNAREC] Added weakbarrier=2 to disable last write barriers (#2049) 2024-11-19 21:22:55 +01:00
Yang Liu
81e4e26dc5
[ARM64_DYNAREC] Re-enable weakbarrier for dmb.ishst (#2048) 2024-11-19 19:59:43 +01:00
Yang Liu
4e63b82f5e
[CI] Refactored CI (#1795)
* [CI] Enable Box32 tests on LA64

* upgrade QEMU

* [COSIM] Removed thread-safe tests

* Use regular cosim in CI

* [CI] Simplified "Test Box64"

* exclude certain tests when testing with cosim

* review

* box64.pod too
2024-09-05 11:07:27 +02:00
Yang Liu
b34a50b381
[X64LIBS] Changed x86/x64 libs install directory to prevent conflicts (#1791)
* [X64LIBS] Changed x86/x64 libs install directory to prevent conflicts

* Update pressure_vessel
2024-09-04 14:13:58 +02:00
WANG Guidong
9beb745765
[RV64_DYNAREC] Fix some typos in docs and dynarec/rv64 (#1758)
* [Typo] fix some typo in docs and dynarec/rv64

* [Typo] fix some typo in docs and dynarec/rv64

* [Typo] fix some typo in dynarec/rv64

* [Typo] fix some typo in dynarec/rv64

* [Typo] fix some typo in docs
2024-08-26 08:19:06 +02:00
josch
dfc60e8bf1
fix some spelling (#1668) 2024-07-10 11:06:02 +02:00
Yip Coekjan
b5c0a857ca
Fix typo on box64 config file (#1533) 2024-05-25 15:02:32 +02:00
Yip Coekjan
ab9f848dcd
Fix unclosed item list (#1532) 2024-05-25 13:57:35 +02:00
Yang Liu
86e9a38384
[COSIM] Added thread-safe tests (#1477)
* [COSIM] Added thread-safe tests

* Added more notest

* Run cosim in CI

* Disable tests for RISC-V for now

* Simplify

* Initialize notest
2024-04-30 16:36:48 +02:00
josch
508a153973
When BOX64_VERSION is set, just print the version and exit (#1238)
When set, box64 will only print its version and then exit. This option
is analogous to QEMU_VERSION used by binfmt_misc emulation of qemu-user.
Its purpose is the same: provide a way to soft-disable binfmt_misc
emulation as well as for identifying box64 as the registered binfmt_misc
emulator.

This commit enables adding support for box64 to the arch-test utility.
With this change, arch-test is able to soft-disable box64 as the x86_64
emulator in the same way as it does this for qemu and wine already.
Without this change, arch-test will report an architecture as natively
executable by the processor, disregarding that it actually gets emulated
by box64.

Furthermore, this commit enables identifying box64 as the currently
registered emulator for x86_64. This way, applications that know that
their emulation requirements cannot work with box64 can add a check to
find out that it is box64 doing the emulation and are able to print a
helpful error message.

Closes: #1237
2024-01-31 18:29:34 +01:00
Tristan Morgan
499492e10a
Remove FASTPAGE/HOTPAGE docs, related to #1180 (#1181) 2024-01-02 08:09:04 +01:00
Yang Liu
6ad9435b4d
[DYNAREC_RV64] Fixed BTS BTR BTC for zbs extension (#1084) 2023-11-26 16:46:21 +01:00
ptitSeb
c2680fd0a7 Added BOX64_FUTEX_WAITV, on by default expect for BAD_SIGNAL build 2023-11-10 15:05:39 +01:00
ptitSeb
cc661c7549 Added BOX64_INPROCESSGPU setting (helps Heroic 2.10 at least) 2023-11-05 14:23:54 +01:00
Yang Liu
87bf751b11
[INTERP] Fix fpu_round (#1030)
* [INTERP] Fix fpu_round

* Should be working this time

* Handling wrappedlibm

* Format

* Fix loongarch

* Make it optional

* Fix android build
2023-10-25 14:14:11 +02:00
ptitSeb
9f75f28e7a [DYNAREC] Added BOX64_DYNAREC_TEST to run interpeter and dynarec at the same time and compare states 2023-03-27 23:21:36 +02:00
josch
4fb126635c
add manual page in pod format (#641) 2023-03-27 08:42:28 +02:00