Unable to read currentel

I am running one example on a72 core.
I am facing issue where i am not able to read any control registers , i was trying to read CurrentEL register.
As my example is running at EL0 ,so i don't have access to read this reg, so i was trying to call SVC(which we can call from el0).


when i call svc i get error
Process 577559 (example) terminated SIGILL code=1 fltno=1 ip=00000000004052b0
Illegal instruction (core dumped)


my questions are:
1. can i call svc and come out clean from svc handler , my el level will be at EL1?
2. can i resume my example execution at EL1?

Parents
  • What does the rest of the software stack look like?

    Doing what you described is fairly straightforward if you are running bare-metal, the Learn the Architecture guides will take you through installing vector tables and writing handlers.  If you've got something that looks more like a full software stack (e.g. TF-A at EL3, UEFI at EL2, Host OS...) then you'd either need to modify those layers or work through whatever existing interfaces they provide.

Reply
  • What does the rest of the software stack look like?

    Doing what you described is fairly straightforward if you are running bare-metal, the Learn the Architecture guides will take you through installing vector tables and writing handlers.  If you've got something that looks more like a full software stack (e.g. TF-A at EL3, UEFI at EL2, Host OS...) then you'd either need to modify those layers or work through whatever existing interfaces they provide.

Children
No data