AArch64 異常
Synchronous
Asynchronous
- IRQ
- FIQ
- SError
Synchronous exceptions include
- Service call: SVCs, SMCs and HVCs(covered later)
- Aborts from MMU
- SP and PC alignment checking
- Unallocated instructions
SError exceptions include
Asynchronous data abrots
Taking an exception
when an exception occurs:
- SPSR_ELn updated
- PSTATE updated (EL stays the same OR gets higher)
- Return address stared to ELR_ELn
- ESR_ELn updated with cause of exception
- Branches to the exception table
To return from an exception execute ERET instruction
- Restores PSTATE from SPSR_ELn
- Restores PC from ELR_ELn