summaryrefslogtreecommitdiff
path: root/arch/mips/il.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2024-03-05 19:50:13 -0500
committerRusty Wagner <rusty.wagner@gmail.com>2024-03-05 20:34:34 -0500
commite093c21ed880ac3eb72119be15093ee04f8ce299 (patch)
tree9f720ebdc0ae415734b1199ed341668c69710a94 /arch/mips/il.h
parent0609276712622908254065546102381466033141 (diff)
Move architecture modules into the API repo
Diffstat (limited to 'arch/mips/il.h')
-rw-r--r--arch/mips/il.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/mips/il.h b/arch/mips/il.h
new file mode 100644
index 00000000..5c03f82b
--- /dev/null
+++ b/arch/mips/il.h
@@ -0,0 +1,28 @@
+#pragma once
+
+#include "binaryninjaapi.h"
+#include "lowlevelilinstruction.h"
+#include "mips.h"
+
+enum MipsIntrinsic : uint32_t
+{
+ MIPS_INTRIN_WSBH,
+ MIPS_INTRIN_MFC0,
+ MIPS_INTRIN_MFC_UNIMPLEMENTED,
+ MIPS_INTRIN_MTC0,
+ MIPS_INTRIN_MTC_UNIMPLEMENTED,
+ MIPS_INTRIN_DMFC0,
+ MIPS_INTRIN_DMFC_UNIMPLEMENTED,
+ MIPS_INTRIN_DMTC0,
+ MIPS_INTRIN_DMTC_UNIMPLEMENTED,
+ MIPS_INTRIN_INVALID=0xFFFFFFFF,
+};
+
+bool GetLowLevelILForInstruction(
+ BinaryNinja::Architecture* arch,
+ uint64_t addr,
+ BinaryNinja::LowLevelILFunction& il,
+ mips::Instruction& instr,
+ size_t addrSize);
+
+BinaryNinja::ExprId GetConditionForInstruction(BinaryNinja::LowLevelILFunction& il, mips::Instruction& instr, size_t registerSize);