[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 02/15] disas: nanoMIPS: Add graphical description of
From: |
Aleksandar Markovic |
Subject: |
[Qemu-devel] [PULL 02/15] disas: nanoMIPS: Add graphical description of pool organization |
Date: |
Tue, 5 Mar 2019 19:05:14 +0100 |
From: Aleksandar Markovic <address@hidden>
Add graphical description of nanoMIPS instruction pool organization.
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Aleksandar Rikalo <address@hidden>
Message-Id: <address@hidden>
---
disas/nanomips.cpp | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 102 insertions(+)
diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp
index 1491379..c8495b1 100644
--- a/disas/nanomips.cpp
+++ b/disas/nanomips.cpp
@@ -16603,6 +16603,108 @@ std::string NMD::YIELD(uint64 instruction)
+/*
+ * nanoMIPS instruction pool organization
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ *
+ *
+ * ┌─ P.ADDIU ─── P.RI ─── P.SYSCALL
+ * │
+ * │ ┌─ P.TRAP
+ * │ │
+ * │ ┌─ _POOL32A0_0 ─┼─ P.CMOVE
+ * │ │ │
+ * │ │ └─ P.SLTU
+ * │ ┌─ _POOL32A0 ─┤
+ * │ │ │
+ * │ │ │
+ * │ │ └─ _POOL32A0_1 ─── CRC32
+ * │ │
+ * ├─ P32A ─┤
+ * │ │ ┌─ PP.LSX
+ * │ │ ┌─ P.LSX ─────┤
+ * │ │ │ └─ PP.LSXS
+ * │ └─ _POOL32A7 ─┤
+ * │ │ ┌─ POOL32Axf_4
+ * │ └─ POOL32Axf ─┤
+ * │ └─ POOL32Axf_5
+ * │
+ * ├─ PBAL
+ * │
+ * ├─ P.GP.W ┌─ PP.LSX
+ * ┌─ P32 ─┤ │
+ * │ ├─ P.GP.BH ─┴─ PP.LSXS
+ * │ │
+ * │ ├─ P.J ─────── PP.BALRSC
+ * │ │
+ * │ ├─ P48I
+ * │ │ ┌─ P.SR
+ * │ │ │
+ * │ │ ├─ P.SHIFT
+ * │ │ │
+ * │ ├─ P.U12 ───┼─ P.ROTX
+ * │ │ │
+ * │ │ ├─ P.INS
+ * │ │ │
+ * │ │ └─ P.EXT
+ * │ │
+ * │ ├─ P.LS.U12 ── P.PREF.U12
+ * │ │
+ * │ ├─ P.BR1 ───── P.BR3A
+ * │ │
+ * │ │ ┌─ P.LS.S0 ─── P16.SYSCALL
+ * │ │ │
+ * │ │ │ ┌─ P.LL
+ * │ │ ├─ P.LS.S1 ─┤
+ * │ │ │ └─ P.SC
+ * │ │ │
+ * │ │ │ ┌─ P.PREFE
+ * MAJOR ─┤ ├─ P.LS.S9 ─┤ │
+ * │ │ ├─ P.LS.E0 ─┼─ P.LLE
+ * │ │ │ │
+ * │ │ │ └─ P.SCE
+ * │ │ │
+ * │ │ ├─ P.LS.WM
+ * │ │ │
+ * │ │ └─ P.LS.UAWM
+ * │ │
+ * │ │
+ * │ ├─ P.BR2
+ * │ │
+ * │ ├─ P.BRI
+ * │ │
+ * │ └─ P.LUI
+ * │
+ * │
+ * │ ┌─ P16.MV ──── P16.RI ─── P16.SYSCALL
+ * │ │
+ * │ ├─ P16.SR
+ * │ │
+ * │ ├─ P16.SHIFT
+ * │ │
+ * │ ├─ P16.4x4
+ * │ │
+ * │ ├─ P16C ────── POOL16C_0 ── POOL16C_00
+ * │ │
+ * └─ P16 ─┼─ P16.LB
+ * │
+ * ├─ P16.A1
+ * │
+ * ├─ P16.LH
+ * │
+ * ├─ P16.A2 ──── P.ADDIU[RS5]
+ * │
+ * ├─ P16.ADDU
+ * │
+ * └─ P16.BR ──┬─ P16.JRC
+ * │
+ * └─ P16.BR1
+ *
+ *
+ * (FP, DPS, and some minor instruction pools are omitted from the diagram)
+ *
+ */
+
NMD::Pool NMD::P_SYSCALL[2] = {
{ instruction , 0 , 0 , 32,
0xfffc0000, 0x00080000, &NMD::SYSCALL_32_ , 0,
--
2.7.4
- [Qemu-devel] [PULL 00/15] MIPS queue for March 5th, 2019, Aleksandar Markovic, 2019/03/05
- [Qemu-devel] [PULL 03/15] tests/tcg: target/mips: Add wrappers for various MSA instructions, Aleksandar Markovic, 2019/03/05
- [Qemu-devel] [PULL 04/15] tests/tcg: target/mips: Add test utilities for 32-bit tests, Aleksandar Markovic, 2019/03/05
- [Qemu-devel] [PULL 06/15] tests/tcg: target/mips: Fix test utilities for 128-bit tests, Aleksandar Markovic, 2019/03/05
- [Qemu-devel] [PULL 07/15] tests/tcg: target/mips: Extend functionality of MSA wrapper macros, Aleksandar Markovic, 2019/03/05
- [Qemu-devel] [PULL 05/15] tests/tcg: target/mips: Add test utilities for 64-bit tests, Aleksandar Markovic, 2019/03/05
- [Qemu-devel] [PULL 10/15] tests/tcg: target/mips: Add tests for MIPS64R6 bit swap instructions, Aleksandar Markovic, 2019/03/05
- [Qemu-devel] [PULL 02/15] disas: nanoMIPS: Add graphical description of pool organization,
Aleksandar Markovic <=
- [Qemu-devel] [PULL 12/15] tests/tcg: target/mips: Add tests for MIPS64R6 shift instructions, Aleksandar Markovic, 2019/03/05
- [Qemu-devel] [PULL 01/15] disas: nanoMIPS: Correct comments to handlers of some DSP instructions, Aleksandar Markovic, 2019/03/05
- [Qemu-devel] [PULL 08/15] tests/tcg: target/mips: Add wrappers for some MIPS64R6 instructions, Aleksandar Markovic, 2019/03/05
- [Qemu-devel] [PULL 09/15] tests/tcg: target/mips: Add tests for MIPS64R6 logic instructions, Aleksandar Markovic, 2019/03/05
- [Qemu-devel] [PULL 11/15] tests/tcg: target/mips: Add tests for MIPS64R6 bit count instructions, Aleksandar Markovic, 2019/03/05
- [Qemu-devel] [PULL 14/15] tests/tcg: target/mips: Add tests for MSA pack instructions, Aleksandar Markovic, 2019/03/05
- [Qemu-devel] [PULL 13/15] tests/tcg: target/mips: Add tests for MIPS64R6 int multiply instructions, Aleksandar Markovic, 2019/03/05
- [Qemu-devel] [PULL 15/15] target/mips: Add tests for integer add MSA instruction group, Aleksandar Markovic, 2019/03/05
- Re: [Qemu-devel] [PULL 00/15] MIPS queue for March 5th, 2019, Peter Maydell, 2019/03/06