38 #define FT_CR_GPR(n) (FT_CR_R0 + (n)) 54 -1, -1, -1, -1, -1, -1, -1, -1,
55 -1, -1, -1, -1, -1, -1, -1, -1,
56 -1, -1, -1, -1, -1, -1, -1, -1,
57 -1, -1, -1, -1, -1, -1, -1, -1,
67 #define PPC_NUM_FT_COLLECT_GREGS \ 68 (sizeof (ppc_ft_collect_regmap) / sizeof(ppc_ft_collect_regmap[0])) 75 const unsigned char *buf)
100 return *(
unsigned long *) (raw_regs
121 uintptr_t exec_base = getauxval (AT_PHDR);
126 exec_base = 0x10000000;
128 pagesize = sysconf (_SC_PAGE_SIZE);
132 addr = exec_base - size;
135 addr &= ~(pagesize - 1);
138 for (; addr; addr -= pagesize)
141 res = mmap ((
void *) addr, size,
142 PROT_READ | PROT_WRITE | PROT_EXEC,
143 MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
146 if ((uintptr_t) res == addr)
150 if (res != MAP_FAILED)
156 void *target = sbrk (0);
157 void *res = mmap (target, size, PROT_READ | PROT_WRITE | PROT_EXEC,
158 MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
163 if (res != MAP_FAILED)
180 return tdesc_powerpc_64l;
182 return tdesc_powerpc_altivec64l;
184 return tdesc_powerpc_cell64l;
186 return tdesc_powerpc_vsx64l;
188 return tdesc_powerpc_isa205_64l;
190 return tdesc_powerpc_isa205_altivec64l;
192 return tdesc_powerpc_isa205_vsx64l;
213 "unknown ipa tdesc index: %d", idx);
215 return tdesc_powerpc_64l;
229 init_registers_powerpc_64l ();
230 init_registers_powerpc_altivec64l ();
231 init_registers_powerpc_cell64l ();
232 init_registers_powerpc_vsx64l ();
233 init_registers_powerpc_isa205_64l ();
234 init_registers_powerpc_isa205_altivec64l ();
235 init_registers_powerpc_isa205_vsx64l ();
const struct target_desc * tdesc_powerpc_vsx32l
const struct target_desc * tdesc_powerpc_isa205_altivec32l
void internal_error(const char *file, int line, const char *fmt,...)
const struct target_desc * tdesc_powerpc_32l
void init_registers_powerpc_e500l(void)
const struct target_desc * tdesc_powerpc_isa205_32l
void init_registers_powerpc_cell32l(void)
const struct target_desc * get_ipa_tdesc(int idx)
void init_registers_powerpc_isa205_32l(void)
const struct target_desc * tdesc_powerpc_e500l
#define PPC_NUM_FT_COLLECT_GREGS
void init_registers_powerpc_32l(void)
const struct target_desc * tdesc_powerpc_isa205_vsx32l
void supply_fast_tracepoint_registers(struct regcache *regcache, const unsigned char *buf)
void init_registers_powerpc_vsx32l(void)
void init_registers_powerpc_isa205_vsx32l(void)
void * alloc_jump_pad_buffer(size_t size)
void init_registers_powerpc_altivec32l(void)
void initialize_low_tracepoint(void)
void perror_with_name(const char *string)
void init_registers_powerpc_isa205_altivec32l(void)
static const int ppc_ft_collect_regmap[]
unsigned long long ULONGEST
const struct target_desc * tdesc_powerpc_altivec32l
void supply_register(struct regcache *regcache, int n, const void *buf)
const struct target_desc * tdesc_powerpc_cell32l
ULONGEST get_raw_reg(const unsigned char *raw_regs, int regnum)