在 ARM bigLITTLE 上运行 gem5 完整系统时出错

如何解决在 ARM bigLITTLE 上运行 gem5 完整系统时出错

我在 ubuntu 18.04.5 上安装了 gem5。如果我运行一个通用的 fs.py ARM 架构,那么无论我使用什么配置,模拟都可以正常启动。例如:

./build/ARM/gem5.opt configs/example/fs.py --kernel=/home/ting-bazinga/gem5/fs_imgs/binaries/vmlinux.arm64
--disk-image=/home/ting-bazinga/gem5/fs_imgs/disks/aarch32-ubuntu-natty-headless.img

我按照多个教程在 ARM bigLITTLE 架构中以完整系统模式运行 gem5,但没有一个成功。我尝试了不同的磁盘映像文件、内核和引导脚本组合,但没有成功。有些给出内核恐慌错误,有些给出:

[    0.199882] init: hwclock main process (592) terminated with status 1

例如,如果我使用命令(在 http://www.gem5.org/assets/files/ASPLOS2017_gem5_tutorial.pdf 中提供):

./build/ARM/gem5.opt configs/example/arm/fs_bigLITTLE.py --kernel=/home/ting-bazinga/gem5/linux-arm-gem5/vmlinux 
--cpu-type=atomic --dtb=/home/ting-bazinga/gem5/system/arm/dt/armv8_gem5_v1_big_little_2_4.dtb --disk=/home/ting-bazinga/gem5/fs_imgs/disks/aarch64-ubuntu-trusty-headless.img

那么输出是

==== m5 terminal: Terminal 0 ====
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 4.4.0+ (ting-bazinga@tingbazinga-Alienware-17-R5) (gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) ) #1 SMP PREEMPT Fri Mar 5 00:17:28 CST 2021
[    0.000000] Boot CPU: AArch64 Processor [410fd070]
[    0.000000] earlycon: Early serial console at MMIO 0x1c090000 (options '')
[    0.000000] bootconsole [uart0] enabled
[    0.000000] Memory limited to 2048MB
[    0.000000] cma: Reserved 16 MiB at 0x00000000ff000000
[    0.000000] On node 0 totalpages: 524288
[    0.000000]   DMA zone: 8192 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 524288 pages,LIFO batch:31
[    0.000000] PERCPU: Embedded 15 pages/cpu @ffffffc07efc9000 s23704 r8192 d29544 u61440
[    0.000000] pcpu-alloc: s23704 r8192 d29544 u61440 alloc=15*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: enabling workaround for ARM erratum 832075
[    0.000000] CPU features: enabling workaround for ARM erratum 834220
[    0.000000] Built 1 zonelists in Zone order,mobility grouping on.  Total pages: 516096
[    0.000000] Kernel command line: earlyprintk earlycon=pl011,0x1c090000 console=ttyAMA0 lpj=19988480 norandmaps loglevel=8 mem=2GB root=/dev/vda1 rw init=/sbin/init vmalloc=768MB
[    0.000000] PID hash table entries: 4096 (order: 3,32768 bytes)
[    0.000000] Dentry cache hash table entries: 262144 (order: 9,2097152 bytes)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8,1048576 bytes)
[    0.000000] software IO TLB [mem 0xf8a00000-0xfca00000] (64MB) mapped at [ffffffc078a00000-ffffffc07c9fffff]
[    0.000000] Memory: 1970336K/2097152K available (5478K kernel code,138K rwdata,1760K rodata,236K init,239K bss,110432K reserved,16384K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vmalloc : 0xffffff8000000000 - 0xffffffbdbfff0000   (   246 GB)
[    0.000000]     vmemmap : 0xffffffbdc0000000 - 0xffffffbfc0000000   (     8 GB maximum)
[    0.000000]               0xffffffbdc2000000 - 0xffffffbdc4000000   (    32 MB actual)
[    0.000000]     fixed   : 0xffffffbffa7fd000 - 0xffffffbffac00000   (  4108 KB)
[    0.000000]     PCI I/O : 0xffffffbffae00000 - 0xffffffbffbe00000   (    16 MB)
[    0.000000]     modules : 0xffffffbffc000000 - 0xffffffc000000000   (    64 MB)
[    0.000000]     memory  : 0xffffffc000000000 - 0xffffffc080000000   (  2048 MB)
[    0.000000]       .init : 0xffffffc000793000 - 0xffffffc0007ce000   (   236 KB)
[    0.000000]       .text : 0xffffffc000080000 - 0xffffffc000792a04   (  7243 KB)
[    0.000000]       .data : 0xffffffc0007e1000 - 0xffffffc000803b60   (   139 KB)
[    0.000000] SLUB: HWalign=64,Order=0-3,MinObjects=0,CPUs=2,Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 64.
[    0.000000]  RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64,nr_cpu_ids=2
[    0.000000] NR_IRQS:64 nr_irqs:64 0
[    0.000000] clk_gem5_energy_ctrl: No cpu-map in DT! Falling back to old detection method!
[    0.000000] clk_gem5_energy_ctrl: No clusters in DT! Falling back to using CPU topology!
[    0.000000] Architected cp15 and mmio timer(s) running at 25.16MHz (virt/virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x5cdd39714,max_idle_ns: 440795202620 ns
[    0.000001] sched_clock: 56 bits at 25MHz,resolution 39ns,wraps every 4398046511084ns
[    0.000053] Console: colour dummy device 80x25
[    0.000057] Calibrating delay loop (skipped) preset value.. 9994.24 BogoMIPS (lpj=19988480)
[    0.000062] pid_max: default: 32768 minimum: 301
[    0.000088] Mount-cache hash table entries: 4096 (order: 3,32768 bytes)
[    0.000092] Mountpoint-cache hash table entries: 4096 (order: 3,32768 bytes)
[    0.000283] ASID allocator initialised with 256 entries
[    0.032000] Detected PIPT I-cache on CPU1
[    0.032015] CPU1: Booted secondary processor [410fd070]
[    0.032030] Brought up 2 CPUs
[    0.032037] SMP: Total of 2 processors activated.
[    0.032040] CPU features: detected feature: Privileged Access Never
[    0.032046] CPU: All CPU(s) started at EL1
[    0.032053] alternatives: patching kernel code
[    0.032426] devtmpfs: initialized
[    0.033559] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff,max_idle_ns: 7645041785100000 ns
[    0.033792] atomic64_test: passed
[    0.034739] NET: Registered protocol family 16
[    0.072492] vdso: 2 pages (1 code @ ffffffc0007e9000,1 data @ ffffffc0007e8000)
[    0.072503] hw-breakpoint: found 16 breakpoint and 16 watchpoint registers.
[    0.072876] DMA: preallocated 256 KiB pool for atomic allocations
[    0.072881] Serial: AMBA PL011 UART driver
[    0.073000] /rtc@1c170000: could not find phandle
[    0.073004] ERROR: could not get clock /rtc@1c170000:apb_pclk(0)
[    0.073009] of_amba_device_create(): amba_device_add() failed (-2) for /rtc@1c170000
[    0.073053] of_amba_device_create(): amba_device_add() failed (-2) for /watchdog@2a490000
[    0.073097] of_amba_device_create(): amba_device_add() failed (-2) for /watchdog@2b060000
[    0.073141] /watchdog@1c0f0000: could not find phandle
[    0.073144] ERROR: could not get clock /watchdog@1c0f0000:apb_pclk(1)
[    0.073149] of_amba_device_create(): amba_device_add() failed (-2) for /watchdog@1c0f0000
[    0.073680] 1c090000.uart: ttyAMA0 at MMIO 0x1c090000 (irq = 12,base_baud = 0) is a PL011 rev3
[    0.073685] console [ttyAMA0] enabled
[    0.073685] console [ttyAMA0] enabled
[    0.073689] bootconsole [uart0] disabled
[    0.073689] bootconsole [uart0] disabled
[    0.074091] 1c0a0000.uart: ttyAMA1 at MMIO 0x1c0a0000 (irq = 13,base_baud = 0) is a PL011 rev3
[    0.074282] 1c0b0000.uart: ttyAMA2 at MMIO 0x1c0b0000 (irq = 14,base_baud = 0) is a PL011 rev3
[    0.074481] 1c0c0000.uart: ttyAMA3 at MMIO 0x1c0c0000 (irq = 15,base_baud = 0) is a PL011 rev3
[    0.074626] of_amba_device_create(): amba_device_add() failed (-2) for /kmi@1c070000
[    0.074669] of_amba_device_create(): amba_device_add() failed (-2) for /kmi@1c060000
[    0.096153] vgaarb: loaded
[    0.096283] SCSI subsystem initialized
[    0.100053] libata version 3.00 loaded.
[    0.100155] usbcore: registered new interface driver usbfs
[    0.100181] usbcore: registered new interface driver hub
[    0.100200] usbcore: registered new device driver usb
[    0.100247] pps_core: LinuxPPS API ver. 1 registered
[    0.100251] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.100264] PTP clock support registered
[    0.100616] clocksource: Switched to clocksource arch_sys_counter
[    0.104724] NET: Registered protocol family 2
[    0.104888] TCP established hash table entries: 16384 (order: 5,131072 bytes)
[    0.104976] TCP bind hash table entries: 16384 (order: 6,262144 bytes)
[    0.105071] TCP: Hash tables configured (established 16384 bind 16384)
[    0.105089] UDP hash table entries: 1024 (order: 3,32768 bytes)
[    0.105111] UDP-Lite hash table entries: 1024 (order: 3,32768 bytes)
[    0.105175] NET: Registered protocol family 1
[    0.105271] RPC: Registered named UNIX socket transport module.
[    0.105274] RPC: Registered udp transport module.
[    0.105278] RPC: Registered tcp transport module.
[    0.105281] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.105287] PCI: CLS 0 bytes,default 128
[    0.105477] kvm [1]: HYP mode not available
[    0.105757] futex hash table entries: 512 (order: 4,65536 bytes)
[    0.105956] HugeTLB registered 2 MB page size,pre-allocated 0 pages
[    0.115434] fuse init (API version 7.23)
[    0.115945] io scheduler noop registered
[    0.116020] io scheduler cfq registered (default)
[    0.116127] PCI host bridge /pci ranges:
[    0.116131]   No bus range found for /pci,using [bus 00-ff]
[    0.116138]    IO 0x2f000000..0x2f00ffff -> 0x00000000
[    0.116144]   MEM 0x40000000..0x7fffffff -> 0x00000000
[    0.117325] pci-host-generic 30000000.pci: PCI host bridge to bus 0000:00
[    0.117331] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.117336] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.117342] pci_bus 0000:00: root bus resource [mem 0x40000000-0x7fffffff] (bus address [0x00000000-0x3fffffff])
[    0.117348] pci_bus 0000:00: scanning bus
[    0.117356] pci 0000:00:01.0: [1af4:1000] type 00 class 0xff0000
[    0.117363] pci 0000:00:01.0: reg 0x10: [io  0x0000-0x001f]
[    0.117374] pci 0000:00:01.0: reg 0x30: [mem 0x40000000-0x400007ff pref]
[    0.117463] pci_bus 0000:00: fixups for bus
[    0.117467] pci_bus 0000:00: bus scan returning with max=00
[    0.117478] pci 0000:00:01.0: fixup irq: got 19
[    0.117482] pci 0000:00:01.0: assigning IRQ 19
[    0.117489] pci 0000:00:01.0: BAR 6: assigned [mem 0x40000000-0x400007ff pref]
[    0.117495] pci 0000:00:01.0: BAR 0: assigned [io  0x1000-0x101f]
[    0.117603] virtio-pci 0000:00:01.0: enabling device (0000 -> 0001)
[    0.117609] virtio-pci 0000:00:01.0: virtio_pci: leaving for legacy driver
[    0.117615] virtio-pci 0000:00:01.0: enabling bus mastering
[    0.119296] Serial: 8250/16550 driver,4 ports,IRQ sharing disabled
[    0.124177]  vda: vda1
[    0.128799] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
[    0.128803] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    0.128834] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    0.128838] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    0.128869] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.3.0-k
[    0.128873] igb: Copyright (c) 2007-2014 Intel Corporation.
[    0.128905] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 4.2.1-k
[    0.128909] ixgbe: Copyright (c) 1999-2015 Intel Corporation.
[    0.128944] ixgbevf: Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver - version 2.12.1-k
[    0.128948] ixgbevf: Copyright (c) 2009 - 2012 Intel Corporation.
[    0.128980] i40e: Intel(R) Ethernet Connection XL710 Network Driver - version 1.3.46-k
[    0.128984] i40e: Copyright (c) 2013 - 2014 Intel Corporation.
[    0.129017] ixgb: Intel(R) PRO/10GbE Network Driver - version 1.0.135-k2-NAPI
[    0.129021] ixgb: Copyright (c) 1999-2008 Intel Corporation.
[    0.129053] i40evf: Intel(R) XL710/X710 Virtual Function Network Driver - version 1.3.33
[    0.129057] Copyright (c) 2013 - 2015 Intel Corporation.
[    0.129267] usbcore: registered new interface driver usb-storage
[    0.129408] mousedev: PS/2 mouse device common for all mice
[    0.133710] gem5 DVFS handler is disabled
[    0.133713] gem5-energy-ctrl loaded at ffffff800007c000
[    0.133717] gem5_energy_ctrl_mc: gem5_mc_init: DVFS handler in energy controller is disabled,ARM gem5 multi-cluster cpufreq driver                         will not be registered
[    0.134007] usbcore: registered new interface driver usbhid
[    0.134011] usbhid: USB HID core driver
[    0.134079] NET: Registered protocol family 17
[    0.138928] EXT4-fs (vda1): couldn't mount as ext3 due to feature incompatibilities
[    0.143482] EXT4-fs (vda1): mounted filesystem without journal. Opts: (null)
[    0.143490] VFS: Mounted root (ext4 filesystem) on device 254:1.
[    0.143795] devtmpfs: mounted
[    0.143836] Freeing unused kernel memory: 236K (ffffffc000793000 - ffffffc0007ce000)
[    0.143846] Freeing alternatives memory: 52K (ffffffc0007ce000 - ffffffc0007db000)
Mount failed for selinuxfs on /sys/fs/selinux:  No such file or directory
[    0.184933] random: init urandom read with 6 bits of entropy available
[    0.199882] init: hwclock main process (592) terminated with status 1

谁能帮我解决这个问题?我找不到任何可以成功启动 bigLITTLE arm 模拟的配置。有没有人能够做到这一点?

仅供参考,我发现我下载的 fs_bigLITTLE.py 与其他人提供的不同。一些教程使用没有 --kernel 选项的命令,但我的说:

fs_bigLITTLE.py: error: argument --kernel is required

解决方法

我发现你的命令行有问题:

./build/ARM/gem5.opt configs/example/arm/fs_bigLITTLE.py \
    --kernel=/home/ting-bazinga/gem5/linux-arm-gem5/vmlinux 
    --cpu-type=atomic \
    --dtb=/home/ting-bazinga/gem5/system/arm/dt/armv8_gem5_v1_big_little_2_4.dtb \
    --disk=/home/ting-bazinga/gem5/fs_imgs/disks/aarch64-ubuntu-trusty-headless.img

fs_bigLITTLE 默认使用 1 个小核心和 1 个大核心,而您使用的 DTB 假设有 2 个大核心和 4 个小核心。删除 --dtb 选项应该可以正常工作(依赖 DTB 自动生成)。 另一个选项是将命令行与 dtb 对齐(使用 --big-cpus 和 --little-cpus 选项)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-