]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
mips: Change client request convention for nanoMIPS
authorAleksandar Rikalo <aleksandar.rikalo@rt-rk.com>
Tue, 14 Jan 2020 12:07:11 +0000 (12:07 +0000)
committerPetar Jovanovic <mips32r2@gmail.com>
Tue, 14 Jan 2020 12:07:11 +0000 (12:07 +0000)
Use a7/t0 register pair for for client requests. The same convention is
used throughout the rest of the code, as well as for mips32/64.

VEX/priv/guest_nanomips_toIR.c

index 67f2313d5f11bcfb9d94d2931884a2d855f5fb3b..373ba5f9a0378e0392228831a2e191bf60da70a6 100755 (executable)
@@ -2987,15 +2987,15 @@ static Bool check_for_special_requests_nanoMIPS(DisResult *dres,
        getUInt(code + 8) == word3 && getUInt(code + 12) == word4) {
       /* Got a "Special" instruction preamble. Which one is it? */
       if (getUInt(code + 16) == 0x218C6290 /* or t0, t0, t0 */ ) {
-         /* $a0 = client_request ( $a1 ) */
-         DIP("a0 = client_request(a1)");
+         /* $a7 = client_request ( $t0 ) */
+         DIP("a7 = client_request(t0)");
          dres->jk_StopHere = Ijk_ClientReq;
          dres->whatNext    = Dis_StopHere;
          dres->len = 20;
          return True;
       } else if (getUInt(code + 16) == 0x21AD6A90 /* or t1, t1, t1 */ ) {
-         /*  $a0 = guest_NRADDR */
-         DIP("a0 = guest_NRADDR");
+         /*  $a7 = guest_NRADDR */
+         DIP("a7 = guest_NRADDR");
          putIReg(11, IRExpr_Get(offsetof(VexGuestMIPS32State, guest_NRADDR),
                                 Ity_I32));
          dres->len = 20;