From: Aleksandar Rikalo Date: Tue, 14 Jan 2020 12:07:11 +0000 (+0000) Subject: mips: Change client request convention for nanoMIPS X-Git-Tag: VALGRIND_3_16_0~144 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0fb2f59f57df506b39bd6959d69b87aa4d4143aa;p=thirdparty%2Fvalgrind.git mips: Change client request convention for nanoMIPS 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. --- diff --git a/VEX/priv/guest_nanomips_toIR.c b/VEX/priv/guest_nanomips_toIR.c index 67f2313d5f..373ba5f9a0 100755 --- a/VEX/priv/guest_nanomips_toIR.c +++ b/VEX/priv/guest_nanomips_toIR.c @@ -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;