Dear all,

I wonder does anyone successfully run FS mode on ARM_MESI_Three_Level_HTM
protocol? If so is it possible to share the gem5 version and the running
command? I tried multiple versions and commands but it doesn't work and the
details are below.

First, the newest gem5 v21 changes some stats collection part by running it
generates stats initialization failure error.
*Command&error*:

> ➜  gem5 git:(stable) ✗ ./build/ARM_MESI_Three_Level_HTM/gem5.opt
> ./configs/example/fs.py --ruby --num-cpus=1 --cpu-type=O3_ARM_v7a_3
> --disk-image=$M5_PATH/disks/linaro-minimal-aarch64.img
> --kernel=./system/linux/vmlinux

Global frequency set at 1000000000000 ticks per second
> warn: No dot file generated. Please install pydot to generate the dot file
> and pdf.
> warn: DRAM device capacity (8192 Mbytes) does not match the address range
> assigned (512 Mbytes)
> info: No kernel set for full system simulation. Assuming you know what
> you're doing.
> system.vncserver: Listening for connections on port 5900
> system.terminal: Listening for connections on port 3456
> system.realview.uart1.device: Listening for connections on port 3457
> system.realview.uart2.device: Listening for connections on port 3458
> system.realview.uart3.device: Listening for connections on port 3459
> 0: system.remote_gdb: listening for remote gdb on port 7000
>
> *gem5.opt: build/ARM_MESI_Three_Level_HTM/base/statistics.hh:938: void
> Stats::VectorBase<Derived, Stor>::doInit(Stats::size_type) [with Derived =
> Stats::Vector; Stor = Stats::StatStor; Stats::size_type = unsigned int]:
> Assertion `!storage && "already initialized"' failed.*Program aborted at
> tick 0
> --- BEGIN LIBC BACKTRACE ---
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x14b0b0c)[0x5632c5b09b0c]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x14b0c08)[0x5632c5b09c08]
> /lib/x86_64-linux-gnu/libpthread.so.0(+0x15420)[0x7ff5e0f20420]
> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7ff5e0d5f18b]
> /lib/x86_64-linux-gnu/libc.so.6(abort+0x12b)[0x7ff5e0d3e859]
> /lib/x86_64-linux-gnu/libc.so.6(+0x25729)[0x7ff5e0d3e729]
> /lib/x86_64-linux-gnu/libc.so.6(+0x36f36)[0x7ff5e0d4ff36]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x152b218)[0x5632c5b84218]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x77ccfb)[0x5632c4dd5cfb]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0xaf123a)[0x5632c514a23a]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x78d2e0)[0x5632c4de62e0]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0xaf123a)[0x5632c514a23a]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0xaf123a)[0x5632c514a23a]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x14d3fd9)[0x5632c5b2cfd9]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0xaf123a)[0x5632c514a23a]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x1472f56)[0x5632c5acbf56]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0xb2677a)[0x5632c517f77a]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x2a8408)[0x7ff5e0a6b408]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyObject_MakeTpCall+0xab)[0x7ff5e0a6b7db]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x2a8aa0)[0x7ff5e0a6baa0]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x74d6d)[0x7ff5e0837d6d]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x7d86)[0x7ff5e083fef6]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalCodeWithName+0x8fb)[0x7ff5e098dd3b]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyFunction_Vectorcall+0x94)[0x7ff5e0a6ade4]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x74d6d)[0x7ff5e0837d6d]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x7d86)[0x7ff5e083fef6]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalCodeWithName+0x8fb)[0x7ff5e098dd3b]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyFunction_Vectorcall+0x94)[0x7ff5e0a6ade4]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x74d6d)[0x7ff5e0837d6d]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x7d86)[0x7ff5e083fef6]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalCodeWithName+0x8fb)[0x7ff5e098dd3b]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(PyEval_EvalCodeEx+0x42)[0x7ff5e098e0c2]
> --- END LIBC BACKTRACE ---
> [1]    2465782 abort (core dumped)
>  ./build/ARM_MESI_Three_Level_HTM/gem5.opt ./configs/example/fs.py --ruby


Second,  I tried on an older gem5 version (
*0d703041fcd5d119012b62287695723a2955b408*), which works for all my
experiments in SE mode. For the FS mode, I can boot the machine, but when I
tried to create a checkpoint it will abort immediately. The main error
message is "*panic: Runtime Error at MESI_Three_Level_HTM-L0cache.sm:315:
Invalid RubyRequestType.*"

*Command:*

> ➜  gem5 git:(stable) ✗ ./build/ARM_MESI_Three_Level_HTM/gem5.opt
> ./configs/example/fs.py --ruby --num-cpus=1 --cpu-type=TimingSimpleCPU
> --disk-image=$M5_PATH/disks/linaro-minimal-aarch64.img
> --kernel=./system/linux/vmlinux

*m5term output:*

> ➜  ~ m5term 127.0.0.1 3456
> ==== m5 terminal: Terminal 0 ====
> [    0.000000] Booting Linux on physical CPU 0x0
> [    0.000000] Linux version 4.14.0+ (zzz@ArchLab) (gcc version 10.2.0
> (Ubuntu 10.2.0-5ubuntu1~20.04)) #1 SMP PREEMPT Fri Apr 30 14:12:57 PDT 2021
> [    0.000000] Boot CPU: AArch64 Processor [410fd070]
> [    0.000000] Machine model: V2P-CA15
> [    0.000000] Memory limited to 512MB
> [    0.000000] cma: Reserved 16 MiB at 0x000000009f000000
> [    0.000000] On node 0 totalpages: 131072
> [    0.000000]   DMA zone: 2048 pages used for memmap
> [    0.000000]   DMA zone: 0 pages reserved
> [    0.000000]   DMA zone: 131072 pages, LIFO batch:31
> [    0.000000] random: fast init done
> [    0.000000] percpu: Embedded 21 pages/cpu @ffffffc01efd7000 s45464
> r8192 d32360 u86016
> [    0.000000] pcpu-alloc: s45464 r8192 d32360 u86016 alloc=21*4096
> [    0.000000] pcpu-alloc: [0] 0
> [    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, mobility grouping on.  Total pages:
> 129024
> [    0.000000] Kernel command line: earlyprintk=pl011,0x1c090000
> console=ttyAMA0 lpj=19988480 norandmaps rw loglevel=8 mem=512MB
> root=/dev/sda1
> [    0.000000] PID hash table entries: 2048 (order: 2, 16384 bytes)
> [    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288
> bytes)
> [    0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144
> bytes)
> [    0.000000] Memory: 479948K/524288K available (6142K kernel code, 472K
> rwdata, 3316K rodata, 384K init, 262K bss, 27956K reserved, 16384K
> cma-reserved)
> [    0.000000] Virtual kernel memory layout:
> [    0.000000]     modules : 0xffffff8000000000 - 0xffffff8008000000   (
> 128 MB)
> [    0.000000]     vmalloc : 0xffffff8008000000 - 0xffffffbebfff0000   (
> 250 GB)
> [    0.000000]       .text : 0xffffff8008080000 - 0xffffff8008680000   (
>  6144 KB)
> [    0.000000]     .rodata : 0xffffff8008680000 - 0xffffff80089c0000   (
>  3328 KB)
> [    0.000000]       .init : 0xffffff80089c0000 - 0xffffff8008a20000   (
> 384 KB)
> [    0.000000]       .data : 0xffffff8008a20000 - 0xffffff8008a96008   (
> 473 KB)
> [    0.000000]        .bss : 0xffffff8008a96008 - 0xffffff8008ad78d8   (
> 263 KB)
> [    0.000000]     fixed   : 0xffffffbefe7fd000 - 0xffffffbefec00000   (
>  4108 KB)
> [    0.000000]     PCI I/O : 0xffffffbefee00000 - 0xffffffbeffe00000   (
>  16 MB)
> [    0.000000]     vmemmap : 0xffffffbf00000000 - 0xffffffc000000000   (
>   4 GB maximum)
> [    0.000000]               0xffffffbf00000000 - 0xffffffbf00800000   (
>   8 MB actual)
> [    0.000000]     memory  : 0xffffffc000000000 - 0xffffffc020000000   (
> 512 MB)
> [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> [    0.000000] Preemptible hierarchical RCU implementation.
> [    0.000000] RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=1.
> [    0.000000] Tasks RCU enabled.
> [    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
> [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 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.000005] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every
> 89478484971ns
> [    0.000249] arch_timer: cp15 and mmio timer(s) running at 25.16MHz
> (virt/virt).
> [    0.000260] clocksource: arch_sys_counter: mask: 0xffffffffffffff
> max_cycles: 0x5cdd39714, max_idle_ns: 440795202620 ns
> [    0.000271] sched_clock: 56 bits at 25MHz, resolution 39ns, wraps every
> 4398046511084ns
> [    0.000418] Console: colour dummy device 80x25
> [    0.000436] Calibrating delay loop (skipped) preset value.. 9994.24
> BogoMIPS (lpj=19988480)
> [    0.000449] pid_max: default: 32768 minimum: 301
> [    0.000550] Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
> [    0.000571] Mountpoint-cache hash table entries: 1024 (order: 1, 8192
> bytes)
> [    0.016221] ASID allocator initialised with 256 entries
> [    0.024206] Hierarchical SRCU implementation.
> [    0.040243] smp: Bringing up secondary CPUs ...
> [    0.040254] smp: Brought up 1 node, 1 CPU
> [    0.040262] SMP: Total of 1 processors activated.
> [    0.040273] CPU features: detected feature: Privileged Access Never
> [    0.040282] CPU features: detected feature: 32-bit EL0 Support
> [    0.040366] CPU: All CPU(s) started at EL1
> [    0.040381] alternatives: patching kernel code
> [    0.041685] devtmpfs: initialized
> [    0.043633] clocksource: jiffies: mask: 0xffffffff max_cycles:
> 0xffffffff, max_idle_ns: 7645041785100000 ns
> [    0.043646] futex hash table entries: 256 (order: 3, 32768 bytes)
> [    0.046136] NET: Registered protocol family 16
> [    0.125788] cpuidle: using governor menu
> [    0.125861] vdso: 2 pages (1 code @ ffffff8008686000, 1 data @
> ffffff8008a24000)
> [    0.125879] hw-breakpoint: found 16 breakpoint and 16 watchpoint
> registers.
> [    0.127135] DMA: preallocated 256 KiB pool for atomic allocations
> [    0.127144] Serial: AMBA PL011 UART driver
> [    0.127595] OF: amba_device_add() failed (-2) for /watchdog@2a490000
> [    0.128102] OF: amba_device_add() failed (-2) for /watchdog@2b060000
> [    0.128479] 1c090000.uart: ttyAMA0 at MMIO 0x1c090000 (irq = 12,
> base_baud = 0) is a PL011 rev3
> [    0.130319] console [ttyAMA0] enabled
> [    0.131932] 1c0a0000.uart: ttyAMA1 at MMIO 0x1c0a0000 (irq = 13,
> base_baud = 0) is a PL011 rev3
> [    0.132548] 1c0b0000.uart: ttyAMA2 at MMIO 0x1c0b0000 (irq = 14,
> base_baud = 0) is a PL011 rev3
> [    0.133122] 1c0c0000.uart: ttyAMA3 at MMIO 0x1c0c0000 (irq = 15,
> base_baud = 0) is a PL011 rev3
> [    0.133548] OF: amba_device_add() failed (-2) for /kmi@1c060000
> [    0.133696] OF: amba_device_add() failed (-2) for /kmi@1c070000
> [    0.133843] OF: /watchdog@1c0f0000: could not find phandle
> [    0.133872] ERROR: could not get clock /watchdog@1c0f0000:apb_pclk(1)
> [    0.133906] OF: amba_device_add() failed (-2) for /watchdog@1c0f0000
> [    0.134058] OF: /rtc@1c170000: could not find phandle
> [    0.134086] ERROR: could not get clock /rtc@1c170000:apb_pclk(0)
> [    0.134119] OF: amba_device_add() failed (-2) for /rtc@1c170000
> [    0.164856] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
> [    0.172973] vgaarb: loaded
> [    0.173213] SCSI subsystem initialized
> [    0.176579] libata version 3.00 loaded.
> [    0.176800] usbcore: registered new interface driver usbfs
> [    0.176871] usbcore: registered new interface driver hub
> [    0.176931] usbcore: registered new device driver usb
> [    0.177042] pps_core: LinuxPPS API ver. 1 registered
> [    0.177069] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo
> Giometti <giome...@linux.it>
> [    0.177121] PTP clock support registered
> [    0.178423] clocksource: Switched to clocksource arch_sys_counter
> [    0.193487] NET: Registered protocol family 2
> [    0.195771] TCP established hash table entries: 4096 (order: 3, 32768
> bytes)
> [    0.195896] TCP bind hash table entries: 4096 (order: 4, 65536 bytes)
> [    0.196028] TCP: Hash tables configured (established 4096 bind 4096)
> [    0.196192] UDP hash table entries: 256 (order: 1, 8192 bytes)
> [    0.196246] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
> [    0.196413] NET: Registered protocol family 1
> [    0.204684] RPC: Registered named UNIX socket transport module.
> [    0.204711] RPC: Registered udp transport module.
> [    0.204734] RPC: Registered tcp transport module.
> [    0.204757] RPC: Registered tcp NFSv4.1 backchannel transport module.
> [    0.204787] PCI: CLS 0 bytes, default 128
> [    0.205175] kvm [1]: HYP mode not available
> [    0.206327] workingset: timestamp_bits=62 max_order=17 bucket_order=0
> [    0.220789] fuse init (API version 7.26)
> [    0.222995] io scheduler noop registered
> [    0.223233] io scheduler cfq registered (default)
> [    0.223260] io scheduler mq-deadline registered
> [    0.223285] io scheduler kyber registered
> [    0.223399] atomic64_test: passed
> [    0.224258] OF: PCI: host bridge /pci ranges:
> [    0.224287] OF: PCI:   No bus range found for /pci, using [bus 00-ff]
> [    0.224329] OF: PCI:    IO 0x2f000000..0x2f00ffff -> 0x00000000
> [    0.224365] OF: PCI:   MEM 0x40000000..0x7fffffff -> 0x00000000
> [    0.224432] pci-host-generic 30000000.pci: ECAM at [mem
> 0x30000000-0x3fffffff] for [bus 00-ff]
> [    0.224582] pci-host-generic 30000000.pci: PCI host bridge to bus
> 0000:00
> [    0.224619] pci_bus 0000:00: root bus resource [bus 00-ff]
> [    0.224650] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
> [    0.224686] pci_bus 0000:00: root bus resource [mem
> 0x40000000-0x7fffffff] (bus address [0x00000000-0x3fffffff])
> [    0.224730] pci_bus 0000:00: scanning bus
> [    0.224772] pci 0000:00:01.0: [8086:7111] type 00 class 0x010185
> [    0.224818] pci 0000:00:01.0: reg 0x10: [io  0x0000-0x0007]
> [    0.224852] pci 0000:00:01.0: reg 0x14: [io  0x0000-0x0003]
> [    0.224886] pci 0000:00:01.0: reg 0x18: [io  0x0000-0x0007]
> [    0.224921] pci 0000:00:01.0: reg 0x1c: [io  0x0000-0x0003]
> [    0.224955] pci 0000:00:01.0: reg 0x20: [io  0x0000-0x000f]
> [    0.224992] pci 0000:00:01.0: reg 0x30: [mem 0x40000000-0x400007ff pref]
> [    0.225175] pci_bus 0000:00: fixups for bus
> [    0.225202] pci_bus 0000:00: bus scan returning with max=00
> [    0.225242] pci 0000:00:01.0: BAR 6: assigned [mem
> 0x40000000-0x400007ff pref]
> [    0.225280] pci 0000:00:01.0: BAR 4: assigned [io  0x1000-0x100f]
> [    0.225316] pci 0000:00:01.0: BAR 0: assigned [io  0x1010-0x1017]
> [    0.225351] pci 0000:00:01.0: BAR 2: assigned [io  0x1018-0x101f]
> [    0.225387] pci 0000:00:01.0: BAR 1: assigned [io  0x1020-0x1023]
> [    0.225422] pci 0000:00:01.0: BAR 3: assigned [io  0x1024-0x1027]
> [    0.233869] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
> [    0.237146] ata_piix 0000:00:01.0: assign IRQ: got 22
> [    0.237179] ata_piix 0000:00:01.0: version 2.13
> [    0.237212] ata_piix 0000:00:01.0: enabling device (0000 -> 0001)
> [    0.237333] ata_piix 0000:00:01.0: enabling bus mastering
> [    0.243994] scsi host0: ata_piix
> [    0.248395] scsi host1: ata_piix
> [    0.248561] ata1: PATA max UDMA/33 cmd 0x1010 ctl 0x1020 bmdma 0x1000
> irq 22
> [    0.248596] ata2: PATA max UDMA/33 cmd 0x1018 ctl 0x1024 bmdma 0x1008
> irq 22
> [    0.249156] libphy: Fixed MDIO Bus: probed
> [    0.249181] e1000: Intel(R) PRO/1000 Network Driver - version
> 7.3.21-k8-NAPI
> [    0.249213] e1000: Copyright (c) 1999-2006 Intel Corporation.
> [    0.249290] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
> [    0.249318] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
> [    0.249395] igb: Intel(R) Gigabit Ethernet Network Driver - version
> 5.4.0-k
> [    0.249427] igb: Copyright (c) 2007-2014 Intel Corporation.
> [    0.249499] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver -
> version 5.1.0-k
> [    0.249533] ixgbe: Copyright (c) 1999-2016 Intel Corporation.
> [    0.254012] ixgbevf: Intel(R) 10 Gigabit PCI Express Virtual Function
> Network Driver - version 4.1.0-k
> [    0.254052] ixgbevf: Copyright (c) 2009 - 2015 Intel Corporation.
> [    0.258203] i40e: Intel(R) Ethernet Connection XL710 Network Driver -
> version 2.1.14-k
> [    0.258239] i40e: Copyright (c) 2013 - 2014 Intel Corporation.
> [    0.263651] ixgb: Intel(R) PRO/10GbE Network Driver - version
> 1.0.135-k2-NAPI
> [    0.263684] ixgb: Copyright (c) 1999-2008 Intel Corporation.
> [    0.263762] i40evf: Intel(R) 40-10 Gigabit Virtual Function Network
> Driver - version 3.0.0-k
> [    0.263798] Copyright (c) 2013 - 2015 Intel Corporation.
> [    0.268473] usbcore: registered new interface driver usb-storage
> [    0.268724] mousedev: PS/2 mouse device common for all mice
> [    0.268916] IR NEC protocol handler initialized
> [    0.268941] IR RC5(x/sz) protocol handler initialized
> [    0.268966] IR RC6 protocol handler initialized
> [    0.268990] IR JVC protocol handler initialized
> [    0.269014] IR Sony protocol handler initialized
> [    0.269038] IR SANYO protocol handler initialized
> [    0.269063] IR Sharp protocol handler initialized
> [    0.269087] IR MCE Keyboard/mouse protocol handler initialized
> [    0.269115] IR XMP protocol handler initialized
> [    0.269273] gem5 DVFS handler is disabled
> [    0.269298] gem5-energy-ctrl loaded at ffffff8008b25000
> [    0.269326] 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.270170] usbcore: registered new interface driver usbhid
> [    0.270198] usbhid: USB HID core driver
> [    0.270369] NET: Registered protocol family 17
> [    0.409728] ata1.00: ATA-7: M5 IDE Disk, , max UDMA/66
> [    0.409758] ata1.00: 2096640 sectors, multi 0: LBA
> [    0.409856] ata1.00: configured for UDMA/33
> [    0.410121] scsi 0:0:0:0: Direct-Access     ATA      M5 IDE Disk
>  n/a  PQ: 0 ANSI: 5
> [    0.410725] sd 0:0:0:0: Attached scsi generic sg0 type 0
> [    0.411026] sd 0:0:0:0: [sda] 2096640 512-byte logical blocks: (1.07
> GB/1024 MiB)
> [    0.411094] sd 0:0:0:0: [sda] Write Protect is off
> [    0.411122] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
> [    0.411210] sd 0:0:0:0: [sda] Write cache: disabled, read cache:
> enabled, doesn't support DPO or FUA
> [    0.412016]  sda: sda1
> [    0.412889] sd 0:0:0:0: [sda] Attached SCSI disk
> [    0.413985] EXT4-fs (sda1): couldn't mount as ext3 due to feature
> incompatibilities
> [    0.420598] EXT4-fs (sda1): mounted filesystem without journal. Opts:
> (null)
> [    0.420649] VFS: Mounted root (ext4 filesystem) on device 8:1.
> [    0.422743] devtmpfs: mounted
> [    0.423385] Freeing unused kernel memory: 384K
> INIT: version 2.88 booting
> Starting udev
> [    0.564339] udevd[695]: starting version 182
> [    0.790308] attempt to access beyond end of device
> [    0.790343] unknown-block(8,0): rw=0, want=2096647, limit=2096640
> [    0.790378] attempt to access beyond end of device
> [    0.790405] unknown-block(8,0): rw=0, want=2096647, limit=2096640
> [    0.790437] Buffer I/O error on dev sda1, logical block 262072, async
> page read
> [    0.791081] attempt to access beyond end of device
> [    0.791109] unknown-block(8,0): rw=0, want=2096647, limit=2096640
> [    0.791140] Buffer I/O error on dev sda1, logical block 262072, async
> page read
> [    0.881027] EXT4-fs (sda1): re-mounted. Opts:
> block_validity,delalloc,barrier,user_xattr
> Starting Bootlog daemon: bootlogd.
> Populating dev cache
> net.ipv4.conf.default.rp_filter = 1
> net.ipv4.conf.all.rp_filter = 1
> hwclock: can't open '/dev/misc/rtc': No such file or directory
> Mon Jan 27 08:00:00 UTC 2014
> hwclock: can't open '/dev/misc/rtc': No such file or directory
> INIT: Entering runlevel: 5
> Configuring network interfaces... ifconfig: SIOCGIFFLAGS: No such device
> Starting rpcbind daemon...rpcbind: cannot create socket for udp6
> rpcbind: cannot create socket for tcp6
> done.
> rpcbind: cannot get uid of '': Success
> creating NFS state directory: done
> starting statd: done
> Starting auto-serial-console: done
> Stopping Bootlog daemon: bootlogd.
> INIT: no more processes left in this runlevel
> Last login: Mon Jan 27 08:00:00 UTC 2014 on tty1
> root@genericarmv8:~# m5 checkpoint

*gem5 output:*

> gem5 Simulator System.  http://gem5.org
> gem5 is copyrighted software; use the --copyright option for details.
> gem5 version 20.1.0.2
> gem5 compiled Jan 27 2021 15:18:32
> gem5 started Apr 30 2021 19:00:27
> gem5 executing on ArchLab, pid 4093288
> command line: ./build/ARM_MESI_Three_Level_HTM/gem5.opt
> ./configs/example/fs.py --ruby --num-cpus=1 --cpu-type=TimingSimpleCPU
> --disk-image=/home/zzz/workspace/gem5-v21/gem5/../m5_binaries/disks/linaro-minimal-aarch64.img
> --kernel=/home/zzz/workspace/linux/vmlinux
> warn: You are trying to use Ruby on ARM, which is not working properly yet.
> Global frequency set at 1000000000000 ticks per second
> warn: No dot file generated. Please install pydot to generate the dot file
> and pdf.
> warn: DRAM device capacity (8192 Mbytes) does not match the address range
> assigned (512 Mbytes)
> info: kernel located at: /home/zzz/workspace/linux/vmlinux
> warn: Highest ARM exception-level set to AArch32 but the workload is for
> AArch64. Assuming you wanted these to match.
> system.vncserver: Listening for connections on port 5900
> system.terminal: Listening for connections on port 3456
> system.realview.uart1.device: Listening for connections on port 3457
> system.realview.uart2.device: Listening for connections on port 3458
> system.realview.uart3.device: Listening for connections on port 3459
> 0: system.remote_gdb: listening for remote gdb on port 7000
> info: Using bootloader at address 0x10
> info: Using kernel entry physical address at 0x80080000
> info: Loading DTB file: m5out/system.dtb at address 0x88000000
> **** REAL SIMULATION ****
> warn: Existing EnergyCtrl, but no enabled DVFSHandler found.
> info: Entering event queue @ 0.  Starting simulation...
> warn: Replacement policy updates recently became the responsibility of
> SLICC state machines. Make sure to setMRU() near callbacks in .sm files!
> warn: SCReg: Access to unknown device dcc0:site0:pos0:fn7:dev0
> warn: Cache maintenance operations are not supported in Ruby.
> warn: Tried to read RealView I/O at offset 0x60 that doesn't exist
> warn: Tried to read RealView I/O at offset 0x48 that doesn't exist
> warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
> warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
> warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
> warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
> warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
> warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
> warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
> warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
> warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
> warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
> warn: Tried to read RealView I/O at offset 0x8 that doesn't exist
> warn: Tried to read RealView I/O at offset 0x48 that doesn't exist
> warn: EnergyCtrl: Disabled handler, ignoring read from reg 0
> 150377524506500: system.terminal: attach terminal 0
> info: Entering event queue @ 151164449864500.  Starting simulation...
> info: Entering event queue @ 151164453496250.  Starting simulation...
>
> *panic: Runtime Error at MESI_Three_Level_HTM-L0cache.sm:315: Invalid
> RubyRequestType.*Memory Usage: 1285968 KBytes
> Program aborted at tick 151164453497000
> --- BEGIN LIBC BACKTRACE ---
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x1e2b180)[0x55bf28c42180]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x1e3f9be)[0x55bf28c569be]
> /lib/x86_64-linux-gnu/libpthread.so.0(+0x15420)[0x7f73cfaf3420]
> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7f73cec9b18b]
> /lib/x86_64-linux-gnu/libc.so.6(abort+0x12b)[0x7f73cec7a859]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x4e5065)[0x55bf272fc065]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x20f2685)[0x55bf28f09685]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x210411d)[0x55bf28f1b11d]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x1e334f9)[0x55bf28c4a4f9]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x1e55098)[0x55bf28c6c098]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x1e55e8d)[0x55bf28c6ce8d]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x1f34d4a)[0x55bf28d4bd4a]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x1c78c4a)[0x55bf28a8fc4a]
> ./build/ARM_MESI_Three_Level_HTM/gem5.opt(+0x1685301)[0x55bf2849c301]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x2a8408)[0x7f73cfda9408]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyObject_MakeTpCall+0xab)[0x7f73cfda97db]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x2a8aa0)[0x7f73cfda9aa0]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x74d6d)[0x7f73cfb75d6d]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x7d86)[0x7f73cfb7def6]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x8006b)[0x7f73cfb8106b]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x74d6d)[0x7f73cfb75d6d]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x12fd)[0x7f73cfb7746d]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x8006b)[0x7f73cfb8106b]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x74d6d)[0x7f73cfb75d6d]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x7d86)[0x7f73cfb7def6]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x8006b)[0x7f73cfb8106b]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x74d6d)[0x7f73cfb75d6d]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x12fd)[0x7f73cfb7746d]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalCodeWithName+0x8fb)[0x7f73cfccbd3b]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyFunction_Vectorcall+0x94)[0x7f73cfda8de4]
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x74d6d)[0x7f73cfb75d6d]
>
> /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x7d86)[0x7f73cfb7def6]
> --- END LIBC BACKTRACE ---
> [1]    4093288 abort (core dumped)
>  ./build/ARM_MESI_Three_Level_HTM/gem5.opt ./configs/example/fs.py --ruby


More details on how I build the gem5:

   1. I'm using the disk *linaro-minimal-aarch64.img*
   2. I compiled gem5 via "python3 `which scons` CC=gcc CXX=g++
   build/ARM_MESI_Three_Level_HTM/gem5.opt TARGET_ISA=arm
   PROTOCOL=MESI_Three_Level_HTM SLICC_HTML=True
   CPU_MODELS=AtomicSimpleCPU,TimingSimpleCPU,O3CPU -j 8" after the modifying
   *haveLSE *in *src/arch/arm/isa.cc*
   3. I tried to build the kernel manually and download the prebuilt
   kernels.


Best,
Chris
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to