Skip to content

Commit a9a2420

Browse files
committed
Update qnx syscall table
1 parent 0ccf5fc commit a9a2420

File tree

1 file changed

+105
-107
lines changed

1 file changed

+105
-107
lines changed

qiling/os/qnx/map_syscall.py

Lines changed: 105 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -8,113 +8,111 @@
88

99
def 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

Comments
 (0)