* sky-pke.h: PKE_REG_SET_MASK / PKE_MEM_WRITE macros updated

to check/open the debug trace file
This commit is contained in:
Patrick Macdonald
1998-06-17 14:54:11 +00:00
parent 0f70e64f0e
commit c0e7453d60

View File

@ -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)