I understand that forwardsSnoops should be set only if the cache should be forwarding snoops. In case of functional accesses (in the function functionalAccess()), the check is both on whether the cache forwards snoops and that whether the master port accepts snoop requests. So, I thought may the same check is required in case of atomic/timing snoop requests.

I am trying to switch from timing mode to atomic mode. After the switch, the icache port of the atomic cpu receives a snoop request and it panics at that point. Can you point out why this may be happening?

Thanks
Nilay


On Fri, 8 Jun 2012, Uri Wiener wrote:

Hi Nilay,
As I see it, it's now the receiving end's responsibility to implement
recvTimingSnoopReq, possibly a void function (e.g. as done
at src/cpu/o3/cpu.hh, src/arch/x86/pagetable_walker.hh,
src/cpu/simple/timing.hh).
So the snoop is always forwarded if forwardSnoops==true  (in vain in such
cases). If recvTimingSnoopReq wasn't implemented, you'll end up with
port.hh's recvTimingSnoopReq, and will panic("%s was not expecting a timing
snoop request\n", name()).
I hope this correctly motivates the current implementation.
Regards,
Uri

2012/6/8 Nilay Vaish <[email protected]>

Hi

On line 1188, function handleSnoop(), file cache_impl.hh, there is a check
on whether or not to forward snoops. Should there be a check there on
whether or not the cpu side port is accepts snoop requests?

--
Nilay
______________________________**_________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/**listinfo/gem5-dev<http://m5sim.org/mailman/listinfo/gem5-dev>

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

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

Reply via email to