aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Pisa <pisa@cmp.felk.cvut.cz>2019-02-17 21:17:50 +0100
committerPavel Pisa <pisa@cmp.felk.cvut.cz>2019-02-17 21:17:50 +0100
commit12944b8b9df45542dcba7022ed5e9f2c59547f31 (patch)
tree0041b4d7959fb02fde63802c64d9bebbb6d7a3ae
parent9d82517dea100d94fd8d0d5326ca5db7b5a1e595 (diff)
downloadqtmips-12944b8b9df45542dcba7022ed5e9f2c59547f31.tar.gz
qtmips-12944b8b9df45542dcba7022ed5e9f2c59547f31.tar.bz2
qtmips-12944b8b9df45542dcba7022ed5e9f2c59547f31.zip
Ignore LWC1, LWD1, SWC1 and SDC1 instructions.
This allows to use MUSL Lib C printf and scanf implementations. Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
-rw-r--r--qtmips_machine/instruction.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/qtmips_machine/instruction.cpp b/qtmips_machine/instruction.cpp
index 1d37309..7006772 100644
--- a/qtmips_machine/instruction.cpp
+++ b/qtmips_machine/instruction.cpp
@@ -475,21 +475,25 @@ static const struct InstructionMap instruction_map[] = {
.flags = IMF_SUPPORTED | IMF_ALUSRC | IMF_MEM},
{"LL", IT_I, ALU_OP_ADDU, AC_LOAD_LINKED, nullptr, // LL
.flags = FLAGS_ALU_I_LOAD},
- IM_UNKNOWN, // 49
+ {"LWC1", IT_I, NOALU, NOMEM, nullptr,
+ .flags = IMF_SUPPORTED},
IM_UNKNOWN, // 50
{"PREF", IT_I, NOALU, NOMEM, nullptr, // PREF
.flags = IMF_SUPPORTED},
IM_UNKNOWN, // 52
- IM_UNKNOWN, // 53
+ {"LWD1", IT_I, NOALU, NOMEM, nullptr,
+ .flags = IMF_SUPPORTED},
IM_UNKNOWN, // 54
IM_UNKNOWN, // 55
{"SC", IT_I, ALU_OP_ADDU, AC_STORE_CONDITIONAL, nullptr, // SW
.flags = FLAGS_ALU_I_STORE | IMF_MEMREAD | IMF_REGWRITE},
- IM_UNKNOWN, // 57
+ {"SWC1", IT_I, NOALU, NOMEM, nullptr,
+ .flags = IMF_SUPPORTED},
IM_UNKNOWN, // 58
IM_UNKNOWN, // 59
IM_UNKNOWN, // 60
- IM_UNKNOWN, // 61
+ {"SDC1", IT_I, NOALU, NOMEM, nullptr,
+ .flags = IMF_SUPPORTED},
IM_UNKNOWN, // 62
IM_UNKNOWN, // 63
};