about summary refs log tree commit diff stats
path: root/docs
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2024-11-25 18:28:19 +0800
committerGitHub <noreply@github.com>2024-11-25 11:28:19 +0100
commit84608fc581546076d6a34ae18c864eb8cde6ddae (patch)
treec746c42a1af7b04b3ac0d0988297661aef9d0b77 /docs
parentc30a392fe863aca59a6be34c03c0fa226b576de8 (diff)
downloadbox64-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.md7
-rw-r--r--docs/box64.pod13
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