diff options
| author | Yang Liu <liuyang22@iscas.ac.cn> | 2024-11-25 18:28:19 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-25 11:28:19 +0100 |
| commit | 84608fc581546076d6a34ae18c864eb8cde6ddae (patch) | |
| tree | c746c42a1af7b04b3ac0d0988297661aef9d0b77 /docs | |
| parent | c30a392fe863aca59a6be34c03c0fa226b576de8 (diff) | |
| download | box64-84608fc581546076d6a34ae18c864eb8cde6ddae.tar.gz box64-84608fc581546076d6a34ae18c864eb8cde6ddae.zip | |
[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
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/USAGE.md | 7 | ||||
| -rw-r--r-- | docs/box64.pod | 13 |
2 files changed, 18 insertions, 2 deletions
diff --git a/docs/USAGE.md b/docs/USAGE.md index c349d66c..260c4063 100644 --- a/docs/USAGE.md +++ b/docs/USAGE.md @@ -179,6 +179,13 @@ Tweaking the memory barriers to reduce the performance impact by STRONGMEM * 1 : Use weak barriers to have more performance boost * 2 : All 1. Plus disabled the last write barriers +#### BOX64_DYNAREC_PAUSE * +Enable/Disable x86 PAUSE emulation, which may help the performance of spinlocks +* 0 : Ignore x86 PAUSE instruction (Default.) +* 1 : Use YIELD to emulate x86 PAUSE instruction +* 2 : Use WFI to emulate x86 PAUSE instruction +* 3 : Use SEVL+WFE to emulate x86 PAUSE instruction + #### BOX64_DYNAREC_X87DOUBLE * Force the use of Double for x87 emulation * 0 : Try to use float when possible for x87 emulation (default, faster) diff --git a/docs/box64.pod b/docs/box64.pod index e1acdb2b..e450a4bd 100644 --- a/docs/box64.pod +++ b/docs/box64.pod @@ -291,7 +291,7 @@ Define Box64's Dynarec max allowed forward value when building Block. * 0 : No forward value. When current block end, don't try to go further even if there are previous forward jumps * XXX : Allow up to XXXX bytes of gap when building a Block after the block end to next forward jump (Default: 128) -=item B<BOX64_DYNAREC_STRONGMEM>=I<0|1|2> +=item B<BOX64_DYNAREC_STRONGMEM>=I<0|1|2|3> Enable/Disable simulation of Strong Memory model @@ -300,7 +300,7 @@ Enable/Disable simulation of Strong Memory model * 2 : All 1. plus memory barriers on SIMD instructions * 3 : All 2. plus more memory barriers on a regular basis -=item B<BOX64_DYNAREC_WEAKBARRIER>=I<0|1> +=item B<BOX64_DYNAREC_WEAKBARRIER>=I<0|1|2> Tweaking the memory barriers to reduce the performance impact by STRONGMEM @@ -308,6 +308,15 @@ Tweaking the memory barriers to reduce the performance impact by STRONGMEM * 1 : Use weak barriers to have more performance boost * 2 : All 1. Plus disabled the last write barriers +=item B<BOX64_DYNAREC_PAUSE>=I<0|1|2|3> + +Enable/Disable x86 PAUSE emulation, which may help the performance of spinlocks + + * 0 : Ignore x86 PAUSE instruction (Default.) + * 1 : Use YIELD to emulate x86 PAUSE instruction + * 2 : Use WFI to emulate x86 PAUSE instruction + * 3 : Use SEVL+WFE to emulate x86 PAUSE instruction + =item B<BOX64_DYNAREC_X87DOUBLE>=I<0|1> Force the use of Double for x87 emulation |