Fixed minor sim_debug_bits issues.
This commit is contained in:
parent
9575ac5c63
commit
2c1d2b9a88
2 changed files with 4 additions and 4 deletions
4
scp.c
4
scp.c
|
@ -5880,14 +5880,14 @@ if (sim_deb && (dptr->dctrl & dbits)) {
|
||||||
if (bitdefs[i].name[0] == '\0')
|
if (bitdefs[i].name[0] == '\0')
|
||||||
continue;
|
continue;
|
||||||
if ((bitdefs[i].width == 1) && (bitdefs[i].valuenames == NULL)) {
|
if ((bitdefs[i].width == 1) && (bitdefs[i].valuenames == NULL)) {
|
||||||
int off = ((after >> bitdefs[i].offset) & 1) + (((before ^ after) >> i) & 1) * 2;
|
int off = ((after >> bitdefs[i].offset) & 1) + (((before ^ after) >> bitdefs[i].offset) & 1) * 2;
|
||||||
fprintf(sim_deb, "%s%c ", bitdefs[i].name, debug_bstates[off]);
|
fprintf(sim_deb, "%s%c ", bitdefs[i].name, debug_bstates[off]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
char *delta = "";
|
char *delta = "";
|
||||||
|
|
||||||
mask = 0xFFFFFFFF >> (32-bitdefs[i].width);
|
mask = 0xFFFFFFFF >> (32-bitdefs[i].width);
|
||||||
value = ((after >> bitdefs[i].offset) & mask) + (((before ^ after) >> bitdefs[i].offset) & mask) * 2;
|
value = ((after >> bitdefs[i].offset) & mask);
|
||||||
beforevalue = ((before >> bitdefs[i].offset) & mask);
|
beforevalue = ((before >> bitdefs[i].offset) & mask);
|
||||||
if (value < beforevalue)
|
if (value < beforevalue)
|
||||||
delta = "_";
|
delta = "_";
|
||||||
|
|
|
@ -510,8 +510,8 @@ struct sim_bitfield {
|
||||||
char *name; /* field name */
|
char *name; /* field name */
|
||||||
uint32 offset; /* starting bit */
|
uint32 offset; /* starting bit */
|
||||||
uint32 width; /* width */
|
uint32 width; /* width */
|
||||||
char **valuenames; /* map of values to strings */
|
const char **valuenames; /* map of values to strings */
|
||||||
char *format; /* value format string */
|
const char *format; /* value format string */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* File Reference */
|
/* File Reference */
|
||||||
|
|
Loading…
Add table
Reference in a new issue