[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 23/41] disas: nanoMIPS: Comment the decoder of 'gpr3'
From: |
Aleksandar Markovic |
Subject: |
[Qemu-devel] [PULL 23/41] disas: nanoMIPS: Comment the decoder of 'gpr3' gpr encoding type |
Date: |
Fri, 28 Dec 2018 10:25:30 +0100 |
From: Aleksandar Markovic <address@hidden>
Comment the decoder of 'gpr3' gpr encoding type in nanoMIPS
disassembler.
Reviewed-by: Aleksandar Rikalo <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
---
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,
/*
- * these functions should be decode functions but the json does not have
- * decode sections so they are based on the encode, the equivalent decode
- * 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 pattern:
+ *
+ * 7 6 5 4 3 2 1 0
+ * | | | | | | | |
+ * | | | | | | | |
+ * | | | └-----------------------┐
+ * | | └-----------------------┐ |
+ * | └-----------------------┐ | |
+ * └-----------------------┐ | | |
+ * | | | | | | | |
+ * ┌-------┘ | | | | | | |
+ * | ┌-------┘ | | | | | |
+ * | | ┌-------┘ | | | | |
+ * | | | ┌-------┘ | | | |
+ * | | | | | | | |
+ * 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)
{
--
2.7.4
- [Qemu-devel] [PULL 02/41] MAINTAINERS: target/mips: Add filter for mips in email subjects, (continued)
- [Qemu-devel] [PULL 02/41] MAINTAINERS: target/mips: Add filter for mips in email subjects, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 04/41] MAINTAINERS: Add Aleksandar Rikalo as a reviewer for MIPS content, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 07/41] target/mips: MXU: Add generic naming for optn2 constants, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 01/41] MAINTAINERS: target/mips: Add MIPS files under default-configs directory, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 09/41] target/mips: Support R5900 three-operand MADD and MADDU instructions, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 06/41] target/mips: MXU: Add missing opcodes/decoding for LX* instructions, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 10/41] target/mips: Support R5900 three-operand MADD1 and MADDU1 instructions, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 08/41] target/mips: MXU: Improve the comment containing MXU overview, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 13/41] disas: nanoMIPS: Remove functions that are not used, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 25/41] disas: nanoMIPS: Comment the decoder of 'gpr3.src.store' gpr encoding type, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 23/41] disas: nanoMIPS: Comment the decoder of 'gpr3' gpr encoding type,
Aleksandar Markovic <=
- [Qemu-devel] [PULL 26/41] disas: nanoMIPS: Rename the decoder of 'gpr4' gpr encoding type, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 38/41] tests/tcg: mips: Test R5900 three-operand MADD, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 14/41] disas: nanoMIPS: Fix a function misnomer, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 28/41] disas: nanoMIPS: Rename the decoder of 'gpr4.zero' gpr encoding type, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 27/41] disas: nanoMIPS: Comment the decoder of 'gpr4' gpr encoding type, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 21/41] disas: nanoMIPS: Fix order of more invocations, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 24/41] disas: nanoMIPS: Rename the decoder of 'gpr3.src.store' gpr encoding type, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 20/41] disas: nanoMIPS: Name more functions in a more descriptive way, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 19/41] disas: nanoMIPS: Fix an FP-related misnomer 3, Aleksandar Markovic, 2018/12/28
- [Qemu-devel] [PULL 18/41] disas: nanoMIPS: Fix an FP-related misnomer 2, Aleksandar Markovic, 2018/12/28