我希望m5 readfile
将从主机读取文件,m5 execfile
将从主机执行文件,但文档很少,我无法让它们工作。
可能路径由readfile=
中的m5out/config.ini
确定,但在使用fs.py
时我不知道如何修改该设置;当我重新启动gem5时,它会覆盖该文件。
我能够使用相关的m5 writefile
但是:
旅客:
echo mycontent > myfileguest
m5 writefile myfileguest myfilehost
主机:
cat m5out/myfilehost
答案 0 :(得分:1)
<强> readfile
强>
从gem5 68af229490fc811aebddf68b3e2e09e63a5fa475开始,您可以设置readfile
路径:
fs.py --script=myfile
与writefile
不同,路径相对于主机上的当前目录,而不是m5out
。
然后,当您在guest虚拟机中运行m5 readfile
时,它会将文件的内容输出到stdout。
在fs.py
脚本中执行此操作:
if options.script is not None:
test_sys.readfile = options.script
似乎继承自class System
,最终将配置序列化为config.ini
仅用于调试目的。
<强>的execfile 强>
execfile
只是readfile
上的一个非常轻量级的包装器,它不是将输入文件写入stdout,而是将其写入/tmp/execfile
,然后运行exec
系统调用来自C。
但是,从68af229490fc811aebddf68b3e2e09e63a5fa475开始,m5
没有:
O_CREAT
所以你必须对客人做:
touch /tmp/execfile
chmod +x /tmp/execfile
m5 execfile
我更愿意使用m5 readfile
和一些脚本执行此操作。
m5 execfile
可能会作为init
程序使用,但我觉得传递给init程序的参数太笨拙且不可实现。