在gem5中有许多可能的和可选的选择。例如,我可以通过--debug-help
命令显示--debug-flags
赋值的所有可能的调试选项。但是我怎么知道--cpu-type
赋值的可选选项呢?有像--cpu-type-help
这样的命令来显示--cpu-type
的可选赋值吗?我运行了gem5.opt help
的命令,我没有看到关于--cpu-type
的介绍。
发布于 2020-09-30 15:51:13
除了Ciro's answer之外,还多次使用一个命令列出对象类型的可能值,而无需提供随机值。例如,在--cpu-type
的情况下,有一个--list-cpu-types
可以完全执行您想要的操作,而不需要额外的(随机)参数。
通常,这些命令遵循--list-x-types
格式,它们的函数回调在文件configs/common/Options.py的开头定义(例如,对于CPU类型,它是_listCpuTypes
)。
添加更多列表和为所选基类添加相应的ObjectList
(configs/common/ObjectList.py)实例一样简单。例如,为了让预取器使用ObjectList
,this patch移植了前面的代码。
发布于 2020-09-29 03:43:40
对于--cpu-type
,如果您在命令行界面上键入任何错误的值,例如:
--cpu-type adsf
错误消息将打印可能的选项:
fs.py: error: option --cpu-type: invalid choice: 'asfd' (choose from 'O3_ARM_v7a_3', 'AtomicSimpleCPU', 'TraceCPU', 'ex5_big', 'DerivO3CPU', 'MinorCPU', 'HPI', 'ex5_LITTLE', 'NonCachingSimpleCPU', 'TimingSimpleCPU')
这也可以很容易地从源代码(configs/common/Options.py)中看到:
parser.add_option("--cpu-type", type="choice", default="AtomicSimpleCPU",
choices=ObjectList.cpu_list.get_names(),
其中cpu_list
定义为(configs/common/ObjectList.py):
cpu_list = CPUList(getattr(m5.objects, 'BaseCPU', None))
由此我们推断有效的选择是BaseCPU
派生类。
gem5 6bc2111c9674d0c8db22f6a6adcc00e49625aabd。
https://stackoverflow.com/questions/64103703
复制相似问题