Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

arch-x86,O3,KVM switching to full simulation bug #910

Open
Foxy-Boxes opened this issue Mar 4, 2024 · 4 comments
Open

arch-x86,O3,KVM switching to full simulation bug #910

Foxy-Boxes opened this issue Mar 4, 2024 · 4 comments
Labels

Comments

@Foxy-Boxes
Copy link

Describe the bug
When using the full system simulation m5_switch_cpu_addr followed by m5_exit or m5_exit_addr causes either the simulation to segfault or the simulated program to segfault(One might also see an unexpected jump, I am guessing that is the same bug).

Affects version
gem5 stable c890e6b

gem5 Modifications
I have modified the config file, added my disk, and wrote a simple program to reproduce the bug. Also changed the default disk device for X86 KernelDiskWorkload to "/dev/sda".
https://github.com/Foxy-Boxes/gem5-bug, has the necessary changes.

To Reproduce
download this tarred image to the repo: https://drive.google.com/file/d/1qH7QNoz23UIyuU07Rf7AoEvS3Opvcl74/view?usp=sharing

scons build/X86/gem5.debug -j `nproc`
./one_time.sh
./make_disk.sh
./build/X86/gem5.debug ./configs/example/gem5_library/x86-ubuntu-run-with-kvm-test.py

Terminal Output
In the case where we get a segfault

warn: The `CustomResource` class is deprecated. Please use an `AbstractResource` subclass instead.
Global frequency set at 1000000000000 ticks per second
warn: No dot file generated. Please install pydot to generate the dot file and pdf.
src/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (4096 Mbytes)
src/sim/kernel_workload.cc:46: info: kernel located at: resources/vmlinux
src/base/statistics.hh:279: warn: One of the stats is a legacy stat. Legacy stat is a stat that does not belong to any statistics::Group. Legacy stat is deprecated.
      0: board.pc.south_bridge.cmos.rtc: Real-time clock set to Sun Jan  1 00:00:00 2012
board.pc.com_1.device: Listening for connections on port 3456
src/base/statistics.hh:279: warn: One of the stats is a legacy stat. Legacy stat is a stat that does not belong to any statistics::Group. Legacy stat is deprecated.
src/dev/intel_8254_timer.cc:128: warn: Reading current count from inactive timer.
board.remote_gdb: Listening for connections on port 7000
src/cpu/kvm/base.cc:169: info: KVM: Coalesced MMIO disabled by config.
src/cpu/kvm/base.cc:169: info: KVM: Coalesced MMIO disabled by config.
gem5 Simulator System.  https://www.gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 23.1.0.0
gem5 compiled Mar  4 2024 20:46:18
gem5 started Mar  4 2024 20:56:29
gem5 executing on sapphire, pid 1654951
command line: ./build/X86/gem5.debug ./configs/example/gem5_library/x86-ubuntu-run-with-kvm-test.py

src/sim/simulate.cc:199: info: Entering event queue @ 0.  Starting simulation...
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x3a) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x48) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xe1) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x309) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x30a) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x30b) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x38d) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x38e) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x38f) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x390) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc1) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc2) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc3) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc4) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc5) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc6) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc7) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc8) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x186) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x187) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x188) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x189) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x18a) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x18b) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x18c) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x18d) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x3f1) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x600) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x3f2) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x1c4) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x1c5) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x12) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x11) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d01) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d00) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000000) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000001) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000020) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000021) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000022) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000023) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000100) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000101) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000102) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000103) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000104) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000105) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000003) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000002) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000010) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000080) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x400000b0) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000073) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000106) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000107) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000108) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x400000ff) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x400000f1) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x400000f2) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x400000f3) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x400000f4) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x400000f5) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d02) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d03) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d04) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d06) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d07) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x3b) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x6e0) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x10a) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x345) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x1a0) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4d0) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x9e) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x34) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xce) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x140) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x1fc) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x8b) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x480) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x48d) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x48e) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x48f) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x490) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x485) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x486) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x488) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x48a) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x48b) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x48c) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x491) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc0010015) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d05) unsupported by gem5. Skipping.
src/dev/x86/pc.cc:117: warn: Don't know what interrupt to clear for console.
src/arch/x86/kvm/x86_cpu.cc:563: warn: cs limit (0xffffffff) and g (0) combination is illegal.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x3a) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x48) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xe1) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x309) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x30a) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x30b) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x38d) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x38e) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x38f) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x390) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc1) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc2) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc3) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc4) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc5) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc6) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc7) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc8) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x186) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x187) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x188) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x189) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x18a) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x18b) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x18c) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x18d) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x3f1) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x600) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x3f2) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x1c4) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x1c5) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x12) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x11) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d01) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d00) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000000) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000001) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000020) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000021) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000022) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000023) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000100) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000101) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000102) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000103) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000104) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000105) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000003) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000002) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000010) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000080) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x400000b0) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000073) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000106) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000107) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x40000108) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x400000ff) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x400000f1) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x400000f2) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x400000f3) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x400000f4) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x400000f5) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d02) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d03) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d04) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d06) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d07) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x3b) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x6e0) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x10a) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x345) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x1a0) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4d0) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x9e) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x34) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xce) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x140) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x1fc) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x8b) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x480) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x48d) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x48e) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x48f) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x490) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x485) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x486) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x488) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x48a) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x48b) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x48c) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x491) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0xc0010015) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:1653: warn: kvm-x86: MSR (0x4b564d05) unsupported by gem5. Skipping.
src/arch/x86/kvm/x86_cpu.cc:563: warn: cs limit (0xffffffff) and g (0) combination is illegal.
src/arch/x86/kvm/x86_cpu.cc:563: warn: cs limit (0xffffffff) and g (0) combination is illegal.
src/arch/x86/interrupts.cc:530: hack: Assuming logical destinations are 1 << id.
warn: No behavior was set by the user for switch CPU. Default behavior is switching the CPU type of the processor and continuing.
src/sim/power_state.cc:105: warn: PowerState: Already in the requested power state, request ignored
switching cpus
src/sim/simulate.cc:199: info: Entering event queue @ 1112835056995.  Starting simulation...
src/mem/ruby/system/Sequencer.cc:668: warn: Replacement policy updates recently became the responsibility of SLICC state machines. Make sure to setMRU() near callbacks in .sm files!
gem5 has encountered a segmentation fault!

--- BEGIN LIBC BACKTRACE ---
./build/X86/gem5.debug(_ZN4gem515print_backtraceEv+0x32)[0x556a2e67fa47]
./build/X86/gem5.debug(+0x2b66e0e)[0x556a2e6a5e0e]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7f1c79c42520]
./build/X86/gem5.debug(_ZNKSt12__shared_ptrIN4gem57RequestELN9__gnu_cxx12_Lock_policyE2EE3getEv+0x10)[0x556a2d1560f4]
./build/X86/gem5.debug(_ZNKSt19__shared_ptr_accessIN4gem57RequestELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EE6_M_getEv+0x1c)[0x556a2d1568a6]
./build/X86/gem5.debug(_ZNKSt19__shared_ptr_accessIN4gem57RequestELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv+0x1c)[0x556a2d155f72]
./build/X86/gem5.debug(_ZN4gem57BaseCPU5mwaitEsPNS_6PacketE+0xee)[0x556a2e7f4a62]
./build/X86/gem5.debug(_ZN4gem52o37DynInst5mwaitEPNS_6PacketE+0x39)[0x556a2e9db517]
./build/X86/gem5.debug(_ZNK4gem510X86ISAInst5Mwait11completeAccEPNS_6PacketEPNS_11ExecContextEPNS_5trace10InstRecordE+0xa8)[0x556a2d7d5dc4]
./build/X86/gem5.debug(_ZN4gem52o37DynInst11completeAccEPNS_6PacketE+0xdc)[0x556a2e9d9f10]
./build/X86/gem5.debug(_ZN4gem52o37LSQUnit11executeLoadERKNS_14RefCountingPtrINS0_7DynInstEEE+0x2aa)[0x556a2ea23404]
./build/X86/gem5.debug(_ZN4gem52o33LSQ11executeLoadERKNS_14RefCountingPtrINS0_7DynInstEEE+0x6f)[0x556a2ea0fbb5]
./build/X86/gem5.debug(_ZN4gem52o33IEW12executeInstsEv+0x75a)[0x556a2e9f9738]
./build/X86/gem5.debug(_ZN4gem52o33IEW4tickEv+0x21e)[0x556a2e9fb3a8]
./build/X86/gem5.debug(_ZN4gem52o33CPU4tickEv+0x1c5)[0x556a2e9b7035]
./build/X86/gem5.debug(+0x2e75529)[0x556a2e9b4529]
./build/X86/gem5.debug(+0x2e7efc8)[0x556a2e9bdfc8]
./build/X86/gem5.debug(+0x2e7ed5a)[0x556a2e9bdd5a]
./build/X86/gem5.debug(+0x2e7eb54)[0x556a2e9bdb54]
./build/X86/gem5.debug(_ZNKSt8functionIFvvEEclEv+0x36)[0x556a2d0ea41a]
./build/X86/gem5.debug(_ZN4gem520EventFunctionWrapper7processEv+0x20)[0x556a2d19b40e]
./build/X86/gem5.debug(_ZN4gem510EventQueue10serviceOneEv+0x121)[0x556a2e693b75]
./build/X86/gem5.debug(_ZN4gem59doSimLoopEPNS_10EventQueueE+0x240)[0x556a2e6bc3a3]
./build/X86/gem5.debug(_ZN4gem58simulateEm+0x23e)[0x556a2e6bbe3a]
./build/X86/gem5.debug(+0x2241728)[0x556a2dd80728]
./build/X86/gem5.debug(+0x223f6e0)[0x556a2dd7e6e0]
./build/X86/gem5.debug(+0x223b26f)[0x556a2dd7a26f]
./build/X86/gem5.debug(+0x223b2da)[0x556a2dd7a2da]
./build/X86/gem5.debug(+0x151b027)[0x556a2d05a027]
/lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x128023)[0x7f1c7ab28023]
/lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyObject_Call+0x5c)[0x7f1c7aae1fec]
/lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x4b16)[0x7f1c7aa76776]
--- END LIBC BACKTRACE ---
For more info on how to address this issue, please visit https://www.gem5.org/documentation/general_docs/common-errors/ 

When gem5 does not segfault but the simulation jumps to an unexpected location, this is the m5term output:

Linux version 6.0.0+ (berk@sapphire) (gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils) 2.36.1) #17 SMP Tue Nov 14 00:17:15 UTC 2023
Command line: earlyprintk=ttyS0 console=ttyS0 lpj=7999923 root=/dev/sda1 disk_device=/dev/sda
x86/fpu: x87 FPU will use FXSAVE
signal: max sigframe size: 1440
BIOS-provided physical RAM map:
BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
BIOS-e820: [mem 0x000000000009fc00-0x00000000000fffff] reserved
BIOS-e820: [mem 0x0000000000100000-0x00000000bfffffff] usable
BIOS-e820: [mem 0x00000000ffff0000-0x00000000ffffffff] reserved
printk: bootconsole [earlyser0] enabled
NX (Execute Disable) protection: active
SMBIOS 2.5 present.
DMI:  , BIOS  06/08/2008
tsc: Fast TSC calibration failed
last_pfn = 0xc0000 max_arch_pfn = 0x400000000
Disabled
x86/PAT: MTRRs disabled, skipping PAT initialization too.
CPU MTRRs all blank - virtualized system.
x86/PAT: Configuration [0-7]: WB  WT  UC- UC  WB  WT  UC- UC  
found SMP MP-table at [mem 0x000f0050-0x000f005f]
ACPI: Early table checksum verification disabled
ACPI: RSDP 0x00000000000F01C0 000024 (v02       )
ACPI: XSDT 0x00000000000F0208 000024 (v01                 00000000      00000000)
ACPI BIOS Error (bug): Invalid table length 0x24 in RSDT/XSDT (20220331/tbutils-289)
Zone ranges:
  DMA      [mem 0x0000000000001000-0x0000000000ffffff]
  DMA32    [mem 0x0000000001000000-0x00000000bfffffff]
  Normal   empty
Movable zone start for each node
Early memory node ranges
  node   0: [mem 0x0000000000001000-0x000000000009efff]
  node   0: [mem 0x0000000000100000-0x00000000bfffffff]
Initmem setup node 0 [mem 0x0000000000001000-0x00000000bfffffff]
On node 0, zone DMA: 1 pages in unavailable ranges
On node 0, zone DMA: 97 pages in unavailable ranges
Intel MultiProcessor Specification v1.4
MPTABLE: OEM ID: 
MPTABLE: Product ID: 
MPTABLE: APIC at: 0xFEE00000
Processor #0 (Bootup-CPU)
Processor #1
IOAPIC[0]: apic_id 2, version 20, address 0xfec00000, GSI 0-23
Processors: 2
smpboot: Allowing 2 CPUs, 0 hotplug CPUs
[mem 0xc0000000-0xfffeffff] available for PCI devices
Booting paravirtualized kernel on bare hardware
clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns
setup_percpu: NR_CPUS:8192 nr_cpumask_bits:2 nr_cpu_ids:2 nr_node_ids:1
percpu: Embedded 51 pages/cpu s168296 r8192 d32408 u1048576
Built 1 zonelists, mobility grouping on.  Total pages: 775424
Kernel command line: earlyprintk=ttyS0 console=ttyS0 lpj=7999923 root=/dev/sda1 disk_device=/dev/sda
Unknown kernel command line parameters "disk_device=/dev/sda", will be passed to user space.
Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
mem auto-init: stack:off, heap alloc:off, heap free:off
Memory: 3074332K/3145336K available (8197K kernel code, 1725K rwdata, 2396K rodata, 1136K init, 1344K bss, 70748K reserved, 0K cma-reserved)
rcu: Hierarchical RCU implementation.
rcu: 	RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=2.
rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
NR_IRQS: 524544, nr_irqs: 440, preallocated irqs: 16
rcu: srcu_init: Setting srcu_struct sizes based on contention.
Console: colour dummy device 80x25
printk: console [ttyS0] enabled
printk: console [ttyS0] enabled
printk: bootconsole [earlyser0] disabled
printk: bootconsole [earlyser0] disabled
APIC: Switch to symmetric I/O mode setup
ExtINT not setup in hardware but reported by MP table
..TIMER: vector=0x30 apic1=0 pin1=2 apic2=0 pin2=0
tsc: Unable to calibrate against PIT
tsc: No reference (HPET/PMTIMER) available
tsc: Marking TSC unstable due to could not calculate TSC khz
Calibrating delay loop (skipped) preset value.. 15999.84 BogoMIPS (lpj=7999923)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
process: using mwait in idle threads
Last level iTLB entries: 4KB 512, 2MB 8, 4MB 4
Last level dTLB entries: 4KB 512, 2MB 8, 4MB 4, 1GB 0
Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
Spectre V2 : Kernel not compiled with retpoline; no mitigation available!
Spectre V2 : Vulnerable
Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
Speculative Store Bypass: Vulnerable
Freeing SMP alternatives memory: 20K
smpboot: CPU0: Hygon Fake gem5 x86_64 CPU (family: 0xf, model: 0x25, stepping: 0x1)
Performance Events: Broken PMU hardware detected, using software events only.
Failed to access perfctr msr (MSR c0010007 is 0)
rcu: Hierarchical SRCU implementation.
rcu: 	Max phase no-delay instances is 400.
smp: Bringing up secondary CPUs ...
x86: Booting SMP configuration:
.... node  #0, CPUs:      #1
smp: Brought up 1 node, 2 CPUs
smpboot: Max logical packages: 2
smpboot: Total of 2 processors activated (31999.69 BogoMIPS)
devtmpfs: initialized
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
futex hash table entries: 512 (order: 3, 32768 bytes, linear)
NET: Registered PF_NETLINK/PF_ROUTE protocol family
audit: initializing netlink subsys (disabled)
audit: type=2000 audit(1325376000.267:1): state=initialized audit_enabled=0 res=1
thermal_sys: Registered thermal governor 'step_wise'
thermal_sys: Registered thermal governor 'user_space'
cpuidle: using governor ladder
PCI: Using configuration type 1 for base access
HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
ACPI: Interpreter disabled.
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
PCI: Probing PCI hardware
PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffffffff]
pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
pci 0000:00:04.0: [8086:7111] type 00 class 0x010180
pci 0000:00:04.0: reg 0x20: [io  0x0000-0x000f]
pci 0000:00:04.0: reg 0x30: [mem 0x00000000-0x000007ff pref]
pci 0000:00:04.0: legacy IDE quirk: reg 0x10: [io  0x01f0-0x01f7]
pci 0000:00:04.0: legacy IDE quirk: reg 0x14: [io  0x03f6]
pci 0000:00:04.0: legacy IDE quirk: reg 0x18: [io  0x0170-0x0177]
pci 0000:00:04.0: legacy IDE quirk: reg 0x1c: [io  0x0376]
pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
vgaarb: loaded
clocksource: Switched to clocksource refined-jiffies
VFS: Disk quotas dquot_6.6.0
VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
pnp: PnP ACPI: disabled
NET: Registered PF_INET protocol family
IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
TCP: Hash tables configured (established 32768 bind 32768)
UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
NET: Registered PF_UNIX/PF_LOCAL protocol family
pci 0000:00:04.0: BAR 6: assigned [mem 0xc0000000-0xc00007ff pref]
pci 0000:00:04.0: BAR 4: assigned [io  0x1000-0x100f]
pci_bus 0000:00: resource 4 [io  0x0000-0xffff]
pci_bus 0000:00: resource 5 [mem 0x00000000-0xffffffffffff]
PCI: CLS 0 bytes, default 64
platform rtc_cmos: registered platform RTC device (no PNP device found)
workingset: timestamp_bits=62 max_order=20 bucket_order=0
fuse: init (API version 7.36)
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
io scheduler mq-deadline registered
io scheduler kyber registered
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 8250
Linux agpgart interface v0.103
brd: module loaded
loop: module loaded
Loading iSCSI transport class v2.0-870.
st: Version 20160209, fixed bufsize 32768, s/g segs 256
SCSI Media Changer driver v0.25 
ata_piix 0000:00:04.0: enabling device (0000 -> 0001)
ata_piix 0000:00:04.0: PCI->APIC IRQ transform: INT A -> IRQ 16
scsi host0: ata_piix
scsi host1: ata_piix
ata1: PATA max UDMA/33 cmd 0x1f0 ctl 0x3f6 bmdma 0x1000 irq 14
ata2: PATA max UDMA/33 cmd 0x170 ctl 0x376 bmdma 0x1008 irq 15
e1000: Intel(R) PRO/1000 Network Driver
e1000: Copyright (c) 1999-2006 Intel Corporation.
e1000e: Intel(R) PRO/1000 Network Driver
e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
igb: Intel(R) Gigabit Ethernet Network Driver
igb: Copyright (c) 2007-2014 Intel Corporation.
igbvf: Intel(R) Gigabit Virtual Function Network Driver
igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver
ixgbe: Copyright (c) 1999-2016 Intel Corporation.
ixgbevf: Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver
ixgbevf: Copyright (c) 2009 - 2018 Intel Corporation.
ixgb: Intel(R) PRO/10GbE Network Driver
ixgb: Copyright (c) 1999-2008 Intel Corporation.
Fusion MPT base driver 3.04.20
Copyright (c) 1999-2008 LSI Corporation
Fusion MPT SPI Host driver 3.04.20
Fusion MPT FC Host driver 3.04.20
Fusion MPT SAS Host driver 3.04.20
Fusion MPT misc device (ioctl) driver 3.04.20
mptctl: Registered with Fusion MPT base driver
mptctl: /dev/mptctl @ (major,minor=10,220)
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci-pci: OHCI PCI platform driver
uhci_hcd: USB Universal Host Controller Interface driver
i8042: PNP: No PS/2 controller found.
i8042: Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mousedev: PS/2 mouse device common for all mice
fail to initialize ptp_kvm
input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
NET: Registered PF_PACKET protocol family
IPI shorthand broadcast: enabled
Unstable clock detected, switching default tracing clock to "global"
If you want to keep using the local clock, then add:
  "trace_clock=local"
on the kernel command line
ata1.00: ATA-7: M5 IDE Disk, , max UDMA/66
ata1.00: 16514064 sectors, multi 0: LBA 
scsi 0:0:0:0: Direct-Access     ATA      M5 IDE Disk      n/a  PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 16514064 512-byte logical blocks: (8.46 GB/7.87 GiB)
sd 0:0:0:0: Attached scsi generic sg0 type 0
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 0:0:0:0: [sda] Preferred minimum I/O size 512 bytes
 sda: sda1
sd 0:0:0:0: [sda] Attached SCSI disk
EXT4-fs (sda1): mounted filesystem without journal. Quota mode: none.
VFS: Mounted root (ext4 filesystem) on device 8:1.
devtmpfs: mounted
Freeing unused kernel image (initmem) memory: 1136K
Write protecting the kernel read-only data: 14336k
Freeing unused kernel image (text/rodata gap) memory: 2040K
Freeing unused kernel image (rodata/data gap) memory: 1700K
rodata_test: all tests were successful
Run /sbin/init as init process
Run /etc/init as init process
Run /bin/init as init process
process '/usr/sbin/m5' started with executable stack
Hello world
m5 mem already mapped.

Expected behavior
This is what we are trying to execute:

#include <gem5/m5ops.h>
#include <stdio.h>
#include "m5_mmap.h"
int main()
{
    m5op_addr = 0xFFFF0000;
    map_m5_mem();
    printf("Hello world\n");
    m5_switch_cpu_addr();
    while (1)
        ;
    m5_exit_addr(0);
}
 

Therefore I would expect an infinite loop after the "Hello world\n" print.

Host Operating System
Ubuntu 22.04

Host ISA
X86

Compiler used
g++ 11.4

Additional information
This bug is at least as old as the commit 1db206b on stable

@Foxy-Boxes Foxy-Boxes added the bug label Mar 4, 2024
@ivanaamit
Copy link
Contributor

@Foxy-Boxes, I would suggest enabling the exec debug flag after switching CPUs to check if there is something obviously wrong. During the CPU switch, when calling takeOverFrom, ensure that you are not missing any crucial steps in copying important state from one CPU to another. I hope this helps.

@Foxy-Boxes Foxy-Boxes reopened this Mar 8, 2024
@Foxy-Boxes
Copy link
Author

Foxy-Boxes commented Mar 8, 2024

I have not changed switching behavior and this is still a bug in the simulator, I am using a workaround to avoid this situation. If I had time I would attempt fixing it but for now I will continue to use the workaround.
Edit: Sorry I pressed close accidentally

@Lukas-Zenick
Copy link

Hello, my name is Lukas and I’m working with my partner Emily on a final project for our Virtualization class. We are Computer Science at the University of Texas at Austin and currently enrolled in CS360V Virtualization, taught by Dr. Chidambaram (VJ). As part of our coursework, we are required to contribute to a few issues within an open-source repository relevant to the class.

After reviewing the gem5 repository, we believe that the particular issue aligns well with our objectives and skill set and were wondering if we may be assigned to this issue. If that's possible, before proceeding, we wanted to ask if there are any additional details or considerations regarding this issue that we should be aware of. We are committed to completing all three issues by May 6th to the best of our abilities.

Thank you for considering our request.
Emily and Lukas

@powerjg
Copy link
Contributor

powerjg commented Apr 4, 2024

Awesome! Yes, please feel free to try to tackle this issue. If you have any questions, don't hesitate to ask. @BobbyRBruce has successfully reproduced the issue, but we haven't had the resources to fix it. Hopefully Ivana's comment above gives you a starting point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants