summaryrefslogtreecommitdiff
path: root/arch/mips/il.h
diff options
context:
space:
mode:
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);