-
Notifications
You must be signed in to change notification settings - Fork 216
Status: Syscalls
GCYY edited this page Jul 6, 2020
·
5 revisions
- Total = 153
- 100% Finished (已经完成) = 61
- XX% 0<XX<100% (部分完成/不完善) = 31
- 0% (完全没做)= 61
| Status | Description |
|---|---|
| ✅ | 已经完成 |
| 部分完成 | |
| ? | 不完善 |
| 完全没做 |
- “已经完成”表示通过了基本测试集。
- “部分完成”/“不完善”有bug或实现不全,不能通过基本测试集
- “完全没做”等待认领
即使已经完成的,也可能有错误。如果发现错误、请通过issues/PR方式提供信息。 谢谢!
| 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 = 4 + 10 + 5 + 5 + 3 + 3 + 1 + 2 + 6 + 4 + 6 + 3 + 3 + 4 + 3 + 10 + 6 + 5 + 2 + 7 + 3 + 2 + 6 + 5 + 6 + 2 + 3 + 14 + 2 + 4 + 14 = 153
| 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 |
| 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 | ✅ |
| 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 | ✅ |
| 15 | thread_create | ✅ | |
| 16 | thread_exit | ||
| 17 | thread_read_state | ||
| 18 | thread_start | cause a new thread to start executing | ✅ |
| 19 | thread_write_state | ||
| 20 | process_create | create a new process within a job | ✅ |
| 21 | process_read_memory | ✅ | |
| 22 | process_start | cause a new process to start executing | ✅ |
| 23 | process_write_memory | ✅ | |
| 24 | process_exit | ||
| 25 | job_create | create a new job within a job | ✅ |
| 26 | job_set_critical | ||
| 27 | job_set_policy | ||
| 28 | task_create_exception_channel | ||
| 29 | task_kill | ||
| 30 | task_suspend | ✅? | |
| 31 | profile_create | ||
| 32 | exception_get_thread | ||
| 33 | exception_get_process | ||
| 34 | channel_call | ✅? | |
| 35 | channel_create | ✅ | |
| 36 | channel_read | ✅ | |
| 37 | channel_read_etc | ||
| 38 | channel_write | ✅ | |
| 39 | channel_write_etc | ||
| 40 | socket_create | ✅ | |
| 41 | socket_read | ✅ | |
| 42 | socket_shutdown | ✅ | |
| 43 | socket_write | ✅ | |
| 44 | stream_create | ||
| 45 | stream_readv | ||
| 46 | stream_readv_at | ||
| 47 | stream_writev | ||
| 48 | stream_writev_at | ||
| 49 | stream_seek | ||
| 50 | fifo_create | ||
| 51 | fifo_read | ||
| 52 | fifo_write | ||
| 53 | event_create | ✅ | |
| 54 | eventpair_create | ||
| 55 | system_get_event | ||
| 56 | port_create | ✅ | |
| 57 | port_queue | ||
| 58 | port_wait | ✅ | |
| 59 | port_cancel | ||
| 60 | futex_wait | ✅ | |
| 61 | futex_wake | ✅ | |
| 62 | futex_requeue | ||
| 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 | ||
| 73 | vmar_allocate | ✅ | |
| 74 | vmar_map | ✅ | |
| 75 | vmar_unmap | ✅ | |
| 76 | vmar_protect | ||
| 77 | vmar_op_range | ||
| 78 | vmar_destroy | ✅ | |
| 79 | pager_create | ||
| 80 | pager_create_vmo | ||
| 81 | pager_detach_vmo | ||
| 82 | pager_supply_pages | ||
| 83 | pager_op_range | ||
| 84 | cprng_add_entropy | ||
| 85 | cprng_draw | ||
| 86 | nanosleep | ||
| 87 | clock_get | ||
| 88 | clock_get_monotonic | ✅ | |
| 89 | ticks_get | ||
| 90 | ticks_per_second | ||
| 91 | deadline_after | ||
| 92 | clock_adjust | ||
| 93 | timer_create | ✅ | |
| 94 | timer_set | ✅ | |
| 95 | timer_cancel | ✅ | |
| 96 | guest_create | ||
| 97 | guest_set_trap | ||
| 98 | vcpu_create | ||
| 99 | vcpu_resume | ||
| 100 | vcpu_interrupt | ||
| 101 | vcpu_read_state | ||
| 102 | vcpu_write_state | ||
| 103 | interrupt_bind_vcpu | ||
| 104 | system_get_dcache_line_size | ||
| 105 | system_get_features | ||
| 106 | system_get_num_cpus | ||
| 107 | system_get_physmem | ||
| 108 | system_get_version_string | ||
| 109 | debuglog_create | ✅ | |
| 110 | debuglog_write | ||
| 111 | debuglog_read | ||
| 112 | debug_read | ||
| 113 | debug_write | ||
| 114 | debug_send_command | ||
| 115 | vmar_unmap_handle_close_thread_exit | ||
| 116 | futex_wake_handle_close_thread_exit | ||
| 117 | system_mexec | ||
| 118 | system_mexec_payload_get | ||
| 119 | system_powerctl | ||
| 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 | ||
| 134 | framebuffer_get_info | ||
| 135 | framebugger_set_range | ||
| 136 | ktrace_control | ||
| 137 | ktrace_read | ||
| 138 | ktrace_write | ||
| 139 | mtrace_control | ||
| 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 |