Я столкнулся с ошибкой gem5 при запуске симуляции gem5 fs для aarch64 в режиме голого металла. Особенно, когда мой пользовательский загрузочный код пытался сделать недействительным TLB с помощью инструкции по сборке tlbi ALLE3
, симулятор сообщил следующее сообщение:
system.cpu T0 : @core0+72 : msr tlbi_alle3, xzr : IntAlu :
Undefined Instruction: Invoking Fault (AArch64 target EL) : Undefined Instruction cpsr:0x3c5 PC:0x2186c elr:0x2186c newVec: 0xa00
Кроме того, я тестировал с "tlbi ALLE1", но в итоге получилась та же ошибка. Для справки, я настроил тип процессора с помощью TimingSimpleCPU. Судя по сообщению, переданная инструкция tlbi в модели процессора ARM64 не реализована. Однако, поскольку я знаю, что gem5 успешно загружает Linux для aarch64 в режиме fs, мне интересно, как этот случай может обработать инструкцию tlbi. Другими словами, если инструкция tlbi действительно не реализована в gem5, я думаю, что при загрузке Linux также должна была возникнуть та же ошибка. Могу ли я узнать, сталкивался ли кто-нибудь с неопределенной ошибкой инструкции tlbi в gem5?
Спасибо за ваш ответ / комментарий заранее.
Update1 : Дальнейшее исследование показало, что tlbi VMALLE3
не вызвало ошибок, в то время как инструкция tlbi ALLE3
вызвала неопределенную ошибку инструкции.