Re: [gem5-users] Clean/Invalidate a cache.

2012-10-18 Thread Anthony Gutierrez
Hi Steve, That is pretty much what I had been doing. The problem I am facing is the check I put in must have been incorrect. I put a check after mq->deallocate(mshr) is called, this checks if the writeBuffer.allocated and mshrQueue.allocated are 0. However, it never seems to reach this code inside

Re: [gem5-users] Clean/Invalidate a cache.

2012-10-17 Thread Steve Reinhardt
MSHRs should take care of themselves if you just wait for the outstanding transactions to complete. In timing mode you'll probably have to write back lines until the write buffer is full, then as the write buffer empties, add a check if you're in drain mode and keep iterating until you're all the

[gem5-users] Clean/Invalidate a cache.

2012-10-16 Thread Anthony Gutierrez
Hello Everyone, I am trying to clean and/or invalidate all cache lines during a drain. I think I would need to iterate through every cache block and call writebackBlock() to put them in the writeback buffer. Anybody have any suggestions on how to do this? I.e., how to prevent drain from completing