无法在gem5中建立InvisiSpec错误,没有evictionCallback方法

时间:2019-05-11 22:48:09

标签: scons gem5 spectre

我正在尝试从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中。

1 个答案:

答案 0 :(得分:0)

上述错误和随后发生的其他一些错误与协议MI以及cons和python版本有关。我可以用MESI协议构建它。

python2.7 `which scons` build/X86/gem5.opt --default=X86 PROTOCOL=MESI_Two_Level

我将InvisiSpec的修改版与原始Gem5进行了比较,我相信本文的作者针对与MESI协议兼容的内存一致性进行了更改。与其他协议相关的代码需要相应地更新。