Implement svcBindInterrupt and svcUnbindInterrupt

This commit is contained in:
TuxSH 2016-06-25 00:07:03 +02:00
parent 1cef3e5d2f
commit e863d2a4cf
2 changed files with 24 additions and 0 deletions

View File

@ -821,6 +821,22 @@ Result svcAcceptSession(Handle* session, Handle port);
* @param replyTarget Handle of the session to reply to.
*/
Result svcReplyAndReceive(s32* index, Handle* handles, s32 handleCount, Handle replyTarget);
/**
* @brief Binds an event handle to an ARM11 interrupt.
* @param interruptId Interrupt identfier (see https://www.3dbrew.org/wiki/ARM11_Interrupts).
* @param event Event handle to bind to the given interrupt.
* @param priority Priority of the interrupt for the current process.
* @param isManualClear Indicates whether the interrupt has to be manually cleared or not.
*/
Result svcBindInterrupt(u32 interruptId, Handle event, s32 priority, bool isManualClear);
/**
* @brief Unbinds an event handle from an ARM11 interrupt.
* @param interruptId Interrupt identfier, see (see https://www.3dbrew.org/wiki/ARM11_Interrupts).
* @param event Event handle to unbind from the given interrupt.
*/
Result svcUnbindInterrupt(u32 interruptId, Handle event);
///@}
///@name Time

View File

@ -352,6 +352,14 @@ SVC_BEGIN svcReplyAndReceive
add sp, sp, #4
bx lr
SVC_BEGIN svcBindInterrupt
svc 0x50
bx lr
SVC_BEGIN svcUnbindInterrupt
svc 0x51
bx lr
SVC_BEGIN svcInvalidateProcessDataCache
svc 0x52
bx lr