Showing changes from revision #1 to #2:
Added | Removed | Changed
Entry | |
---|---|
R0-R7 | Parameters for hardware routine |
R8 | 0 |
R9 | Hardware call number |
Exit | |
---|---|
R0-R3 | Updated by call |
R4-R9 | Preserved |
This SWI calls a HAL routine. HAL routines internally are ATPCS, so R0-R3 are passed in as a1-a4, and R4-R7 are pushed on to the stack. The a1-a4 on exit from the routine are passed back in R0-R3.
If the HAL routine is not available, an error is returned. Actual HAL routines do not return RISC OS errors – any possible failure will be indicated in a call-specific manner.
Error &6C1 (Hardware call not available) is returned if the requested call is unknown by this kernel/HAL version, or is a null entry (was (Null implemented offset as in a the ‘MOV pc,lr’ within the HAL ) entry table). Entries which are present but do nothing (i.e. implemented as ‘MOV pc,lr’) do not return an error.