Visible to Intel only — GUID: sfo1410068047627
Ixiasoft
Visible to Intel only — GUID: sfo1410068047627
Ixiasoft
7.2.1.2. Virtual Processor Operation
Two virtual processors (secure and non-secure) with context switch capability (monitor mode) exist for each Cortex*-A9 processor core. The secure virtual processor only accesses secure resources and the non-secure virtual processor only accesses non-secure resources.
Exception Vector Tables
A context switch to secure operation is achieved through a secure monitor call (SMC) instruction or the following hardware exceptions (if configured to do so):
- IRQ interrupt
- Faster Interrupt Request (FIQ) interrupt
- External data abort
- External prefetch abort
When a context switch occurs, the state of the current mode is saved and restored on the next context switch or on a return from exception.
Three exception vector tables are provided for the MPU with TrustZone* :
- Non-secure
- Secure
- Monitor mode
Typically IRQs are used for non-secure interrupts and FIQs are used for secure interrupts. The location of each of the three vector tables can be moved at runtime.
The Generic Interrupt Controller (GIC) can handle secure and non-secure interrupts and prevent non-secure accesses from reading or modifying the configuration of a secure interrupt. An interrupt can be made secure by programming the appropriate bits in the Interrupt Security Register. Secure interrupts are always given a higher priority than non-secure interrupts.