Hello everyone,

I am trying to implement a cache with two tag and data storage. E.g in base.hh
BaseTags *tags1;
BaseTags *tags2;

When a cache receives a request or response, it will always access tags1 first, 
and if tags1 is full, a cache block in tags1 will be moved to tags2, and a 
victim in tag2s will be write back.
Currently I am receiving the following error message:

build/X86/mem/snoop_filter.cc:146: panic: panic condition (sf_item.holder & 
req_port).none() occurred: requestor 
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
 is not a holder :( SF value 
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

It seems that the snoop filter does not think my l1i cache has the specific 
cache block that it is trying to writeback.
My questions is: How do inconsistency between the cache and snoop filter could 
happen?

Regards,
Zelong Li

_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to