From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57275) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gdz1A-0005ii-2c for qemu-devel@nongnu.org; Mon, 31 Dec 2018 09:58:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gdz18-00044k-Qw for qemu-devel@nongnu.org; Mon, 31 Dec 2018 09:58:11 -0500 Received: from mx2.rt-rk.com ([89.216.37.149]:60630 helo=mail.rt-rk.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gdz18-0003rm-Hn for qemu-devel@nongnu.org; Mon, 31 Dec 2018 09:58:10 -0500 From: Aleksandar Markovic Date: Mon, 31 Dec 2018 15:56:22 +0100 Message-Id: <1546268200-26966-27-git-send-email-aleksandar.markovic@rt-rk.com> In-Reply-To: <1546268200-26966-1-git-send-email-aleksandar.markovic@rt-rk.com> References: <1546268200-26966-1-git-send-email-aleksandar.markovic@rt-rk.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PULL v2 26/44] disas: nanoMIPS: Comment the decoder of 'gpr3' gpr encoding type List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, amarkovic@wavecomp.com From: Aleksandar Markovic Comment the decoder of 'gpr3' gpr encoding type in nanoMIPS disassembler. Reviewed-by: Aleksandar Rikalo Signed-off-by: Aleksandar Markovic --- disas/nanomips.cpp | 51 ++++++++++++++++++++++++++++++++++++++++++++++++= --- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp index 2856645..30988f8 100644 --- a/disas/nanomips.cpp +++ b/disas/nanomips.cpp @@ -292,9 +292,54 @@ uint64 NMD::renumber_registers(uint64 index, uint64 = *register_list, =20 =20 /* - * these functions should be decode functions but the json does not have - * decode sections so they are based on the encode, the equivalent decod= e - * functions need writing eventually. + * NMD::decode_gpr_gpr3() - decoder for 'gpr3' gpr encoding type + * + * Map a 3-bit code to the 5-bit register space according to this patt= ern: + * + * 7 6 5 4 3 2 1 0 + * | | | | | | | | + * | | | | | | | | + * | | | =E2=94=94-----------------------=E2=94= =90 + * | | =E2=94=94-----------------------=E2=94= =90 | + * | =E2=94=94-----------------------=E2=94=90= | | + * =E2=94=94-----------------------=E2=94=90 = | | | + * | | | | | | | | + * =E2=94=8C-------=E2=94=98 | | | | = | | | + * | =E2=94=8C-------=E2=94=98 | | | = | | | + * | | =E2=94=8C-------=E2=94=98 | | = | | | + * | | | =E2=94=8C-------=E2=94=98 | = | | | + * | | | | | | | | + * 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 + * 3 2 1 0 + * + * Used in handling following instructions: + * + * - ADDIU[R1.SP] + * - ADDIU[R2] + * - ADDU[16] + * - AND[16] + * - ANDI[16] + * - BEQC[16] + * - BEQZC[16] + * - BNEC[16] + * - BNEZC[16] + * - LB[16] + * - LBU[16] + * - LH[16] + * - LHU[16] + * - LI[16] + * - LW[16] + * - LW[GP16] + * - LWXS[16] + * - NOT[16] + * - OR[16] + * - SB[16] + * - SH[16] + * - SLL[16] + * - SRL[16] + * - SUBU[16] + * - SW[16] + * - XOR[16] */ uint64 NMD::decode_gpr_gpr3(uint64 d) { --=20 2.7.4