1

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.

parisa
  • 784
  • 1
  • 8
  • 27
  • 2
    Hi parisa, a few tips: 1) Make your title precise: is the problem when building or running? Add the key short error message to title 2) When also posting elsewhere, which was the right thing to do, link to the upstream question as well: https://github.com/mjyan0720/InvisiSpec-1.0/issues/5 – Ciro Santilli May 12 '19 at 10:19
  • Seems very unlikely this is a SCons issue. Can you paste more of your build log? – bdbaddog May 13 '19 at 19:59

1 Answers1

0

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.

parisa
  • 784
  • 1
  • 8
  • 27