Failed to boot Linux using gem5-RISCV

Description

Using this setup, https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/release-staging-v21-1 , gem5 RISCV failed to boot Linux within 30 minutes. This only takes fewer than 5 minutes on gem5/v21.0.1.0 release.

Environment

None

Activity

Show:

Hoa Nguyen July 26, 2021 at 5:09 AM

Hi Gabe,

Sorry about the confusion.

I used the gem5/release-staging-v21-1 branch and the gem5-resources/release-staging-v21-1 branch. I believe gem5-resources/develop branch is behind compared to gem5-resources/release-staging-v21-1 branch.

The rest of your setup looks fine. Please let me know if you encounter further problems!

Gabe Black July 25, 2021 at 3:50 AM

The link in the description above doesn’t work because the comma got included in the link.

I downloaded the files necessary for the run using this commands:

gsutil cp gs://dist.gem5.org/dist/develop/images/riscv/busybox/riscv-disk.img.gz gs://dist.gem5.org/dist/develop/kernels/riscv/static/bootloader-vmlinux-5.10 gs://dist.gem5.org/dist/develop/kernels/riscv/static/vmlinux-5.10 gs://dist.gem5.org/dist/develop/kernels/riscv/static/vmlinux-5.10.config ~/riscv-fs/

Then I updated my gem5-resources repository, checked out the develop branch, and tried to run the config script Using a fresh build of RISCV gem5 off the develop branch.

build/RISCV/gem5.opt ../gem5-resources/src/riscv-fs/configs-riscv-fs/run_riscv.py ~/riscv-fs/bootloader-vmlinux
-5.10 ~/riscv-fs/riscv-disk.img atomic 4

That failed with this error:

gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version [DEVELOP-FOR-V21.01]
gem5 compiled Jul 24 2021 20:04:31
gem5 started Jul 24 2021 20:45:52
gem5 executing on cake, pid 687378
command line: build/RISCV/gem5.opt ../gem5-resources/src/riscv-fs/configs-riscv-fs/run_riscv.py /home/gblack/riscv-fs/bootloader-vm
linux-5.10 /home/gblack/riscv-fs/riscv-disk.img atomic 4

warn: iobus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: bridge.master is deprecated. `master` is now called `mem_side_port`
warn: membus.master is deprecated. `master` is now called `mem_side_ports`
warn: bridge.slave is deprecated. `slave` is now called `cpu_side_port`
Global frequency set at 1000000000000 ticks per second
build/RISCV/mem/mem_interface.cc:791: warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (1024 Mbyt
es)
build/RISCV/base/statistics.hh:277: warn: One of the stats is a legacy stat. Legacy stat is a stat that does not belong to any stat
istics::Group. Legacy stat is deprecated.
     0: system.platform.rtc: Real-time clock set to Sun Jan  1 00:00:00 2012
system.platform.terminal: Listening for connections on port 3456
0: system.remote_gdb: listening for remote gdb on port 7000
build/RISCV/mem/coherent_xbar.cc:140: warn: CoherentXBar system.cpu0.mmucache.mmubus has no snooping ports attached!
build/RISCV/mem/coherent_xbar.cc:140: warn: CoherentXBar system.cpu1.mmucache.mmubus has no snooping ports attached!
build/RISCV/mem/coherent_xbar.cc:140: warn: CoherentXBar system.cpu2.mmucache.mmubus has no snooping ports attached!
build/RISCV/mem/coherent_xbar.cc:140: warn: CoherentXBar system.cpu3.mmucache.mmubus has no snooping ports attached!
Running the simulation
build/RISCV/sim/simulate.cc:107: info: Entering event queue @ 0.  Starting simulation...
build/RISCV/mem/xbar.cc:358: fatal: Unable to find destination for [0:0x40] on system.membus
Memory Usage: 1180032 KBytes

I would like to fix this problem properly so that my change can go back in, but I’m probably going to need to be able to reproduce this bug report to do that. What do I need to do to actually get this to run?

Hoa Nguyen July 15, 2021 at 12:47 AM

Done
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Priority

Affects versions

Fix versions

Components

Created July 15, 2021 at 12:46 AM
Updated July 26, 2021 at 5:11 AM
Resolved July 16, 2021 at 8:59 PM