-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/755/
-----------------------------------------------------------

(Updated 2012-01-16 07:20:27.328089)


Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and Nathan 
Binkert.


Changes
-------

We have to change setMiscReg into setMiscRegNoEffect here, in order to ensure 
the correctness of ll/sc instructions.
While it is unnecessary to use readMiscRegNoEffect instead of readMiscReg.
However, I haven't found the root cause of this problem. May be the misc reg 
cannot be set more than once in a tick?


Summary
-------

The read/setMiscRegNoEffect are declared in inorder_dyn_inst.hh, but not 
defined in inorder_dyn_inst.cc.
I hope the definitions can be added for the future use.
----
The problem is caused by a MIPS linked load instruction. It make the CP0 halt 
then restart. After that, the tick becomes a large number and it says 'because 
simulate() limit reached'.

Korey Sewell told me:
    If you get "simulate() reached", that means your system likely deadlocked 
as there are no more events on the main event queue. Run w/the cpu progress 
interval on to help determine where the CPUs stops committing instructions. 
Also, post the locked_mem.hh patch if you want comments on what you are trying 
to do to resolve the problem.

----
I change the locked_mem.hh to an old stable version, to avoid the problem 
mentioned above. But I know this is not 'fixing the bug', but 'avoiding the 
bug'.


Diffs (updated)
-----

  src/arch/mips/locked_mem.hh f348cf78072c 

Diff: http://reviews.m5sim.org/r/755/diff


Testing
-------

Only single thread.


Thanks,

Deyuan

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to