一、参考资料
二、遇到问题&修改
在执行官网提供的代码时,到processor语句时,出现报错无法执行。在参考上面的文章后,将gem5官方文档提供的代码修改了几个部分,最终执行成功
修改1
require KVM设为false(假如机器不支持KVM)
requires(
isa_required=ISA.X86,
coherence_protocol_required=CoherenceProtocol.MESI_TWO_LEVEL,
kvm_required=False,
)
修改2
SimpleSwitchableProcessor中的参数starting_core_type修改为CPUTypes.TIMING,加上isa=ISA.X86(官网给的例子没有这一行)
processor = SimpleSwitchableProcessor(
starting_core_type=CPUTypes.TIMING,
switch_core_type=CPUTypes.TIMING,
isa=ISA.X86,
num_cores=2,
)
三、运行测试
在终端输入如下命令
./build/X86/gem5.opt x86-ubuntu-run.py
当出现Don't know what interrupt to clear for console
时,打开另一个终端,进入gem5/util/term
目录,如果没有编译,则先输入make。之后输入./m5term l127.0.0.1 3456
,打印出如下日志。
说明已经开始进行初始化,之后需要等待大约1-2小时(由于没有开启KVM),过程中终端打印日志等待时间可能较长,运行结束后,最终打印输出如下日志,即说明运行成功。