88
99def map_syscall (ql , syscall_num ):
1010 if ql .archtype == QL_ARCH .ARM :
11- for k , v in syscall_table .items ():
12- if v == syscall_num :
13- return f'{ SYSCALL_PREF } { k } '
11+ return f'{ SYSCALL_PREF } { arm_syscall_table [syscall_num ]} '
1412
1513# Source: https://github.com/vocho/openqnx
1614# trunk/services/system/public/sys/kercalls.h
17- syscall_table = {
18- "clock_cycles" : ( 0xfe000000 ) ,
19- "trace_event" : ( 0x01 ) ,
20- "ring0" : ( 0x02 ) ,
21- "spare1" : ( 0x03 ) ,
22- "spare2" : ( 0x04 ) ,
23- "spare3" : ( 0x05 ) ,
24- "spare4" : ( 0x06 ) ,
25- "sys_cpupage_get" : ( 0x07 ) ,
26- "sys_cpupage_set" : ( 0x08 ) ,
27- "sys_spare1" : ( 0x09 ) ,
28- "msg_current" : ( 0x0a ) ,
29- "msg_sendv" : ( 0x0b ) ,
30- "msg_sendvnc" : ( 0x0c ) ,
31- "msg_error" : ( 0x0d ) ,
32- "msg_receivev" : ( 0x0e ) ,
33- "msg_replyv" : ( 0x0f ) ,
34- "msg_readv" : ( 0x10 ) ,
35- "msg_writev" : ( 0x11 ) ,
36- "msg_readwritev" : ( 0x12 ) ,
37- "msg_info" : ( 0x13 ) ,
38- "msg_send_pulse" : ( 0x14 ) ,
39- "msg_deliver_event" : ( 0x15 ) ,
40- "msg_keydata" : ( 0x16 ) ,
41- "msg_readiov" : ( 0x17 ) ,
42- "msg_receivepulsev" : ( 0x18 ) ,
43- "msg_verify_event" : ( 0x19 ) ,
44- "signal_kill" : ( 0x1a ) ,
45- "signal_return" : ( 0x1b ) ,
46- "signal_fault" : ( 0x1c ) ,
47- "signal_action" : ( 0x1d ) ,
48- "signal_procmask" : ( 0x1e ) ,
49- "signal_suspend" : ( 0x1f ) ,
50- "signal_waitinfo" : ( 0x20 ) ,
51- "signal_spare1" : ( 0x21 ) ,
52- "signal_spare2" : ( 0x22 ) ,
53- "channel_create" : ( 0x23 ) ,
54- "channel_destroy" : ( 0x24 ) ,
55- "chancon_attr" : ( 0x25 ) ,
56- "channel_spare1" : ( 0x26 ) ,
57- "connect_attach" : ( 0x27 ) ,
58- "connect_detach" : ( 0x28 ) ,
59- "connect_server_info" : ( 0x29 ) ,
60- "connect_client_info" : ( 0x2a ) ,
61- "connect_flags" : ( 0x2b ) ,
62- "connect_spare1" : ( 0x2c ) ,
63- "connect_spare2" : ( 0x2d ) ,
64- "thread_create" : ( 0x2e ) ,
65- "thread_destroy" : ( 0x2f ) ,
66- "thread_destroyall" : ( 0x30 ) ,
67- "thread_detach" : ( 0x31 ) ,
68- "thread_join" : ( 0x32 ) ,
69- "thread_cancel" : ( 0x33 ) ,
70- "thread_ctl" : ( 0x34 ) ,
71- "thread_spare1" : ( 0x35 ) ,
72- "thread_spare2" : ( 0x36 ) ,
73- "interrupt_attach" : ( 0x37 ) ,
74- "interrupt_detach_func" : ( 0x38 ) ,
75- "interrupt_detach" : ( 0x39 ) ,
76- "interrupt_wait" : ( 0x3a ) ,
77- "interrupt_mask" : ( 0x3b ) ,
78- "interrupt_unmask" : ( 0x3c ) ,
79- "interrupt_spare1" : ( 0x3d ) ,
80- "interrupt_spare2" : ( 0x3e ) ,
81- "interrupt_spare3" : ( 0x3f ) ,
82- "interrupt_spare4" : ( 0x40 ) ,
83- "clock_time" : ( 0x41 ) ,
84- "clock_adjust" : ( 0x42 ) ,
85- "clock_period" : ( 0x43 ) ,
86- "clock_id" : ( 0x44 ) ,
87- "clock_spare2" : ( 0x45 ) ,
88- "timer_create" : ( 0x46 ) ,
89- "timer_destroy" : ( 0x47 ) ,
90- "timer_settime" : ( 0x48 ) ,
91- "timer_info" : ( 0x49 ) ,
92- "timer_alarm" : ( 0x4a ) ,
93- "timer_timeout" : ( 0x4b ) ,
94- "timer_spare1" : ( 0x4c ) ,
95- "timer_spare2" : ( 0x4d ) ,
96- "sync_create" : ( 0x4e ) ,
97- "sync_destroy" : ( 0x4f ) ,
98- "sync_mutex_lock" : ( 0x50 ) ,
99- "sync_mutex_unlock" : ( 0x51 ) ,
100- "sync_condvar_wait" : ( 0x52 ) ,
101- "sync_condvar_signal" : ( 0x53 ) ,
102- "sync_sem_post" : ( 0x54 ) ,
103- "sync_sem_wait" : ( 0x55 ) ,
104- "sync_ctl" : ( 0x56 ) ,
105- "sync_mutex_revive" : ( 0x57 ) ,
106- "sched_get" : ( 0x58 ) ,
107- "sched_set" : ( 0x59 ) ,
108- "sched_yield" : ( 0x5a ) ,
109- "sched_info" : ( 0x5b ) ,
110- "sched_ctl" : ( 0x5c ) ,
111- "net_cred" : ( 0x5d ) ,
112- "net_vtid" : ( 0x5e ) ,
113- "net_unblock" : ( 0x5f ) ,
114- "net_infoscoid" : ( 0x60 ) ,
115- "net_signal_kill" : ( 0x61 ) ,
116- "net_spare1" : ( 0x62 ) ,
117- "net_spare2" : ( 0x63 ) ,
118- "mt_ctl" : ( 0x64 ) ,
119- "bad" : ( 0x65 ) ,
120- }
15+ arm_syscall_table = {
16+ 4261412864 : 'clock_cycles' ,
17+ 1 : 'trace_event' ,
18+ 2 : 'ring0' ,
19+ 3 : 'spare1' ,
20+ 4 : 'spare2' ,
21+ 5 : 'spare3' ,
22+ 6 : 'spare4' ,
23+ 7 : 'sys_cpupage_get' ,
24+ 8 : 'sys_cpupage_set' ,
25+ 9 : 'sys_spare1' ,
26+ 10 : 'msg_current' ,
27+ 11 : 'msg_sendv' ,
28+ 12 : 'msg_sendvnc' ,
29+ 13 : 'msg_error' ,
30+ 14 : 'msg_receivev' ,
31+ 15 : 'msg_replyv' ,
32+ 16 : 'msg_readv' ,
33+ 17 : 'msg_writev' ,
34+ 18 : 'msg_readwritev' ,
35+ 19 : 'msg_info' ,
36+ 20 : 'msg_send_pulse' ,
37+ 21 : 'msg_deliver_event' ,
38+ 22 : 'msg_keydata' ,
39+ 23 : 'msg_readiov' ,
40+ 24 : 'msg_receivepulsev' ,
41+ 25 : 'msg_verify_event' ,
42+ 26 : 'signal_kill' ,
43+ 27 : 'signal_return' ,
44+ 28 : 'signal_fault' ,
45+ 29 : 'signal_action' ,
46+ 30 : 'signal_procmask' ,
47+ 31 : 'signal_suspend' ,
48+ 32 : 'signal_waitinfo' ,
49+ 33 : 'signal_spare1' ,
50+ 34 : 'signal_spare2' ,
51+ 35 : 'channel_create' ,
52+ 36 : 'channel_destroy' ,
53+ 37 : 'chancon_attr' ,
54+ 38 : 'channel_spare1' ,
55+ 39 : 'connect_attach' ,
56+ 40 : 'connect_detach' ,
57+ 41 : 'connect_server_info' ,
58+ 42 : 'connect_client_info' ,
59+ 43 : 'connect_flags' ,
60+ 44 : 'connect_spare1' ,
61+ 45 : 'connect_spare2' ,
62+ 46 : 'thread_create' ,
63+ 47 : 'thread_destroy' ,
64+ 48 : 'thread_destroyall' ,
65+ 49 : 'thread_detach' ,
66+ 50 : 'thread_join' ,
67+ 51 : 'thread_cancel' ,
68+ 52 : 'thread_ctl' ,
69+ 53 : 'thread_spare1' ,
70+ 54 : 'thread_spare2' ,
71+ 55 : 'interrupt_attach' ,
72+ 56 : 'interrupt_detach_func' ,
73+ 57 : 'interrupt_detach' ,
74+ 58 : 'interrupt_wait' ,
75+ 59 : 'interrupt_mask' ,
76+ 60 : 'interrupt_unmask' ,
77+ 61 : 'interrupt_spare1' ,
78+ 62 : 'interrupt_spare2' ,
79+ 63 : 'interrupt_spare3' ,
80+ 64 : 'interrupt_spare4' ,
81+ 65 : 'clock_time' ,
82+ 66 : 'clock_adjust' ,
83+ 67 : 'clock_period' ,
84+ 68 : 'clock_id' ,
85+ 69 : 'clock_spare2' ,
86+ 70 : 'timer_create' ,
87+ 71 : 'timer_destroy' ,
88+ 72 : 'timer_settime' ,
89+ 73 : 'timer_info' ,
90+ 74 : 'timer_alarm' ,
91+ 75 : 'timer_timeout' ,
92+ 76 : 'timer_spare1' ,
93+ 77 : 'timer_spare2' ,
94+ 78 : 'sync_create' ,
95+ 79 : 'sync_destroy' ,
96+ 80 : 'sync_mutex_lock' ,
97+ 81 : 'sync_mutex_unlock' ,
98+ 82 : 'sync_condvar_wait' ,
99+ 83 : 'sync_condvar_signal' ,
100+ 84 : 'sync_sem_post' ,
101+ 85 : 'sync_sem_wait' ,
102+ 86 : 'sync_ctl' ,
103+ 87 : 'sync_mutex_revive' ,
104+ 88 : 'sched_get' ,
105+ 89 : 'sched_set' ,
106+ 90 : 'sched_yield' ,
107+ 91 : 'sched_info' ,
108+ 92 : 'sched_ctl' ,
109+ 93 : 'net_cred' ,
110+ 94 : 'net_vtid' ,
111+ 95 : 'net_unblock' ,
112+ 96 : 'net_infoscoid' ,
113+ 97 : 'net_signal_kill' ,
114+ 98 : 'net_spare1' ,
115+ 99 : 'net_spare2' ,
116+ 100 : 'mt_ctl' ,
117+ 101 : 'bad' ,
118+ }
0 commit comments