gem5中有许多可能的可选选项。例如,我可以通过--debug-help
的命令显示--debug-flags
分配的所有可能的调试选项。但是我怎么知道--cpu-type
赋值的可选选项呢?有没有像--cpu-type-help
这样的命令来显示--cpu-type
的可选赋值?我运行了gem5.opt help
的命令,没有看到关于--cpu-type
的介绍。
除了Ciro的答案外,还有一个命令多次列出对象类型的可能值,而无需提供随机值。例如,在--cpu-type
的情况下,有一个--list-cpu-types
可以在不需要额外(随机(参数的情况下执行您想要的操作。
通常,这些命令遵循--list-x-types
格式,并且它们的函数回调在configs/common/Options.py文件的开头定义(例如,对于CPU类型,它是_listCpuTypes
(。
添加更多列表就像为选定基类添加相应的ObjectList
(configs/common/ObjectList.py(实例一样简单。例如,此补丁移植了预取器使用ObjectList
的先前代码。
对于--cpu-type
,如果在CLI上键入任何错误的值,例如:
--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))
由此我们推断出有效的选择是CCD_ 16派生的类。
gem5 6bc2111c9674d0c8db22f6a6adc00e49625abd。