In summary, Swis are patterned after hardware interrupts but provide a way in which to conduct processing in a more controlled and less restrictive way. Swis execute based on prioritized scheduling, meaning each Swi is given an explicit priority. This allows higher priority Swis to preempt lower priority ones. Additionally, Hwi’s will always preempt Swis and when two or more Swis of the same priority are called, order of execution will be determined in a FIFO fashion. Furthermore, there is an extensive library of Run-Time API for these interrupts that makes their possible implementations very flexible. Finally, the XGCONF tool is available to aid in setting up the interrupts and optimizing memory usage.