1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/toolkit/crashreporter/google-breakpad/src/third_party/libdisasm/ia32_reg.h Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,41 @@ 1.4 +#ifndef IA32_REG_H 1.5 +#define IA32_REG_H 1.6 + 1.7 +#include <sys/types.h> /* for size_t */ 1.8 +#include "libdis.h" /* for x86_reg_t */ 1.9 + 1.10 +/* NOTE these are used in opcode tables for hard-coded registers */ 1.11 +#define REG_DWORD_OFFSET 1 /* 0 + 1 */ 1.12 +#define REG_ECX_INDEX 2 /* 0 + 1 + 1 */ 1.13 +#define REG_ESP_INDEX 5 /* 0 + 4 + 1 */ 1.14 +#define REG_EBP_INDEX 6 /* 0 + 5 + 1 */ 1.15 +#define REG_ESI_INDEX 7 /* 0 + 6 + 1 */ 1.16 +#define REG_EDI_INDEX 8 /* 0 + 7 + 1 */ 1.17 +#define REG_WORD_OFFSET 9 /* 1 * 8 + 1 */ 1.18 +#define REG_BYTE_OFFSET 17 /* 2 * 8 + 1 */ 1.19 +#define REG_MMX_OFFSET 25 /* 3 * 8 + 1 */ 1.20 +#define REG_SIMD_OFFSET 33 /* 4 * 8 + 1 */ 1.21 +#define REG_DEBUG_OFFSET 41 /* 5 * 8 + 1 */ 1.22 +#define REG_CTRL_OFFSET 49 /* 6 * 8 + 1 */ 1.23 +#define REG_TEST_OFFSET 57 /* 7 * 8 + 1 */ 1.24 +#define REG_SEG_OFFSET 65 /* 8 * 8 + 1 */ 1.25 +#define REG_LDTR_INDEX 71 /* 8 * 8 + 1 + 1 */ 1.26 +#define REG_GDTR_INDEX 72 /* 8 * 8 + 2 + 1 */ 1.27 +#define REG_FPU_OFFSET 73 /* 9 * 8 + 1 */ 1.28 +#define REG_FLAGS_INDEX 81 /* 10 * 8 + 1 */ 1.29 +#define REG_FPCTRL_INDEX 82 /* 10 * 8 + 1 + 1 */ 1.30 +#define REG_FPSTATUS_INDEX 83 /* 10 * 8 + 2 + 1 */ 1.31 +#define REG_FPTAG_INDEX 84 /* 10 * 8 + 3 + 1 */ 1.32 +#define REG_EIP_INDEX 85 /* 10 * 8 + 4 + 1 */ 1.33 +#define REG_IP_INDEX 86 /* 10 * 8 + 5 + 1 */ 1.34 +#define REG_IDTR_INDEX 87 /* 10 * 8 + 6 + 1 */ 1.35 +#define REG_MXCSG_INDEX 88 /* 10 * 8 + 7 + 1 */ 1.36 +#define REG_TR_INDEX 89 /* 10 * 8 + 8 + 1 */ 1.37 +#define REG_CSMSR_INDEX 90 /* 10 * 8 + 9 + 1 */ 1.38 +#define REG_ESPMSR_INDEX 91 /* 10 * 8 + 10 + 1 */ 1.39 +#define REG_EIPMSR_INDEX 92 /* 10 * 8 + 11 + 1 */ 1.40 + 1.41 +void ia32_handle_register( x86_reg_t *reg, size_t id ); 1.42 +size_t ia32_true_register_id( size_t id ); 1.43 + 1.44 +#endif