gem5 - 如何使用 gem5 fs.py 在模拟中附加多个磁盘镜像?

标签 gem5

https://www.mail-archive.com/gem5-users@gem5.org/msg15233.html Jason提到了附加两个磁盘镜像来恢复的技术 一个检查点并运行不同的基准测试。

使用fs.py时是否可以指定多个磁盘镜像?从 我认为目前不支持源代码,但只是 在我决定是否修补它之前仔细检查。

似乎多个 --disk-image= 选项只是互相覆盖。

fs_bigLITTLE.py 似乎支持它。

gem5 60600f09c25255b3c8f72da7fb49100e2682093a

https://www.mail-archive.com/gem5-users@gem5.org/msg15675.html

最佳答案

我在这里回复: https://www.mail-archive.com/gem5-users@gem5.org/msg15714.html

基本上,http://www.gem5.org/AsimBench显示了如何使用 fs.py 执行此操作的示例。您可以使用此补丁进行尝试:

diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py
index e2b6616..e01cc13 100644
--- a/configs/common/FSConfig.py
+++ b/configs/common/FSConfig.py
@@ -266,15 +266,17 @@ def makeArmSystem(mem_mode, machine_type, num_cpus=1, mdesc=None,

    self.cf0 = CowIdeDisk(driveID='master')
    self.cf0.childImage(mdesc.disk())
+   self.disk2 = CowIdeDisk(driveID='master')
+   self.disk2.childImage(disk('workloads.img'))
    # Old platforms have a built-in IDE or CF controller. Default to
    # the IDE controller if both exist. New platforms expect the
    # storage controller to be added from the config script.
    if hasattr(self.realview, "ide"):
-       self.realview.ide.disks = [self.cf0]
+       self.realview.ide.disks = [self.cf0, self.disk2]
    elif hasattr(self.realview, "cf_ctrl"):
-       self.realview.cf_ctrl.disks = [self.cf0]
+       self.realview.cf_ctrl.disks = [self.cf0, self.disk2]
    else:
-       self.pci_ide = IdeController(disks=[self.cf0])
+       self.pci_ide = IdeController(disks=[self.cf0, self.disk2])
        pci_devices.append(self.pci_ide)

    self.mem_ranges = []

请注意,在此示例中,您必须在 M5_PATH 中提供一个名为 workloads.img 的图像(gem5 的环境变量指向包含系统文件的目录)。当然,您可以将其更改为您想要的任何值或通过选项传递它。

另请注意,在启动时,您必须先使用普通工具挂载第二个磁盘来挂载磁盘。 这可以通过例如

sudo mount /dev/sdb1 /mnt

第二个磁盘镜像中的所有文件将出现在/mnt 下

关于gem5 - 如何使用 gem5 fs.py 在模拟中附加多个磁盘镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50862906/

相关文章:

gem5 - gem5 CPU 型号之间有什么区别,哪一个对于我的模拟来说更准确?

python - 使用 Pycharm 编写 gem5 配置脚本

ubuntu - 构建gem5的核心数是多少

ubuntu - 如何在 Ubuntu 20 上下载 gcc v4.4.3 版本?

gem5 - 如何使用 se.py 在 gem5 系统调用仿真模式下编译和运行可执行文件?

macos - Mac OSX上的Gem5,生成问题(错误)

scons - 构建gem5时出错: TypeError : File/hdd/Me/gem5/src/systemc/ext/systemc found where directory expected

python - 构建 gem5.opt 时,我得到 'ImportError: no module named six'

c - Intel/ARM 内在函数等价