137c137,138
< assert(0 == "Handle non-writeback, here");
---
> // @todo Add CleanEvicts
> assert(cpkt->cmd == MemCmd::CleanEvict);
177,178c178,184
<
< assert(cpkt->isInvalidate() == cpkt->needsExclusive());
---
> // ReadEx and Writes require both invalidation and exlusivity, while reads
> // require neither. Writebacks on the other hand require exclusivity but
> // not the invalidation. Previously Writebacks did not generate upward
> // snoops so this was never an aissue. Now that Writebacks generate snoops
> // we need to special case for Writebacks.
> assert(cpkt->cmd == MemCmd::Writeback ||
> (cpkt->isInvalidate() == cpkt->needsExclusive()));