124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===-- ARM_DWARF_Registers.h -----------------------------------*- C++ -*-===// 224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// The LLVM Compiler Infrastructure 424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// This file is distributed under the University of Illinois Open Source 624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// License. See LICENSE.TXT for details. 724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===----------------------------------------------------------------------===// 924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#ifndef utility_ARM_DWARF_Registers_h_ 1124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#define utility_ARM_DWARF_Registers_h_ 1224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 13c07d451bb046e47215bd73fda0235362cc6b1a47Greg Clayton#include "lldb/lldb-private.h" 14c07d451bb046e47215bd73fda0235362cc6b1a47Greg Clayton 1524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerenum 1624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner{ 1724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r0 = 0, 1824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r1, 1924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r2, 2024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r3, 2124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r4, 2224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r5, 2324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r6, 2424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r7, 2524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r8, 2624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r9, 2724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r10, 2824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r11, 2924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r12, 3024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_sp, 3124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_lr, 3224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_pc, 3324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_cpsr, 3424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 3524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s0 = 64, 3624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s1, 3724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s2, 3824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s3, 3924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s4, 4024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s5, 4124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s6, 4224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s7, 4324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s8, 4424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s9, 4524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s10, 4624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s11, 4724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s12, 4824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s13, 4924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s14, 5024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s15, 5124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s16, 5224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s17, 5324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s18, 5424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s19, 5524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s20, 5624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s21, 5724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s22, 5824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s23, 5924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s24, 6024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s25, 6124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s26, 6224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s27, 6324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s28, 6424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s29, 6524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s30, 6624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_s31, 6724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 6824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner // FPA Registers 0-7 6924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_f0 = 96, 7024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_f1, 7124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_f2, 7224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_f3, 7324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_f4, 7424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_f5, 7524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_f6, 7624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_f7, 7724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 78b649f7f34951e7495b33dbb4c2e240866941bb37Jason Molenda // Intel wireless MMX general purpose registers 0 - 7 7924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wCGR0 = 104, 8024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wCGR1, 8124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wCGR2, 8224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wCGR3, 8324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wCGR4, 8424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wCGR5, 8524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wCGR6, 8624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wCGR7, 8724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 88b649f7f34951e7495b33dbb4c2e240866941bb37Jason Molenda // XScale accumulator register 0 - 7 (they do overlap with wCGR0 - wCGR7) 8924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_ACC0 = 104, 9024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_ACC1, 9124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_ACC2, 9224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_ACC3, 9324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_ACC4, 9424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_ACC5, 9524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_ACC6, 9624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_ACC7, 9724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 98b649f7f34951e7495b33dbb4c2e240866941bb37Jason Molenda // Intel wireless MMX data registers 0 - 15 9924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR0 = 112, 10024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR1, 10124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR2, 10224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR3, 10324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR4, 10424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR5, 10524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR6, 10624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR7, 10724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR8, 10824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR9, 10924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR10, 11024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR11, 11124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR12, 11224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR13, 11324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR14, 11424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wR15, 11524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 11624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_spsr = 128, 11724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_spsr_fiq, 11824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_spsr_irq, 11924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_spsr_abt, 12024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_spsr_und, 12124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_spsr_svc, 12224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 12324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r8_usr = 144, 12424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r9_usr, 12524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r10_usr, 12624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r11_usr, 12724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r12_usr, 12824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r13_usr, 12924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r14_usr, 13024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r8_fiq, 13124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r9_fiq, 13224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r10_fiq, 13324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r11_fiq, 13424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r12_fiq, 13524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r13_fiq, 13624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r14_fiq, 13724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r13_irq, 13824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r14_irq, 13924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r13_abt, 14024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r14_abt, 14124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r13_und, 14224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r14_und, 14324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r13_svc, 14424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_r14_svc, 14524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 146b649f7f34951e7495b33dbb4c2e240866941bb37Jason Molenda // Intel wireless MMX control register in co-processor 0 - 7 14724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wC0 = 192, 14824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wC1, 14924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wC2, 15024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wC3, 15124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wC4, 15224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wC5, 15324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wC6, 15424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_wC7, 15524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 15624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner // VFP-v3/Neon 15724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d0 = 256, 15824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d1, 15924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d2, 16024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d3, 16124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d4, 16224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d5, 16324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d6, 16424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d7, 16524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d8, 16624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d9, 16724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d10, 16824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d11, 16924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d12, 17024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d13, 17124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d14, 17224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d15, 17324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d16, 17424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d17, 17524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d18, 17624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d19, 17724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d20, 17824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d21, 17924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d22, 18024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d23, 18124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d24, 18224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d25, 18324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d26, 18424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d27, 18524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d28, 18624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d29, 18724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner dwarf_d30, 188402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_d31, 189402607fe513617c06282d4ae479522e244a53b71Johnny Chen 190402607fe513617c06282d4ae479522e244a53b71Johnny Chen // Neon quadword registers 191402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q0 = 288, 192402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q1, 193402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q2, 194402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q3, 195402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q4, 196402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q5, 197402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q6, 198402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q7, 199402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q8, 200402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q9, 201402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q10, 202402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q11, 203402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q12, 204402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q13, 205402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q14, 206402607fe513617c06282d4ae479522e244a53b71Johnny Chen dwarf_q15 20724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner}; 20824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 209888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Claytonconst char * 210888a7334344778d1a4edbd58b5852ae4d53ffed9Greg ClaytonGetARMDWARFRegisterName (unsigned reg_num); 211c07d451bb046e47215bd73fda0235362cc6b1a47Greg Clayton 212c07d451bb046e47215bd73fda0235362cc6b1a47Greg Claytonbool 213c07d451bb046e47215bd73fda0235362cc6b1a47Greg ClaytonGetARMDWARFRegisterInfo (unsigned reg_num, 214c07d451bb046e47215bd73fda0235362cc6b1a47Greg Clayton lldb_private::RegisterInfo ®_info); 215888a7334344778d1a4edbd58b5852ae4d53ffed9Greg Clayton 216c2f35353ca515f51c6301bcab61a4777ea740aa6Greg Clayton#endif // utility_ARM_DWARF_Registers_h_ 21724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 218