mirror of
https://github.com/ptitSeb/box64.git
synced 2025-05-09 00:21:32 +08:00
[DYNAREC_RV64] Fixed BTS BTR BTC for zbs extension (#1084)
This commit is contained in:
parent
e853892282
commit
6ad9435b4d
@ -52,7 +52,7 @@ Only on build with trace enabled. Trace allow the logging of all instruction exe
|
||||
* 0xXXXXXXX-0xYYYYYYY : Trace only between the 2 addresses.
|
||||
|
||||
#### BOX64_TRACE_INIT *
|
||||
Use BOX64_TRACE_INIT instead of BOX_TRACE to start trace before the initialisation of libraries and the running program
|
||||
Use BOX64_TRACE_INIT instead of BOX64_TRACE to start trace before the initialisation of libraries and the running program
|
||||
* 0 : No trace. (Default.)
|
||||
* 1 : Trace enabled. The trace start with the initialisation of all depending libraries is done.
|
||||
|
||||
|
@ -151,7 +151,7 @@ Only on build with trace enabled. Trace allow the logging of all instruction exe
|
||||
|
||||
=item B<BOX64_TRACE_INIT>=I<0|1>
|
||||
|
||||
Use B<BOX64_TRACE_INIT> instead of B<BOX_TRACE> to start trace before the
|
||||
Use B<BOX64_TRACE_INIT> instead of B<BOX64_TRACE> to start trace before the
|
||||
initialization of libraries and the running program
|
||||
|
||||
* 0 : No trace. (Default.)
|
||||
|
@ -1045,6 +1045,7 @@ uintptr_t dynarec64_0F(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
|
||||
ANDI(xFlags, xFlags, ~1);
|
||||
OR(xFlags, xFlags, x4);
|
||||
ADDI(x3, xZR, 1);
|
||||
ANDI(x2, gd, rex.w ? 0x3f : 0x1f);
|
||||
SLL(x3, x3, x2);
|
||||
OR(ed, ed, x3);
|
||||
if (wback) {
|
||||
@ -1190,6 +1191,7 @@ uintptr_t dynarec64_0F(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
|
||||
ANDI(xFlags, xFlags, ~1);
|
||||
OR(xFlags, xFlags, x4);
|
||||
ADDI(x5, xZR, 1);
|
||||
ANDI(x2, gd, rex.w ? 0x3f : 0x1f);
|
||||
SLL(x5, x5, x2);
|
||||
NOT(x5, x5);
|
||||
AND(ed, ed, x5);
|
||||
@ -1351,6 +1353,7 @@ uintptr_t dynarec64_0F(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
|
||||
ANDI(xFlags, xFlags, ~1);
|
||||
OR(xFlags, xFlags, x4);
|
||||
ADDI(x3, xZR, 1);
|
||||
ANDI(x2, gd, rex.w ? 0x3f : 0x1f);
|
||||
SLL(x3, x3, x2);
|
||||
XOR(ed, ed, x3);
|
||||
if (wback) {
|
||||
|
@ -1087,7 +1087,7 @@ void PrintHelp() {
|
||||
printf(" BOX64_TRACE with 1 to enable x86_64 execution trace\n");
|
||||
printf(" or with XXXXXX-YYYYYY to enable x86_64 execution trace only between address\n");
|
||||
printf(" or with FunctionName to enable x86_64 execution trace only in one specific function\n");
|
||||
printf(" use BOX64_TRACE_INIT instead of BOX_TRACE to start trace before init of Libs and main program\n\t (function name will probably not work then)\n");
|
||||
printf(" use BOX64_TRACE_INIT instead of BOX64_TRACE to start trace before init of Libs and main program\n\t (function name will probably not work then)\n");
|
||||
printf(" BOX64_TRACE_EMM with 1 to enable dump of MMX registers along with regular registers\n");
|
||||
printf(" BOX64_TRACE_XMM with 1 to enable dump of SSE registers along with regular registers\n");
|
||||
printf(" BOX64_TRACE_COLOR with 1 to enable detection of changed general register values\n");
|
||||
|
Loading…
x
Reference in New Issue
Block a user