Hi Gagan,

The problem is that the CPU doesn't have an ISA object as a child. Most
likely, the function `createThreads()` wasn't called on the CPU instance.
You need to set all of this up *in the python configuration*, not in the
C++ models.

Solving this problem is difficult if you're using the (soon to be)
deprecated fs.py script. This script tries to do everything for everyone
and ends up doing nothing well. I suggest looking into the new gem5
standard library and working to create a board which suits your needs. See
https://www.gem5.org/documentation/gem5-stdlib/overview

Cheers,
Jason

On Sun, Jun 12, 2022 at 11:11 PM Gagan Panwar <gaganpan...@gmail.com> wrote:

> Hi everyone,
>
> I'm trying to run the latest version of Gem5 under X86 and it segfaults at
> the following line:
>
> build/X86/cpu/o3/fetch.cc:139
> > decoder[tid] = params.decoder[tid];
>
> gdb says params.decoder is a "vector of length 0". Looks like it has not
> been initialized.
>
> Any idea how to correctly initialize this?
>
> Here is my command line:
>
> ./build/X86/gem5.opt -r -d sim_output/stride/benchmark
> configs/example/fs.py --mem-size=16GB -n 4 -r 1
> --disk-image=/hdd0/newCPTs/ubuntu-server-16.04.6.img --checkpoint-dir=
> /hdd0/newCPTs/bench_1 --cpu-type=DerivO3CPU --rel-max-tick=2000000000
> --l2-hwp-type=StridePrefetcher --caches --l2cache --kernel=vmlinux-5.4.49
>
> I have also tried assigning decoder[tid] to a new TheISA::Decoder() object
> in fetch.cc like it used to be in older versions but this leads to build
> issues.
>
> To reiterate, I have not modified a single line of code. I was able to
> take checkpoints under KVM mode successfully, however.
>
> Thank you,
> Gagan
> _______________________________________________
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
>
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to