Entry | |
---|---|
R0 | Context to activate |
R1 | Flags: |
Bit 0: Lazy activation flag (0=activate now, 1=use lazy activation) | |
Bit 1: Application space changing (0=no change, 1=changing) | |
Other bits reserved, should be zero |
Exit | |
---|---|
R0 | Previously active context |
All other registers preserved |
This call should be used to switch the active context. Specify 0 to switch to the null context (i.e. VFP/NEON hardware deactivated).
If bit 0 of R0 is set, the context switch will occur in a lazy manner, i.e. the old context will only be saved and the new context will only be activated once the first VFP/NEON instruction is executed. Using lazy activation can provide improved performance in some situations, by avoiding redundant save/restore operations.
Bit 1 is used by the Wimp when a task switch occurs. Setting this bit is required to ensure that any context which is located in application space is saved correctly before the memory mapping changes and the new task is paged in.
VFPSupport_ExamineContext can be used to examine a context to determine whether it is active or not.