ARM: Make the predecoder print out the ExtMachInst it gathered when traced.
This commit is contained in:
parent
458bd025d4
commit
8c012e9571
1 changed files with 6 additions and 4 deletions
|
@ -100,7 +100,8 @@ namespace ArmISA
|
||||||
emi.instBits = emi.instBits | word;
|
emi.instBits = emi.instBits | word;
|
||||||
bigThumb = false;
|
bigThumb = false;
|
||||||
offset += 2;
|
offset += 2;
|
||||||
DPRINTF(Predecoder, "Second half of 32 bit Thumb.\n");
|
DPRINTF(Predecoder, "Second half of 32 bit Thumb: %#x.\n",
|
||||||
|
emi.instBits);
|
||||||
} else {
|
} else {
|
||||||
uint16_t highBits = word & 0xF800;
|
uint16_t highBits = word & 0xF800;
|
||||||
if (highBits == 0xE800 || highBits == 0xF000 ||
|
if (highBits == 0xE800 || highBits == 0xF000 ||
|
||||||
|
@ -109,9 +110,9 @@ namespace ArmISA
|
||||||
emi.bigThumb = 1;
|
emi.bigThumb = 1;
|
||||||
if (offset == 0) {
|
if (offset == 0) {
|
||||||
// We've got the whole thing.
|
// We've got the whole thing.
|
||||||
DPRINTF(Predecoder,
|
|
||||||
"All of 32 bit Thumb.\n");
|
|
||||||
emi.instBits = (data >> 16) | (data << 16);
|
emi.instBits = (data >> 16) | (data << 16);
|
||||||
|
DPRINTF(Predecoder, "All of 32 bit Thumb: %#x.\n",
|
||||||
|
emi.instBits);
|
||||||
offset += 4;
|
offset += 4;
|
||||||
} else {
|
} else {
|
||||||
// We only have the first half word.
|
// We only have the first half word.
|
||||||
|
@ -123,11 +124,12 @@ namespace ArmISA
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// A 16 bit thumb inst.
|
// A 16 bit thumb inst.
|
||||||
DPRINTF(Predecoder, "16 bit Thumb.\n");
|
|
||||||
offset += 2;
|
offset += 2;
|
||||||
emi.instBits = word;
|
emi.instBits = word;
|
||||||
// Set the condition code field artificially.
|
// Set the condition code field artificially.
|
||||||
emi.condCode = COND_UC;
|
emi.condCode = COND_UC;
|
||||||
|
DPRINTF(Predecoder, "16 bit Thumb: %#x.\n",
|
||||||
|
emi.instBits);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue