在 gem5 fs 模式下从检查点恢复后无法 运行 运行 脚本

Not able to run the runscript after restoring from a checkpoint in gem5 fs mode

我已经能够在完整系统模式下 运行ning 在 ARM 磁盘映像上创建检查点并从该检查点恢复。但是,当我尝试 运行 运行script 并使用“--script”标志从该检查点恢复时(同时 运行ning configs/examples/fs.py 中的脚本),脚本没有被执行。我一直无法弄清楚为什么,在这方面的任何帮助将不胜感激。

初始加载系统(有效)-->build/ARM/gem5.opt configs/example/fs.py --disk-image=/home/bibin/projects/full-system-images/arm_18/disks/aarch64-ubuntu-trusty-headless.img --kernel=/home/bibin/projects/full-system-images/arm_18/binaries/vmlinux.vexpress_emm64 --bootloader=/home/bibin/projects/full-system-images/arm_18/binaries/boot_emm.arm64 --cpu-clock=250MHz --caches

通过 telnet 和 /sbin/m5 检查点创建检查点后从检查点恢复(这也有效)--> build/ARM/gem5.opt configs/example/fs.py --disk-image=/home/bibin/projects/full-system-images/arm_18/disks/aarch64-ubuntu-trusty-headless.img --kernel=/home/bibin/projects/full-system-images/arm_18/binaries/vmlinux.vexpress_emm64 --bootloader=/home/bibin/projects/full-system-images/arm_18/binaries/boot_emm.arm64 --cpu-clock=250MHz --caches -r 1

在从检查点恢复时尝试 运行 脚本(这不起作用)--> build/ARM/gem5.opt configs/example/fs.py --disk-image=/home/bibin/projects/full-system-images/arm_18/disks/aarch64-ubuntu-trusty-headless.img --kernel=/home/bibin/projects/full-system-images/arm_18/binaries/vmlinux.vexpress_emm64 --bootloader=/home/bibin/projects/full-system-images/arm_18/binaries/boot_emm.arm64 --cpu-clock=250MHz --caches --script=/home/bibin/projects/csr_parallelism/runscript_exit.rcS -r 1

运行脚本文件的内容就是这样 --> /sbin/m5 exit

explained here 一样,--script 设置由 m5 readefile 操作生成的标准输出。

它实际上不只是自动 运行 该脚本,您必须自己执行。

要在手动设置断点时实现此目的,您可以 运行 as explained here:

sh -c 'm5 checkpoint;m5 readfile > /tmp/gem5.sh && sh /tmp/gem5.sh'

这样,当检查点恢复时,我们就在中间 运行 设置一个 shell 脚本,然后 m5 readfile 并执行它的内容。