Невозможно собрать InvisiSpec в gem5, ошибка отсутствует метод evictionCallback - PullRequest
1 голос
/ 12 мая 2019

Я пытаюсь воспроизвести данные с бумаги InvisiSpec . 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 .

1 Ответ

0 голосов
/ 13 мая 2019

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

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

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

...