You have to set the kvm_vm parameter of the System object. Gabe
On Sun, Jul 26, 2020 at 10:57 PM Soramichi Akiyama via gem5-users < gem5-users@gem5.org> wrote: > Hi, > > I am trying to fast-forward a large workload with X86KvmCPU, but the > constructor falls into a segmentation fault. > I use the commit tagged with "v20.0.0.0" > (b1b8af04439240c532d3530a02773b75b9853f77). > > The stack trace looks like: > #0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) > at ../sysdeps/unix/sysv/linux/pthread_kill.c:56 > #1 0x000055c0eab76e92 in raiseFatalSignal (signo=signo@entry=11) at > build/X86/sim/init_signals.cc:105 > #2 0x000055c0eab76ee9 in segvHandler (sigtype=<optimized out>) at > build/X86/sim/init_signals.cc:165 > #3 <signal handler called> > #4 KvmVM::allocVCPUID (this=0x0) at build/X86/cpu/kvm/vm.cc:560 > #5 0x000055c0eb2ed251 in BaseKvmCPU::BaseKvmCPU (this=0x55c0ecf152a0, > params=0x55c0ed604e90) at /usr/include/c++/8/ext/new_allocator.h:86 > #6 0x000055c0eb2f86e1 in X86KvmCPU::X86KvmCPU (this=0x55c0ecf152a0, > params=0x55c0ed604e90) at build/X86/cpu/kvm/x86_cpu.cc:523 > #7 0x000055c0eb2f8921 in X86KvmCPUParams::create > (this=0x55c0ed604e90) at build/X86/cpu/kvm/x86_cpu.cc:1628 > ... > > The KvmVM::allocVCPUID function has only 1 line (return nextVCPUID++), > and accessing nextVCPUID on gdb returns an error: > (gdb) f 4 > #4 KvmVM::allocVCPUID (this=0x0) at build/X86/cpu/kvm/vm.cc:560 > 560 return nextVCPUID++; > (gdb) p nextVCPUID > Cannot access memory at address 0xc0 > > Does anyone have experience of hitting / workarounding this issue? > Given that the address of nextVCPUID (0xc0) looks broken (also that "this" > is 0x0 there), it guess there is an out-of-bound-related bug. > The smallest config that can reproduce this phenomenon is as follows. > > import m5 > from m5.objects import * > > system = System() > system.cpu = X86KvmCPU() > > system.cpu.createThreads() > system.cpu.createInterruptController() > system.clk_domain = SrcClockDomain() > system.clk_domain.clock = '1GHz' > system.clk_domain.voltage_domain = VoltageDomain() > > root = Root(full_system = False, system = system) > m5.instantiate() > > Best regards, > > Soramichi > _______________________________________________ > 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 >
_______________________________________________ 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