Hi Siva,
An SE simulation implicitly runs at EL0, and reading MPIDR_EL1 is undefined at
EL0 (unless FEAT_IDST is implemented, which is not currently the case in gem5).
It looks like gem5 is segfaulting instead of failing more gracefully in this
case, but in general you won’t be able to read MPIDR_EL1 from SE mode.
You would probably need to run a baremetal simulation to use MPIDR_EL1, and
make the access from EL1 or above.
Best regards,
Richard.
From: siva sankar
Sent: 01 July 2022 21:02
To: gem5 users mailing list
Subject: [gem5-users] Segmentation Fault when trying to execute mrs x0,
mpidr_el1
Hi All,
I am trying to run an executable in gem5 where the first instruction is "mrs
x0, mpidr_el1". As soon as I run it, it fails with the following segmentation
fault.
Below is the command and the error message:
./build/ARM/gem5.opt configs/example/se.py --cmd=temp.elf
REAL SIMULATION
build/ARM/sim/simulate.cc:194: info: Entering event queue @ 0. Starting
simulation...
build/ARM/arch/arm/utility.cc:154: warn: Trying to read MPIDR at EL0
gem5 has encountered a segmentation fault!
--- BEGIN LIBC BACKTRACE ---
./build/ARM/gem5.opt[0x1bdbc75]
./build/ARM/gem5.opt[0x1bf677d]
/lib64/libpthread.so.0(+0xf7e0)[0x776417e0]
./build/ARM/gem5.opt[0x77d4a7]
./build/ARM/gem5.opt[0x77ddf5]
./build/ARM/gem5.opt[0x63b6be]
./build/ARM/gem5.opt[0xe81cc8]
./build/ARM/gem5.opt[0x1602fe4]
./build/ARM/gem5.opt[0x1be7268]
./build/ARM/gem5.opt[0x1c0f859]
./build/ARM/gem5.opt[0x1c104ba]
./build/ARM/gem5.opt[0x1bcba40]
./build/ARM/gem5.opt[0x166a9a1]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(PyCFunction_Call+0x118)[0x778f1b48]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x84f5)[0x778c81f5]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(_PyEval_EvalCodeWithName+0xa7a)[0x779dd08a]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(_PyFunction_Vectorcall+0xa8)[0x778ef748]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x8037)[0x778c7d37]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(+0x6fae0)[0x778beae0]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x604a)[0x778c5d4a]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(_PyEval_EvalCodeWithName+0xa7a)[0x779dd08a]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(_PyFunction_Vectorcall+0xa8)[0x778ef748]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x8037)[0x778c7d37]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(_PyEval_EvalCodeWithName+0xa7a)[0x779dd08a]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(PyEval_EvalCodeEx+0x3e)[0x779dd23e]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(PyEval_EvalCode+0x1b)[0x779dd26b]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(+0x18ade9)[0x779d9de9]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(+0xe9510)[0x77938510]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x604a)[0x778c5d4a]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(+0x6fae0)[0x778beae0]
/home/utils/Python/3.8/3.8.10-20210517/lib/libpython3.8.so.1.0(PyVectorcall_Call+0x5c)[0x778f161c]
./build/ARM/gem5.opt[0x1bd5d71]
--- END LIBC BACKTRACE ---
Segmentation fault
Can someone help me understand/debug this or direct me on how to resolve this?
It would be of great help.
--
Thanks and regards
Siva
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.
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org