psl1ght
A free SDK for Sony's PS3 console
interrupt.h
Go to the documentation of this file.
1 
5 #ifndef __SYS_INTERRUPT_H__
6 #define __SYS_INTERRUPT_H__
7 
8 #include <ppu-lv2.h>
9 #include <lv2/interrupt.h>
10 
11 #define SYS_HW_THREAD_ANY 0xFFFFFFFEU
12 #define SYS_HW_THREAD_INVALID 0xFFFFFFFFU
13 #define SYS_INTERRUPT_TAG_ID_INVALID 0xFFFFFFFFU
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 LV2_SYSCALL sysInterruptTagCreate(sys_interrupt_tag_t *intrTag,sys_irqoutlet_id_t irq,sys_hw_thread_t hwThread)
20 {
21  lv2syscall3(80, (u64)intrTag, irq, hwThread);
22  return_to_user_prog(s32);
23 }
24 
25 LV2_SYSCALL sysInterruptTagDestroy(sys_interrupt_tag_t intrTag)
26 {
27  lv2syscall1(81, intrTag);
28  return_to_user_prog(s32);
29 }
30 
31 LV2_SYSCALL sysInterruptThreadEstablish(sys_interrupt_thread_handle_t *ih,sys_interrupt_tag_t intrTag,sys_ppu_thread_t intrThread,u64 arg)
32 {
33  lv2syscall5(84, (u64)ih, intrTag, intrThread, arg, 0);
34  return_to_user_prog(s32);
35 }
36 
37 LV2_SYSCALL _sysInterruptThreadDisestablish(sys_interrupt_thread_handle_t ih,u64 * tlsMem)
38 {
39  lv2syscall2(89, ih, (u64)tlsMem);
40  return_to_user_prog(s32);
41 }
42 
43 LV2_INLINE void sysInterruptThreadEOI(void)
44 {
45  lv2syscall0(88);
46 }
47 
48 #ifdef __cplusplus
49  }
50 #endif
51 
52 #endif
Thread Interrupt functions.