I am new to ARMv8 architecture. I have following basic questions on my mind:
- How do I know what is the current execution mode AArch32 or AArch64? Should I read CPSR or SPSR to ascertain this? 
- What is the current Exception level, EL0/1/2/3? 
- Once an exception comes, can i read any register to determine whether I am in Serror/Synchronous/IRQ/FIQ exception handler. 
TIA.
 
     
    