blob: b258b75252396ca6c7e163437390247d5fb36736 [file] [log] [blame]
Johnny Chen8584c922011-01-26 01:18:52 +00001//===-- lldb_ARMDefines.h ---------------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef lldb_ARMDefines_h_
11#define lldb_ARMDefines_h_
12
13#include "InstructionUtils.h"
14
15// Common defintions for the ARM/Thumb Instruction Set Architecture.
16
17namespace lldb_private {
18
19// ARM conditions
20#define COND_EQ 0x0
21#define COND_NE 0x1
22#define COND_CS 0x2
23#define COND_HS 0x2
24#define COND_CC 0x3
25#define COND_LO 0x3
26#define COND_MI 0x4
27#define COND_PL 0x5
28#define COND_VS 0x6
29#define COND_VC 0x7
30#define COND_HI 0x8
31#define COND_LS 0x9
32#define COND_GE 0xA
33#define COND_LT 0xB
34#define COND_GT 0xC
35#define COND_LE 0xD
36#define COND_AL 0xE
37#define COND_UNCOND 0xF
38
39// Masks for CPSR
40#define MASK_CPSR_MODE_MASK (0x0000001fu)
41#define MASK_CPSR_T (1u << 5)
42#define MASK_CPSR_F (1u << 6)
43#define MASK_CPSR_I (1u << 7)
44#define MASK_CPSR_A (1u << 8)
45#define MASK_CPSR_E (1u << 9)
46#define MASK_CPSR_GE_MASK (0x000f0000u)
47#define MASK_CPSR_J (1u << 24)
48#define MASK_CPSR_Q (1u << 27)
49#define MASK_CPSR_V (1u << 28)
50#define MASK_CPSR_C (1u << 29)
51#define MASK_CPSR_Z (1u << 30)
52#define MASK_CPSR_N (1u << 31)
53
54} // namespace lldb_private
55
56#endif // lldb_ARMDefines_h_