I'm trying to reproduce data from InvisiSpec paper. InvisiSpec is a defense mechanism in hardware for Spectre attack. I'm using github code that was released by the author of the paper.
Currently I can build and run last version of gem5 simulator on my system successfully. However I get the following exception when trying to build their code
Exception: MI_example-cache.sm:401: Error: Invalid method call: Type 'Sequencer' does not have a method evictionCallback, 'evictionCallback_Addr' nor '':
I don't know where this error comes from. I looked through many things but haven't had any success. I appreciate if anyone could help me find what is causing the exception. The issue is posted in the corresponding github repository too.
The above error and some other errors that came after were related to protocol MI and also scons and python version. I could build it with MESI protocol.
python2.7 `which scons` build/X86/gem5.opt --default=X86 PROTOCOL=MESI_Two_Level
Comparing the modified version of InvisiSpec with original Gem5, I believe the author of paper made changes for memory consistency that works with MESI protocol. Codes related to other protocols need to be updated accordingly.