Hey,

SE mode runs things in user space, you cannot run privileged instructions in 
it. 

If you wish to support privilege levels then you'll need to build an FS mode 
simulation.

Kind regards,
Bobby

--
Dr. Bobby R. Bruce
Room 3050,
Kemper Hall, UC Davis
Davis,
CA, 95616
 
web: https://www.bobbybruce.net

> On Aug 14, 2023, at 10:00 AM, 王崇滕 via gem5-users <[email protected]> wrote:
> 
> Hi everyone, 
> 
> I ran the following program which simply reads the value of MiscReg (mhartid, 
> mstatus, ...),
> https://pastebin.com/t5XBBWEz. (remove line 31-32)
> 
> The compilation command I used is, riscv64-unknown-elf-gcc -static hello1.c 
> -o hello1.
> I ran it with SE script, gem5.opt se.py -c hello1
> 
> And this is the error I got, 
> panic: Illegal instruction 0xf14027f3 at pc (0x101b8=>0x101bc).(0=>1): 
> mhartid is not accessible in 0.
> 
> I believe the "0" stands for the value of PrivilegeMode PRV_U right?
> So my question is how do I change from PRV_U to PRV_M in order to access 
> MiscReg?
> Also, I have found an element of array MiscRegNames in isa.cc, which is 
> [MISCREG_PRV]           = "PRV", does this element control which 
> PrivilegeMode that i'm in?
> Any help would be appreciated!
> Thanks
> 
> Regards,
> Jerry
> _______________________________________________
> gem5-users mailing list -- [email protected]
> To unsubscribe send an email to [email protected]

_______________________________________________
gem5-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to