如何使用超过8个核心的fs.py运行gem5 arm aarch64完整系统仿真?

时间:2018-05-09 07:43:40

标签: gem5

如果我尝试使用超过--num-cpus=8个核心,例如16,32或64,终端只留空。

在提交2a9573f5942b5416fb0570cf5cb6cdecba733392和Linux内核4.16上使用gem5进行测试。

相关主题:https://www.mail-archive.com/gem5-users@gem5.org/msg15469.html

2 个答案:

答案 0 :(得分:2)

如果我在Ciro的答案中添加更多内容,则默认情况下,由于this line of code,gem5中的当前GICv2模型支持单核。如果不启用gem5ExtensionsEnabled,它将不会用接收到的中断号更新highest_int,因此接收到的中断将不会被发布到指定的cpu上以调用处理程序。也就是说,没有跳转到中断处理程序。另外,即使打开gem5ExtensionsEnabled,我也认为它最多可以支持4个内核,因为INT_BITS_MAXitLines的默认值分别是32和128(请参阅{{ 3}});它检查每个内核跨越4个内核的32条中断线。例如,假设一个系统具有16个内核,而cpu 5执行该循环。同样,假设另一个内核(比如说内核11)已经有一个优先级比此更高的中断。然后,循环将忽略内核11的其他中断,因为循环索引x最多可以增长到3。

要打开gem5ExtensionsEnabled,您可以按照Ciro的说明将选项--param='system.realview.gic.gem5_extensions=True'传递给命令。但是,请注意,该参数用于在this上设置haveGem5Extensions变量,而不是设置gem5ExtensionsEnabled,只有在固件代码将某些数据(0x200)写入GIC分配器寄存器处时,该参数才启用GICD_TYPER偏移量(请参见here)。

答案 1 :(得分:1)

如上所述:https://www.mail-archive.com/gem5-dev@gem5.org/msg24593.html您需要:

使用Linux内核v4.15,aarch64在gem5 a5bc2291391b0497fdc60fdc960e07bcecebfb8f(2018年11月)上测试。