Entry | |
---|---|
R0 | 0 + flags (reserved) |
Exit | |
---|---|
R0 | Flags |
R1 | Pointer to interrupt trigger routine (if bit 1 of R0 is set on exit) |
The purpose of this call is to return what is required to run code on the current hardware platform.
A StrongARM platform will return bits 0 – 4 set.
ARM 6 and 7 will return bits 0 – 4 clear.
Earlier machines will raise an error due to the SWI not being implemented. For such a machine, all the flags would be zero.
The routine returned in R1 is used to help trigger interrupts on CPUs where pending interrupts won’t be triggered as soon as the I bit is cleared. Enable interrupts and then call the routine to ensure that any pending interrupts have been processed. The routine is sutiable for calling from any CPU mode, and preserves all flags and registers, and is reentrant.