我正在尝试从InvisiSpec paper复制数据。 InvisiSpec是硬件中针对Spectre攻击的防御机制。我使用的是本文作者发布的github code。
当前,我可以在系统上成功构建并运行最新版本的gem5模拟器。但是,在尝试构建其code
时遇到以下异常Exception: MI_example-cache.sm:401: Error: Invalid method call: Type 'Sequencer' does not have a method evictionCallback, 'evictionCallback_Addr' nor '':
我不知道此错误来自何处。我浏览了很多东西,但没有成功。如果有人能帮助我找到导致异常的原因,我将不胜感激。该问题也发布在相应的github repository中。
答案 0 :(得分:0)
上述错误和随后发生的其他一些错误与协议MI以及cons和python版本有关。我可以用MESI协议构建它。
python2.7 `which scons` build/X86/gem5.opt --default=X86 PROTOCOL=MESI_Two_Level
我将InvisiSpec的修改版与原始Gem5进行了比较,我相信本文的作者针对与MESI协议兼容的内存一致性进行了更改。与其他协议相关的代码需要相应地更新。