mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-17 04:43:17 +08:00
* sky-pke.h: PKE_REG_SET_MASK / PKE_MEM_WRITE macros updated
to check/open the debug trace file
This commit is contained in:
@ -326,16 +326,24 @@ do { \
|
|||||||
#define PKE_REG_MASK_SET(me,reg,flag,value) \
|
#define PKE_REG_MASK_SET(me,reg,flag,value) \
|
||||||
do { \
|
do { \
|
||||||
unsigned_4 old = BIT_MASK_GET(((me)->regs[PKE_REG_##reg][0]), \
|
unsigned_4 old = BIT_MASK_GET(((me)->regs[PKE_REG_##reg][0]), \
|
||||||
PKE_REG_##reg##_##flag##_B, PKE_REG_##reg##_##flag##_E); \
|
PKE_REG_##reg##_##flag##_B, PKE_REG_##reg##_##flag##_E); \
|
||||||
BIT_MASK_SET(((me)->regs[PKE_REG_##reg][0]), \
|
BIT_MASK_SET(((me)->regs[PKE_REG_##reg][0]), \
|
||||||
PKE_REG_##reg##_##flag##_B, PKE_REG_##reg##_##flag##_E, \
|
PKE_REG_##reg##_##flag##_B, PKE_REG_##reg##_##flag##_E, \
|
||||||
(value)); \
|
(value)); \
|
||||||
if( indebug (me->dev.name)) \
|
if( indebug ((me)->dev.name)) \
|
||||||
{ \
|
{ \
|
||||||
if (old != (value)) \
|
if (old != (value)) \
|
||||||
fprintf(((me)->fifo_trace_file != NULL) ? (me)->fifo_trace_file : stdout, \
|
{ \
|
||||||
"# Reg %s:%s = 0x%x\n", #reg, #flag, (unsigned)(value)); \
|
if (((me)->fifo_trace_file == NULL ) && \
|
||||||
} \
|
((me)->fifo_trace_file_name != NULL )) \
|
||||||
|
sky_open_file (&((me)->fifo_trace_file), \
|
||||||
|
(me)->fifo_trace_file_name, \
|
||||||
|
(char *) NULL); \
|
||||||
|
fprintf (((me)->fifo_trace_file != NULL) ? \
|
||||||
|
(me)->fifo_trace_file : stdout, \
|
||||||
|
"# Reg %s:%s = 0x%x\n", #reg, #flag, (unsigned)(value)); \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
/* get a bitfield from a register by "name" */
|
/* get a bitfield from a register by "name" */
|
||||||
@ -444,8 +452,8 @@ int read_pke_pcx (struct pke_device *device, void *buf);
|
|||||||
do { \
|
do { \
|
||||||
sim_cpu* cpu = STATE_CPU(CURRENT_STATE, 0); \
|
sim_cpu* cpu = STATE_CPU(CURRENT_STATE, 0); \
|
||||||
unsigned_##size value = \
|
unsigned_##size value = \
|
||||||
sim_core_read_aligned_##size(cpu, CIA_GET(cpu), read_map, \
|
sim_core_read_aligned_##size(cpu, CIA_GET(cpu), read_map, \
|
||||||
(SIM_ADDR)(addr)); \
|
(SIM_ADDR)(addr)); \
|
||||||
memcpy((unsigned_##size*) (data), (void*) & value, size); \
|
memcpy((unsigned_##size*) (data), (void*) & value, size); \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
@ -454,22 +462,31 @@ int read_pke_pcx (struct pke_device *device, void *buf);
|
|||||||
unsigned_##size value; \
|
unsigned_##size value; \
|
||||||
memcpy((void*) & value, (unsigned_##size*)(data), size); \
|
memcpy((void*) & value, (unsigned_##size*)(data), size); \
|
||||||
sim_core_write_aligned_##size(cpu, CIA_GET(cpu), write_map, \
|
sim_core_write_aligned_##size(cpu, CIA_GET(cpu), write_map, \
|
||||||
(SIM_ADDR)(addr), value); \
|
(SIM_ADDR)(addr), value); \
|
||||||
if (indebug (me->dev.name)) \
|
if (indebug (me->dev.name)) \
|
||||||
{ \
|
{ \
|
||||||
int i; \
|
int i; \
|
||||||
unsigned_##size value_te; \
|
unsigned_##size value_te; \
|
||||||
value_te = H2T_##size(value); \
|
value_te = H2T_##size(value); \
|
||||||
fprintf(((me)->fifo_trace_file != NULL) ? (me)->fifo_trace_file : stdout, \
|
if (((me)->fifo_trace_file == NULL ) && \
|
||||||
"# Write %2d bytes to ", size); \
|
((me)->fifo_trace_file_name != NULL )) \
|
||||||
fprintf(((me)->fifo_trace_file != NULL) ? (me)->fifo_trace_file : stdout, \
|
sky_open_file (&((me)->fifo_trace_file), \
|
||||||
"0x%08lx: ", (unsigned long)(addr)); \
|
(me)->fifo_trace_file_name, \
|
||||||
for(i=0; i<size; i++) \
|
(char *) NULL); \
|
||||||
fprintf(((me)->fifo_trace_file != NULL) ? (me)->fifo_trace_file : stdout, \
|
fprintf (((me)->fifo_trace_file != NULL) ? \
|
||||||
" %02x", ((unsigned_1*)(& value_te))[i]); \
|
(me)->fifo_trace_file : stdout, \
|
||||||
fprintf(((me)->fifo_trace_file != NULL) ? (me)->fifo_trace_file : stdout, \
|
"# Write %2d bytes to ", size); \
|
||||||
"\n"); \
|
fprintf (((me)->fifo_trace_file != NULL) ? \
|
||||||
} \
|
(me)->fifo_trace_file : stdout, \
|
||||||
|
"0x%08lx: ", (unsigned long)(addr)); \
|
||||||
|
for(i=0; i<size; i++) \
|
||||||
|
fprintf (((me)->fifo_trace_file != NULL) ? \
|
||||||
|
(me)->fifo_trace_file : stdout, \
|
||||||
|
" %02x", ((unsigned_1*)(& value_te))[i]); \
|
||||||
|
fprintf (((me)->fifo_trace_file != NULL) ? \
|
||||||
|
(me)->fifo_trace_file : stdout, \
|
||||||
|
"\n"); \
|
||||||
|
} \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user