SVC: Difference between revisions
Line 1,148: | Line 1,148: | ||
= Interrupt Handling = | = Interrupt Handling = | ||
svcBindInterrupt registers the given event corresponding to the handle to the global [[ARM11_Interrupts#Interrupt_Table_.28New3DS.29|"interrupt table"]] for the given interrupt ID. Interrupts 0-14 and 16-31 can never be mapped regardless of the [[NCCH/Extended_Header#ARM11_Kernel_Capabilities|interrupt flags of the process's exheader]], and the latter are not checked when mapping interrupt 15. | |||
If an interrupt event was already registered for the given ID, svcBindInterrupt returns error 0xD8E007F0. See [[KBaseInterruptEvent]] for more information on what happens on receipt of an interrupt. | |||
Applications hence can wait for specific interrupts to happen by calling WaitSynchronization(N) on the event handles. | Applications hence can wait for specific interrupts to happen by calling WaitSynchronization(N) on the event handles. | ||
The set of existing ARM11 interrupts is listed on [[ARM11 Interrupts|this page]]. | The set of existing ARM11 interrupts is listed on [[ARM11 Interrupts|this page]]. |