On Thu, 6 Nov 2014, Andreas Hansson wrote:

Hi Nilay,

I would really not like us to introduce yet another step in the
initialisation process unless it is absolutely necessary.

The steps done in the DRAM controller relies on curTick being set
correctly, and to the best of my knowledge the first opportunity to do
this is startup. I would prefer to stick to the rule that only functional
transactions are allowed up till this point.

We will not be able to load the checkpointed state only with functional reads and writes since functional accesses do not update coherence states in ruby controllers. But it seems we can limit timing accesses to the ruby portion and perform functional accesses to the dram. This should allow use to keep the dram ctrl same as it is now.


I think the best solution would be if Ruby would load its state in
loadState/unserialize without using timing transactions, but I do not have
a good suggestion for how to make this happen. Additionally, how do we
even know what transactions to play back when it is done in startup today?


We just issue read for all the addresses that are part of the checkpointed cache state.

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

Reply via email to