Не удается создать InvisiSpec в ошибке gem5 нет метода evictionCallback

Я пытаюсь воспроизвести данные из InvisiSpec paper. InvisiSpec - это аппаратный механизм защиты от атаки Spectre. Я использую код github, выпущенный автором статьи.

В настоящее время я могу успешно собрать и запустить последнюю версию симулятора gem5 в своей системе. Однако я получаю следующее исключение при попытке создать свой код

Exception: MI_example-cache.sm:401: Error: Invalid method call: Type 'Sequencer' does not have a method evictionCallback, 'evictionCallback_Addr' nor '':

Не знаю, откуда взялась эта ошибка. Я просмотрел много вещей, но безуспешно. Я признателен, если кто-нибудь может помочь мне найти причину исключения. Проблема также размещена в соответствующем репозитории github.


person parisa    schedule 11.05.2019    source источник
comment
Привет, Париж, несколько советов: 1) Сделайте заголовок точным: проблема при сборке или запуске? Добавьте ключевое короткое сообщение об ошибке в заголовок. 2) При публикации в другом месте, что было правильным, также укажите ссылку на вопрос восходящего направления: github.com/mjyan0720/InvisiSpec-1.0/issues/5   -  person Ciro Santilli    schedule 12.05.2019
comment
Кажется маловероятным, что это проблема SCons. Можете ли вы вставить еще часть журнала сборки?   -  person bdbaddog    schedule 13.05.2019


Ответы (1)


Вышеупомянутая ошибка и некоторые другие ошибки, появившиеся после, были связаны с протоколом MI, а также с scons и версией python. Я мог бы построить его по протоколу MESI.

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

Сравнивая модифицированную версию InvisiSpec с оригинальной Gem5, я ​​считаю, что автор статьи внес изменения в согласованность памяти, которая работает с протоколом MESI. Коды, относящиеся к другим протоколам, необходимо соответственно обновить.

person parisa    schedule 13.05.2019