Add a generic EmulateMovRdRm() method and modify/add entries to the g_thumb_opcodes
table. Also add some more defines and convenience functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125300 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Plugins/Process/Utility/ARMDefines.h b/source/Plugins/Process/Utility/ARMDefines.h
index c4614f6..6453a3c 100644
--- a/source/Plugins/Process/Utility/ARMDefines.h
+++ b/source/Plugins/Process/Utility/ARMDefines.h
@@ -58,20 +58,33 @@
}
}
+// Bit positions for CPSR
+#define CPSR_T 5
+#define CPSR_F 6
+#define CPSR_I 7
+#define CPSR_A 8
+#define CPSR_E 9
+#define CPSR_J 24
+#define CPSR_Q 27
+#define CPSR_V 28
+#define CPSR_C 29
+#define CPSR_Z 30
+#define CPSR_N 31
+
// Masks for CPSR
#define MASK_CPSR_MODE_MASK (0x0000001fu)
-#define MASK_CPSR_T (1u << 5)
-#define MASK_CPSR_F (1u << 6)
-#define MASK_CPSR_I (1u << 7)
-#define MASK_CPSR_A (1u << 8)
-#define MASK_CPSR_E (1u << 9)
+#define MASK_CPSR_T (1u << CPSR_T)
+#define MASK_CPSR_F (1u << CPSR_F)
+#define MASK_CPSR_I (1u << CPSR_I)
+#define MASK_CPSR_A (1u << CPSR_A)
+#define MASK_CPSR_E (1u << CPSR_E)
#define MASK_CPSR_GE_MASK (0x000f0000u)
-#define MASK_CPSR_J (1u << 24)
-#define MASK_CPSR_Q (1u << 27)
-#define MASK_CPSR_V (1u << 28)
-#define MASK_CPSR_C (1u << 29)
-#define MASK_CPSR_Z (1u << 30)
-#define MASK_CPSR_N (1u << 31)
+#define MASK_CPSR_J (1u << CPSR_J)
+#define MASK_CPSR_Q (1u << CPSR_Q)
+#define MASK_CPSR_V (1u << CPSR_V)
+#define MASK_CPSR_C (1u << CPSR_C)
+#define MASK_CPSR_Z (1u << CPSR_Z)
+#define MASK_CPSR_N (1u << CPSR_N)
} // namespace lldb_private