-
Notifications
You must be signed in to change notification settings - Fork 210
Status: Syscalls
GCYY edited this page Sep 6, 2020
·
5 revisions
- Total = 153
- 100% Finished (已经完成) = 61
- XX% 0<XX<100% (部分完成/不完善) = 31
- 0% (完全没做)= 61
Status | Description |
---|---|
✅ | 已经完成 |
部分完成 | |
? | 不完善 |
完全没做 |
- “已经完成”表示通过了基本测试集。
- “部分完成”/“不完善”有bug或实现不全,不能通过基本测试集
- “完全没做”等待认领
即使已经完成的,也可能有错误。如果发现错误、请通过issues/PR方式提供信息。 谢谢!
Old
syscall type | count |
---|---|
Handles | 4 |
Objects | 10 |
Threads | 5 |
Processes | 5 |
Jobs | 3 |
Tasks | 3 |
Profiles | 1 |
Exceptions | 2 |
Channels | 6 |
Sockets | 4 |
Stream | 6 |
Fifos | 3 |
Events and Event Pairs | 3 |
Ports | 4 |
Futexes | 3 |
Virtual Memory Objects (VMOs) | 10 |
Virtual Memory Address Regions (VMARs) | 6 |
Userspace Pagers | 5 |
Cryptographically Secure RNG | 2 |
Time | 7 |
Timers | 3 |
Hypervisor guests | 2 |
Virtual CPUs | 6 |
Global system information | 5 |
Debug Logging | 6 |
Multi-function | 2 |
System | 3 |
DDK | 14 |
Display drivers | 2 |
Tracing | 4 |
Others/Work in progress | 14 |
共31个Object syscall
total = 153
2020 08 31
syscall type | count |
---|---|
Handles | 4 |
Objects | 10 |
Threads | 5 |
Processes | 5 |
Jobs | 3 |
Tasks | 3 |
Profiles | 1 |
Exceptions | 2 |
Channels | 7 |
Sockets | 4 |
Stream | 6 |
Fifos | 3 |
Events and Event Pairs | 3 |
Ports | 4 |
Futexes | 3 |
Virtual Memory Objects (VMOs) | 10 |
Virtual Memory Address Regions (VMARs) | 6 |
Userspace Pagers | 5 |
Cryptographically Secure RNG | 2 |
Time | 7 |
Timers | 3 |
Hypervisor guests | 2 |
Virtual CPUs | 6 |
Global system information | 5 |
Debug Logging | 6 |
Multi-function | 2 |
System | 3 |
DDK | 14 |
Display drivers | 2 |
Tracing | 4 |
Others/Work in progress | 14 |
共31个Object syscall
total = 154
变化
syscall type | diff |
---|---|
Channels | +1 |
id | zircon syscall | description | zcore |
---|---|---|---|
1 | handle_close | close a handle | ✅ |
2 | handle_close_many | close several handles | ✅ |
3 | handle_duplicate | create a duplicate handle (optionally with reduced rights) | ✅ |
4 | handle_replace | create a new handle (optionally with reduced rights) and destroy the old one | ✅ |
id | zircon syscall | description | zcore |
---|---|---|---|
5 | object_get_child | find the child of an object by its koid | |
6 | object_get_info | obtain information about an object | |
7 | object_get_property | read an object property | |
8 | object_set_profile | apply a profile to a thread | |
9 | object_set_property | modify an object property | |
10 | object_signal | set or clear the user signals on an object | |
11 | object_signal_peer | set or clear the user signals in the opposite end | ✅ |
12 | object_wait_many | wait for signals on multiple objects | |
13 | object_wait_one | wait for signals on one object | ✅ |
14 | object_wait_async | asynchronous notifications on signal change | ✅ |
id | zircon syscall | description | zcore |
---|---|---|---|
15 | thread_create | ✅ | |
16 | thread_exit | ||
17 | thread_read_state | ||
18 | thread_start | ✅ | |
19 | thread_write_state |
id | zircon syscall | description | zcore |
---|---|---|---|
20 | process_create | ✅ | |
21 | process_read_memory | ✅ | |
22 | process_start | ✅ | |
23 | process_write_memory | ✅ | |
24 | process_exit |
id | zircon syscall | description | zcore |
---|---|---|---|
25 | job_create | ✅ | |
26 | job_set_critical | ||
27 | job_set_policy |
id | zircon syscall | description | zcore |
---|---|---|---|
28 | task_create_exception_channel | ||
29 | task_kill | ||
30 | task_suspend | ✅? |
id | zircon syscall | description | zcore |
---|---|---|---|
31 | profile_create |
id | zircon syscall | description | zcore |
---|---|---|---|
32 | exception_get_thread | ||
33 | exception_get_process |
id | zircon syscall | description | zcore |
---|---|---|---|
34 | channel_call | ✅? | |
35 | channel_create | ✅ | |
36 | channel_read | ✅ | |
37 | channel_read_etc | ||
38 | channel_write | ✅ | |
39 | channel_write_etc |
id | zircon syscall | description | zcore |
---|---|---|---|
40 | socket_create | ✅ | |
41 | socket_read | ✅ | |
42 | socket_shutdown | ✅ | |
43 | socket_write | ✅ |
id | zircon syscall | description | zcore |
---|---|---|---|
44 | stream_create | ||
45 | stream_readv | ||
46 | stream_readv_at | ||
47 | stream_writev | ||
48 | stream_writev_at | ||
49 | stream_seek |
id | zircon syscall | description | zcore |
---|---|---|---|
50 | fifo_create | ||
51 | fifo_read | ||
52 | fifo_write |
id | zircon syscall | description | zcore |
---|---|---|---|
53 | event_create | ✅ | |
54 | eventpair_create | ||
55 | system_get_event |
id | zircon syscall | description | zcore |
---|---|---|---|
56 | port_create | ✅ | |
57 | port_queue | ||
58 | port_wait | ✅ | |
59 | port_cancel |
id | zircon syscall | description | zcore |
---|---|---|---|
60 | futex_wait | ✅ | |
61 | futex_wake | ✅ | |
62 | futex_requeue |
id | zircon syscall | description | zcore |
---|---|---|---|
63 | vmo_create | ✅ | |
64 | vmo_read | ✅ | |
65 | vmo_write | ||
66 | vmo_create_child | ||
67 | vmo_get_size | ||
68 | vmo_set_size | ✅ | |
69 | vmo_op_range | ||
70 | vmo_replace_as_executable | ✅ | |
71 | vmo_create_physical | create a VM object referring to a specific contiguous range of physical memory | ✅ |
72 | vmo_set_cache_policy |
id | zircon syscall | description | zcore |
---|---|---|---|
73 | vmar_allocate | ✅ | |
74 | vmar_map | ✅ | |
75 | vmar_unmap | ✅ | |
76 | vmar_protect | ||
77 | vmar_op_range | ||
78 | vmar_destroy | ✅ |
id | zircon syscall | description | zcore |
---|---|---|---|
79 | pager_create | ||
80 | pager_create_vmo | ||
81 | pager_detach_vmo | ||
82 | pager_supply_pages | ||
83 | pager_op_range |
id | zircon syscall | description | zcore |
---|---|---|---|
84 | cprng_add_entropy | ||
85 | cprng_draw |
id | zircon syscall | description | zcore |
---|---|---|---|
86 | nanosleep | ||
87 | clock_get | ||
88 | clock_get_monotonic | ✅ | |
89 | ticks_get | ||
90 | ticks_per_second | ||
91 | deadline_after | ||
92 | clock_adjust |
id | zircon syscall | description | zcore |
---|---|---|---|
93 | timer_create | ✅ | |
94 | timer_set | ✅ | |
95 | timer_cancel | ✅ |
id | zircon syscall | description | zcore |
---|---|---|---|
96 | guest_create | ✅ | |
97 | guest_set_trap | ✅ |
id | zircon syscall | description | zcore |
---|---|---|---|
98 | vcpu_create | ✅ | |
99 | vcpu_resume | ✅ | |
100 | vcpu_interrupt | ✅ | |
101 | vcpu_read_state | ✅ | |
102 | vcpu_write_state | ✅ | |
103 | interrupt_bind_vcpu |
id | zircon syscall | description | zcore |
---|---|---|---|
104 | system_get_dcache_line_size | ||
105 | system_get_features | ||
106 | system_get_num_cpus | ||
107 | system_get_physmem | ||
108 | system_get_version_string |
id | zircon syscall | description | zcore |
---|---|---|---|
109 | debuglog_create | ✅ | |
110 | debuglog_write | ||
111 | debuglog_read | ||
112 | debug_read | ||
113 | debug_write | ||
114 | debug_send_command |
id | zircon syscall | description | zcore |
---|---|---|---|
115 | vmar_unmap_handle_close_thread_exit | ||
116 | futex_wake_handle_close_thread_exit |
id | zircon syscall | description | zcore |
---|---|---|---|
117 | system_mexec | ||
118 | system_mexec_payload_get | ||
119 | system_powerctl |
id | zircon syscall | description | zcore |
---|---|---|---|
120 | bti_create | ✅ | |
121 | bti_pin | ✅ | |
122 | bti_release_quarantine | ✅ | |
123 | cache_flush | ||
124 | interrupt_ack | ✅ | |
125 | interrupt_bind | ✅ | |
126 | interrupt_create | ✅ | |
127 | interrupt_destroy | ✅ | |
128 | interrupt_trigger | ✅ | |
129 | interrupt_wait | ✅ | |
130 | iommu_create | ✅ | |
131 | pmt_unpin | ✅ | |
132 | resource_create | ||
133 | smc_call |
id | zircon syscall | description | zcore |
---|---|---|---|
134 | framebuffer_get_info | ||
135 | framebugger_set_range |
id | zircon syscall | description | zcore |
---|---|---|---|
136 | ktrace_control | ||
137 | ktrace_read | ||
138 | ktrace_write | ||
139 | mtrace_control |
id | zircon syscall | description | zcore |
---|---|---|---|
140 | ioports_release | ||
141 | pc_firmware_tables | ||
142 | pci_add_subtract_io_range | ✅ | |
143 | pci_cfg_pio_rw | ✅ | |
144 | pci_config_read | ✅ | |
145 | pci_config_write | ✅ | |
146 | pci_enable_bus_master | ✅ | |
147 | pci_get_bar | ✅ | |
148 | pci_get_nth_device | ✅ | |
149 | pci_init | ✅ | |
150 | pci_map_interrupt | ✅ | |
151 | pci_query_irq_mode | ✅ | |
152 | pci_reset_device | ||
153 | pci_set_irq_mode |
- handle_close - close a handle
- handle_close_many - close several handles
- handle_duplicate - create a duplicate handle (optionally with reduced rights)
- handle_replace - create a new handle (optionally with reduced rights) and destroy the old one
- object_get_child - find the child of an object by its koid
- object_get_info - obtain information about an object
- object_get_property - read an object property
- object_set_profile - apply a profile to a thread
- object_set_property - modify an object property
- object_signal - set or clear the user signals on an object
- object_signal_peer - set or clear the user signals in the opposite end
- object_wait_many - wait for signals on multiple objects
- object_wait_one - wait for signals on one object
- object_wait_async - asynchronous notifications on signal change
- thread_create - create a new thread within a process
- thread_exit - exit the current thread
- thread_read_state - read register state from a thread
- thread_start - cause a new thread to start executing
- thread_write_state - modify register state of a thread
- process_create - create a new process within a job
- process_read_memory - read from a process's address space
- process_start - cause a new process to start executing
- process_write_memory - write to a process's address space
- process_exit - exit the current process
- job_create - create a new job within a job
- job_set_critical - set a process as critical to a job
- job_set_policy - modify policies for a job and its descendants
- task_create_exception_channel - create an exception channel on a task
- task_kill - cause a task to stop running
- task_suspend - cause a task to be suspended
- profile_create - create a new profile object
- exception_get_thread - create a handle for the exception thread
- exception_get_process - create a handle for the exception process
- channel_call - synchronously send a message and receive a reply
- channel_call_etc - synchronously send a message and receive a reply with handle information
- channel_create - create a new channel
- channel_read - receive a message from a channel
- channel_read_etc - receive a message from a channel with handle information
- channel_write - write a message to a channel
- channel_write_etc - write a message to the channel and modify the handles
- socket_create - create a new socket
- socket_read - read data from a socket
- socket_shutdown - prevent reading or writing
- socket_write - write data to a socket
- zx_stream_create() - create a stream from a VMO
- zx_stream_readv() - read data from the stream at the current seek offset
- zx_stream_readv_at() - read data from the stream at a given offset
- zx_stream_writev() - write data to the stream at the current seek offset
- zx_stream_writev_at() - write data to the stream at a given offset
- zx_stream_seek() - modify the current seek offset of the stream
- fifo_create - create a new fifo
- fifo_read - read data from a fifo
- fifo_write - write data to a fifo
- event_create - create an event
- eventpair_create - create a connected pair of events
- system_get_event - retrieve a handle to a system event
- port_create - create a port
- port_queue - send a packet to a port
- port_wait - wait for packets to arrive on a port
- port_cancel - cancel notifications from async_wait
- futex_wait - wait on a futex
- futex_wake - wake waiters on a futex
- futex_requeue - wake some waiters and requeue other waiters
- vmo_create - create a new vmo
- vmo_read - read from a vmo
- vmo_write - write to a vmo
- vmo_create_child - creates a child of a vmo
- vmo_get_size - obtain the size of a vmo
- vmo_set_size - adjust the size of a vmo
- vmo_op_range - perform an operation on a range of a vmo
- vmo_replace_as_executable - add execute rights to a vmo
- vmo_create_physical - create a VM object referring to a specific contiguous range of physical memory
- vmo_set_cache_policy - set the caching policy for pages held by a VMO
- vmar_allocate - create a new child VMAR
- vmar_map - map a VMO into a process
- vmar_unmap - unmap a memory region from a process
- vmar_protect - adjust memory access permissions
- vmar_op_range - perform an operation on VMOs mapped into a range of a VMAR
- vmar_destroy - destroy a VMAR and all of its children
- pager_create - create a new pager object
- pager_create_vmo - create a pager owned vmo
- pager_detach_vmo - detaches a pager from a vmo
- pager_supply_pages - supply pages into a pager owned vmo
- pager_op_range - perform an operation on a range of a pager owned vmo
- nanosleep - sleep for some number of nanoseconds
- clock_get - read a system clock
- clock_get_monotonic - read the monotonic system clock
- ticks_get - read high-precision timer ticks
- ticks_per_second - read the number of high-precision timer ticks in a second
- deadline_after - Convert a time relative to now to an absolute deadline
- clock_adjust
- timer_create - create a timer object
- timer_set - start a timer
- timer_cancel - cancel a timer
- guest_create - create a hypervisor guest
- guest_set_trap - set a trap in a hypervisor guest
- vcpu_create - create a virtual cpu
- vcpu_resume - resume execution of a virtual cpu
- vcpu_interrupt - raise an interrupt on a virtual cpu
- vcpu_read_state - read state from a virtual cpu
- vcpu_write_state - write state to a virtual cpu
- interrupt_bind_vcpu - Bind an interrupt object to a VCPU
- system_get_dcache_line_size
- system_get_features - get hardware-specific features
- system_get_num_cpus - get number of CPUs
- system_get_physmem - get physical memory size
- system_get_version_string - get version string
- debuglog_create - create a kernel managed debuglog reader or writer
- debuglog_write - write log entry to debuglog
- debuglog_read - read log entries from debuglog
- debug_read - TODO(fxbug.dev/32938)
- debug_write - TODO(fxbug.dev/32938)
- debug_send_command - TODO(fxbug.dev/32938)
- vmar_unmap_handle_close_thread_exit - three-in-one
- futex_wake_handle_close_thread_exit - three-in-one
- system_mexec - Soft reboot the system with a new kernel and bootimage
- system_mexec_payload_get - Return a ZBI containing ZBI entries necessary to boot this system
- system_powerctl
- bti_create - create a new bus transaction initiator
- bti_pin - pin pages and grant devices access to them
- bti_release_quarantine - releases all quarantined PMTs
- cache_flush - Flush CPU data and/or instruction caches
- interrupt_ack - Acknowledge an interrupt object
- interrupt_bind - Bind an interrupt object to a port
- interrupt_create - Create a physical or virtual interrupt object
- interrupt_destroy - Destroy an interrupt object
- interrupt_trigger - Trigger a virtual interrupt object
- interrupt_wait - Wait on an interrupt object
- iommu_create - create a new IOMMU object in the kernel
- pmt_unpin - unpin pages and revoke device access to them
- resource_create - create a resource object
- smc_call - Make an SMC call from user space