Added some debug output, and made sure not to accidentally ask for the result of a store conditional.
--HG-- extra : convert_revision : d36ff9e2343fdf78a3bc16a1348975fdba5c55e2
This commit is contained in:
parent
a36a59e8d7
commit
643cb6dd81
1 changed files with 6 additions and 7 deletions
|
@ -144,7 +144,7 @@ def template LoadExecute {{
|
||||||
%(op_decl)s;
|
%(op_decl)s;
|
||||||
%(op_rd)s;
|
%(op_rd)s;
|
||||||
%(ea_code)s;
|
%(ea_code)s;
|
||||||
DPRINTF(Sparc, "The address is 0x%x\n", EA);
|
DPRINTF(Sparc, "%s: The address is 0x%x\n", mnemonic, EA);
|
||||||
%(fault_check)s;
|
%(fault_check)s;
|
||||||
if(fault == NoFault)
|
if(fault == NoFault)
|
||||||
{
|
{
|
||||||
|
@ -172,6 +172,7 @@ def template LoadExecute {{
|
||||||
%(ea_decl)s;
|
%(ea_decl)s;
|
||||||
%(ea_rd)s;
|
%(ea_rd)s;
|
||||||
%(ea_code)s;
|
%(ea_code)s;
|
||||||
|
DPRINTF(Sparc, "%s: The address is 0x%x\n", mnemonic, EA);
|
||||||
%(fault_check)s;
|
%(fault_check)s;
|
||||||
if(fault == NoFault)
|
if(fault == NoFault)
|
||||||
{
|
{
|
||||||
|
@ -202,7 +203,6 @@ def template StoreExecute {{
|
||||||
Trace::InstRecord *traceData) const
|
Trace::InstRecord *traceData) const
|
||||||
{
|
{
|
||||||
Fault fault = NoFault;
|
Fault fault = NoFault;
|
||||||
uint64_t write_result = 0;
|
|
||||||
//This is to support the conditional store in cas instructions.
|
//This is to support the conditional store in cas instructions.
|
||||||
//It should be optomized out in all the others
|
//It should be optomized out in all the others
|
||||||
bool storeCond = true;
|
bool storeCond = true;
|
||||||
|
@ -210,7 +210,7 @@ def template StoreExecute {{
|
||||||
%(op_decl)s;
|
%(op_decl)s;
|
||||||
%(op_rd)s;
|
%(op_rd)s;
|
||||||
%(ea_code)s;
|
%(ea_code)s;
|
||||||
DPRINTF(Sparc, "The address is 0x%x\n", EA);
|
DPRINTF(Sparc, "%s: The address is 0x%x\n", mnemonic, EA);
|
||||||
%(fault_check)s;
|
%(fault_check)s;
|
||||||
if(fault == NoFault)
|
if(fault == NoFault)
|
||||||
{
|
{
|
||||||
|
@ -218,7 +218,7 @@ def template StoreExecute {{
|
||||||
}
|
}
|
||||||
if(storeCond && fault == NoFault)
|
if(storeCond && fault == NoFault)
|
||||||
{
|
{
|
||||||
fault = xc->write((uint%(mem_acc_size)s_t)Mem, EA, 0, &write_result);
|
fault = xc->write((uint%(mem_acc_size)s_t)Mem, EA, 0, 0);
|
||||||
}
|
}
|
||||||
if(fault == NoFault)
|
if(fault == NoFault)
|
||||||
{
|
{
|
||||||
|
@ -233,13 +233,12 @@ def template StoreExecute {{
|
||||||
Trace::InstRecord * traceData) const
|
Trace::InstRecord * traceData) const
|
||||||
{
|
{
|
||||||
Fault fault = NoFault;
|
Fault fault = NoFault;
|
||||||
uint64_t write_result = 0;
|
|
||||||
bool storeCond = true;
|
bool storeCond = true;
|
||||||
Addr EA;
|
Addr EA;
|
||||||
%(op_decl)s;
|
%(op_decl)s;
|
||||||
%(op_rd)s;
|
%(op_rd)s;
|
||||||
%(ea_code)s;
|
%(ea_code)s;
|
||||||
DPRINTF(Sparc, "The address is 0x%x\n", EA);
|
DPRINTF(Sparc, "%s: The address is 0x%x\n", mnemonic, EA);
|
||||||
%(fault_check)s;
|
%(fault_check)s;
|
||||||
if(fault == NoFault)
|
if(fault == NoFault)
|
||||||
{
|
{
|
||||||
|
@ -247,7 +246,7 @@ def template StoreExecute {{
|
||||||
}
|
}
|
||||||
if(storeCond && fault == NoFault)
|
if(storeCond && fault == NoFault)
|
||||||
{
|
{
|
||||||
fault = xc->write((uint%(mem_acc_size)s_t)Mem, EA, 0, &write_result);
|
fault = xc->write((uint%(mem_acc_size)s_t)Mem, EA, 0, 0);
|
||||||
}
|
}
|
||||||
if(fault == NoFault)
|
if(fault == NoFault)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue