gem5-users@gem5.org

The gem5 Users mailing list

View all threads

boot arm with kvm

何雨彬
Tue, Aug 15, 2023 5:56 AM

hello!

i am using gem5's KVM to accelerate my simulation, but in version 22.0, I encountered the following issue:

**** REAL SIMULATION ****
build/ARM/cpu/kvm/base.cc:150: info: KVM: Coalesced MMIO disabled by config.
build/ARM/dev/arm/energy_ctrl.cc:252: warn: Existing EnergyCtrl, but no enabled DVFSHandler found.
build/ARM/sim/simulate.cc:192: info: Entering event queue @ 0.  Starting simulation...
build/ARM/cpu/kvm/base.cc:863: panic: KVM: Failed to set register (0x6030000000100042) value (errno: 22)

I found a similar error in the email list before, but after checking the patches, I realized that the patches were all there but the issue still wasn't resolved.

After that, I switched the gem5 version to 20.1.0.5, but after running it, the gem5's output remained stuck, and there was no output in m5term.

Here is my command line:

sudo ./build/ARM/gem5.opt ./configs/example/fs.py --disk=/home/lyq/gem5/benchmark/itecgo/itecgo/expand-aarch64-ubuntu-trusty-headless.img  --kernel=/home/lyq/gem5/benchmark/itecgo/itecgo/vmlinux.euler --mem-size=12GB --bootloader=/home/lyq/gem5/benchmark/itecgo/boot.arm64  --script=/home/lyq/gem5/benchmark/RCS/403.gcc.rcS --caches --cpu-type=ArmV8KvmCPU

Is there anything I should check? I can provide more information if needed.

Thank you for any help!

mike

hello! i am using gem5's KVM to accelerate my simulation, but in version 22.0, I encountered the following issue: **** REAL SIMULATION **** build/ARM/cpu/kvm/base.cc:150: info: KVM: Coalesced MMIO disabled by config. build/ARM/dev/arm/energy_ctrl.cc:252: warn: Existing EnergyCtrl, but no enabled DVFSHandler found. build/ARM/sim/simulate.cc:192: info: Entering event queue @ 0. Starting simulation... build/ARM/cpu/kvm/base.cc:863: panic: KVM: Failed to set register (0x6030000000100042) value (errno: 22) I found a similar error in the email list before, but after checking the patches, I realized that the patches were all there but the issue still wasn't resolved. After that, I switched the gem5 version to 20.1.0.5, but after running it, the gem5's output remained stuck, and there was no output in m5term. Here is my command line: sudo ./build/ARM/gem5.opt ./configs/example/fs.py --disk=/home/lyq/gem5/benchmark/itecgo/itecgo/expand-aarch64-ubuntu-trusty-headless.img --kernel=/home/lyq/gem5/benchmark/itecgo/itecgo/vmlinux.euler --mem-size=12GB --bootloader=/home/lyq/gem5/benchmark/itecgo/boot.arm64 --script=/home/lyq/gem5/benchmark/RCS/403.gcc.rcS --caches --cpu-type=ArmV8KvmCPU Is there anything I should check? I can provide more information if needed. Thank you for any help! mike
GT
Giacomo Travaglini
Wed, Aug 16, 2023 9:44 AM

Hello, it would help if you could run it with gdb, place a breakpoint in BaseKVMCPU::setOneReg and tell us which register gem5 is trying to set

Kind Regards

Giacomo

From: 何雨彬 via gem5-users gem5-users@gem5.org
Date: Tuesday, 15 August 2023 at 07:00
To: gem5 gem5-users@gem5.org
Cc: 何雨彬 bjutheyubin@emails.bjut.edu.cn
Subject: [gem5-users] boot arm with kvm

hello!

i am using gem5's KVM to accelerate my simulation, but in version 22.0, I encountered the following issue:

**** REAL SIMULATION ****
build/ARM/cpu/kvm/base.cc:150: info: KVM: Coalesced MMIO disabled by config.
build/ARM/dev/arm/energy_ctrl.cc:252: warn: Existing EnergyCtrl, but no enabled DVFSHandler found.
build/ARM/sim/simulate.cc:192: info: Entering event queue @ 0.  Starting simulation...
build/ARM/cpu/kvm/base.cc:863: panic: KVM: Failed to set register (0x6030000000100042) value (errno: 22)

I found a similar error in the email list before, but after checking the patches, I realized that the patches were all there but the issue still wasn't resolved.

After that, I switched the gem5 version to 20.1.0.5, but after running it, the gem5's output remained stuck, and there was no output in m5term.

Here is my command line:

sudo ./build/ARM/gem5.opt ./configs/example/fs.py --disk=/home/lyq/gem5/benchmark/itecgo/itecgo/expand-aarch64-ubuntu-trusty-headless.img  --kernel=/home/lyq/gem5/benchmark/itecgo/itecgo/vmlinux.euler --mem-size=12GB --bootloader=/home/lyq/gem5/benchmark/itecgo/boot.arm64  --script=/home/lyq/gem5/benchmark/RCS/403.gcc.rcS --caches --cpu-type=ArmV8KvmCPU

Is there anything I should check? I can provide more information if needed.

Thank you for any help!

mike

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

Hello, it would help if you could run it with gdb, place a breakpoint in BaseKVMCPU::setOneReg and tell us which register gem5 is trying to set Kind Regards Giacomo From: 何雨彬 via gem5-users <gem5-users@gem5.org> Date: Tuesday, 15 August 2023 at 07:00 To: gem5 <gem5-users@gem5.org> Cc: 何雨彬 <bjutheyubin@emails.bjut.edu.cn> Subject: [gem5-users] boot arm with kvm hello! i am using gem5's KVM to accelerate my simulation, but in version 22.0, I encountered the following issue: **** REAL SIMULATION **** build/ARM/cpu/kvm/base.cc:150: info: KVM: Coalesced MMIO disabled by config. build/ARM/dev/arm/energy_ctrl.cc:252: warn: Existing EnergyCtrl, but no enabled DVFSHandler found. build/ARM/sim/simulate.cc:192: info: Entering event queue @ 0. Starting simulation... build/ARM/cpu/kvm/base.cc:863: panic: KVM: Failed to set register (0x6030000000100042) value (errno: 22) I found a similar error in the email list before, but after checking the patches, I realized that the patches were all there but the issue still wasn't resolved. After that, I switched the gem5 version to 20.1.0.5, but after running it, the gem5's output remained stuck, and there was no output in m5term. Here is my command line: sudo ./build/ARM/gem5.opt ./configs/example/fs.py --disk=/home/lyq/gem5/benchmark/itecgo/itecgo/expand-aarch64-ubuntu-trusty-headless.img --kernel=/home/lyq/gem5/benchmark/itecgo/itecgo/vmlinux.euler --mem-size=12GB --bootloader=/home/lyq/gem5/benchmark/itecgo/boot.arm64 --script=/home/lyq/gem5/benchmark/RCS/403.gcc.rcS --caches --cpu-type=ArmV8KvmCPU Is there anything I should check? I can provide more information if needed. Thank you for any help! mike IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
何雨彬
Thu, Aug 17, 2023 4:42 AM

Hello! Thank you for your response. I'm a beginner in both programming and gem5 as well, so progress might be a bit slow. I apologize for my delayed replies. I've also been trying different versions of gem5 in the past few days, but the results haven't been very promising. Currently, I'm working with version 22.1.0.

After adding breakpoints at the asterisk-marked locations, the debugging information is as follows:

BaseKvmCPU::setOneReg(uint64_t id, const void *addr)

{

#ifdef KVM_SET_ONE_REG

struct kvm_one_reg reg;

reg.id = id;

reg.addr = (uint64_t)addr;



if (ioctl(KVM_SET_ONE_REG, &reg) == -1) {
  •    panic("KVM: Failed to set register (0x%x) value (errno: %i)\n",
    
            id, errno);
    

    }

#else

panic("KVM_SET_ONE_REG is unsupported on this platform.\n");

#endif

}

Reg:{

id: 6931039826524241986

addr: 281461478855616

}

id:<optimized out>

addr: 0xfffcdb7713c0

Here is my information. Please let me know if you need more. Thank you!

Also, I wanted to ask, what is the earliest version of gem5 that supports KVM? I heard that KVM is not supported in version 20.0.3, but I feel like that might be incorrect.

-----原始邮件-----
发件人:"Giacomo Travaglini via gem5-users" gem5-users@gem5.org
发送时间:2023-08-16 17:44:51 (星期三)
收件人: "The gem5 Users mailing list" gem5-users@gem5.org
抄送: "何雨彬" bjutheyubin@emails.bjut.edu.cn, "Giacomo Travaglini" Giacomo.Travaglini@arm.com
主题: [gem5-users] Re: boot arm with kvm

Hello, it would help if you could run it with gdb, place a breakpoint in BaseKVMCPU::setOneReg and tell us which register gem5 is trying to set

Kind Regards

Giacomo

From: 何雨彬 via gem5-users gem5-users@gem5.org
Date: Tuesday, 15 August 2023 at 07:00
To: gem5 gem5-users@gem5.org
Cc: 何雨彬 bjutheyubin@emails.bjut.edu.cn
Subject: [gem5-users] boot arm with kvm

hello!

i am using gem5's KVM to accelerate my simulation, but in version 22.0, I encountered the following issue:

**** REAL SIMULATION ****
build/ARM/cpu/kvm/base.cc:150: info: KVM: Coalesced MMIO disabled by config.
build/ARM/dev/arm/energy_ctrl.cc:252: warn: Existing EnergyCtrl, but no enabled DVFSHandler found.
build/ARM/sim/simulate.cc:192: info: Entering event queue @ 0.  Starting simulation...
build/ARM/cpu/kvm/base.cc:863: panic: KVM: Failed to set register (0x6030000000100042) value (errno: 22)

I found a similar error in the email list before, but after checking the patches, I realized that the patches were all there but the issue still wasn't resolved.

After that, I switched the gem5 version to 20.1.0.5, but after running it, the gem5's output remained stuck, and there was no output in m5term.

Here is my command line:

sudo ./build/ARM/gem5.opt ./configs/example/fs.py --disk=/home/lyq/gem5/benchmark/itecgo/itecgo/expand-aarch64-ubuntu-trusty-headless.img  --kernel=/home/lyq/gem5/benchmark/itecgo/itecgo/vmlinux.euler --mem-size=12GB --bootloader=/home/lyq/gem5/benchmark/itecgo/boot.arm64  --script=/home/lyq/gem5/benchmark/RCS/403.gcc.rcS --caches --cpu-type=ArmV8KvmCPU

Is there anything I should check? I can provide more information if needed.

Thank you for any help!

mike

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

Hello! Thank you for your response. I'm a beginner in both programming and gem5 as well, so progress might be a bit slow. I apologize for my delayed replies. I've also been trying different versions of gem5 in the past few days, but the results haven't been very promising. Currently, I'm working with version 22.1.0. After adding breakpoints at the asterisk-marked locations, the debugging information is as follows: BaseKvmCPU::setOneReg(uint64_t id, const void *addr) { #ifdef KVM_SET_ONE_REG struct kvm_one_reg reg; reg.id = id; reg.addr = (uint64_t)addr; if (ioctl(KVM_SET_ONE_REG, &reg) == -1) { * panic("KVM: Failed to set register (0x%x) value (errno: %i)\n", id, errno); } #else panic("KVM_SET_ONE_REG is unsupported on this platform.\n"); #endif } Reg:{ id: 6931039826524241986 addr: 281461478855616 } id:<optimized out> addr: 0xfffcdb7713c0 Here is my information. Please let me know if you need more. Thank you! Also, I wanted to ask, what is the earliest version of gem5 that supports KVM? I heard that KVM is not supported in version 20.0.3, but I feel like that might be incorrect. -----原始邮件----- 发件人:"Giacomo Travaglini via gem5-users" <gem5-users@gem5.org> 发送时间:2023-08-16 17:44:51 (星期三) 收件人: "The gem5 Users mailing list" <gem5-users@gem5.org> 抄送: "何雨彬" <bjutheyubin@emails.bjut.edu.cn>, "Giacomo Travaglini" <Giacomo.Travaglini@arm.com> 主题: [gem5-users] Re: boot arm with kvm Hello, it would help if you could run it with gdb, place a breakpoint in BaseKVMCPU::setOneReg and tell us which register gem5 is trying to set Kind Regards Giacomo From: 何雨彬 via gem5-users <gem5-users@gem5.org> Date: Tuesday, 15 August 2023 at 07:00 To: gem5 <gem5-users@gem5.org> Cc: 何雨彬 <bjutheyubin@emails.bjut.edu.cn> Subject: [gem5-users] boot arm with kvm hello! i am using gem5's KVM to accelerate my simulation, but in version 22.0, I encountered the following issue: **** REAL SIMULATION **** build/ARM/cpu/kvm/base.cc:150: info: KVM: Coalesced MMIO disabled by config. build/ARM/dev/arm/energy_ctrl.cc:252: warn: Existing EnergyCtrl, but no enabled DVFSHandler found. build/ARM/sim/simulate.cc:192: info: Entering event queue @ 0. Starting simulation... build/ARM/cpu/kvm/base.cc:863: panic: KVM: Failed to set register (0x6030000000100042) value (errno: 22) I found a similar error in the email list before, but after checking the patches, I realized that the patches were all there but the issue still wasn't resolved. After that, I switched the gem5 version to 20.1.0.5, but after running it, the gem5's output remained stuck, and there was no output in m5term. Here is my command line: sudo ./build/ARM/gem5.opt ./configs/example/fs.py --disk=/home/lyq/gem5/benchmark/itecgo/itecgo/expand-aarch64-ubuntu-trusty-headless.img --kernel=/home/lyq/gem5/benchmark/itecgo/itecgo/vmlinux.euler --mem-size=12GB --bootloader=/home/lyq/gem5/benchmark/itecgo/boot.arm64 --script=/home/lyq/gem5/benchmark/RCS/403.gcc.rcS --caches --cpu-type=ArmV8KvmCPU Is there anything I should check? I can provide more information if needed. Thank you for any help! mike IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.