帳號代碼
- handle_close:關閉句柄。
- handle_close_many:關閉多個句柄。
- handle_duplicate:複製句柄。
- handle_replace:取代帳號代碼。
物件
- object_get_child:針對含有子物件的核心物件,取得由提供的核心物件 ID 指定的子物件控制代碼。
- object_get_info:查詢物件相關資訊。
- object_get_property:要求各種核心物件的各種屬性。
- object_set_profile:將排程設定檔套用至執行緒。
- object_set_property - 設定各種核心物件的各種屬性。
- object_signal:傳送物件信號。
- object_signal_peer:傳送物件的同盟信號。
- object_wait_async:訂閱物件的信號。
- object_wait_many:等待多個物件的信號。
- object_wait_one - 等待物件的信號。
執行緒
- thread_create - 建立執行緒。
- thread_exit:終止目前執行的執行緒。
- thread_legacy_yield:將目前執行緒的 CPU 交還給排程器。
- thread_raise_exception:觸發使用者產生的例外狀況。
- thread_read_state - 讀取執行緒狀態的某個層面。
- thread_start:在執行緒上開始執行。
- thread_write_state - 寫入執行緒狀態的某個層面。
執行緒取樣
- sampler_attach:設定執行緒,讓其堆疊定期取樣並寫入
- sampler_create - 建立取樣器工作階段,傳回 IOBuffer,其中包含為每個
- sampler_start - 開始對提供的 IOBuffer 進行取樣。
- sampler_stop:停止將取樣資料寫入提供的 IOBuffer。
IO 緩衝區
- iob_allocate_id - 從紀律的 IOBuffer 區域中分配 ID
- iob_create:使用一組選項建立 IOBuffer。
處理程序
- process_create:建立新程序。
- process_create_shared - 建立可與其他程序共用部分位址空間的新程序。
- process_exit:退出目前執行的程序。
- process_read_memory - 從指定程序的位址空間讀取資料。
- process_start:啟動程序執行作業。
- process_write_memory - 寫入指定程序的位址空間。
工作機會
- job_create:建立新工作。
- job_set_critical:將程序設為工作的重要程序。
- job_set_policy:設定工作安全性和資源政策。
工作 (執行緒、程序或工作)
- task_create_exception_channel:為特定工作、程序或執行緒建立例外狀況管道。
- task_kill:終止所提供的工作或程序。
- task_suspend:暫停指定的工作。目前僅可暫停執行緒或程序句柄。
- task_suspend_token:暫停指定的工作。目前僅可暫停執行緒或程序句柄。
設定檔
- profile_create:建立排程器設定檔。
例外狀況
- exception_get_process - 為例外狀況的程序建立句柄。
- exception_get_thread - 為例外狀況的執行緒建立句柄。
頻道
- channel_call:傳送訊息給管道,並等待回覆。
- channel_call_etc:傳送訊息至管道,並等待回覆。
- channel_create:建立管道。
- channel_read:讀取管道的訊息。
- channel_read_etc - 讀取管道中的訊息。
- channel_write:將訊息寫入管道。
- channel_write_etc - 將訊息寫入管道。
通訊端
- socket_create - 建立通訊端。
- socket_read - 從套接字讀取資料。
- socket_set_disposition:設定寫入配置。
- socket_write:將資料寫入 Socket。
訊息串
- stream_create:從 VMO 建立串流。
- stream_readv:從目前的尋找偏移量讀取串流中的資料。
- stream_readv_at:從指定偏移量讀取串流中的資料。
- stream_seek:修改搜尋偏移量。
- stream_writev:在目前的搜尋偏移量處,將資料寫入串流。
- stream_writev_at:在指定的偏移量處,將資料寫入串流。
Fifos
- fifo_create:建立 fifo。
- fifo_read - 從 fifo 讀取資料。
- fifo_write:將資料寫入 fifo。
事件和事件組合
- event_create:建立事件。
- eventpair_create - 建立事件組合。
- system_get_event:擷取系統事件的句柄。
連接埠
- port_cancel:取消物件上的非同步通訊埠通知。
- port_cancel_key:取消所有與鍵相符的非同步連接埠通知。
- port_create:建立 I/O 通訊埠。
- port_queue:將封包排入通訊埠的佇列。
- port_wait:等待封包到達通訊埠。
Futex
- futex_get_owner:擷取 futex 目前的擁有者 (如果有的話)。
- futex_requeue:喚醒等待 futex 的部分執行緒,並將更多等待者移至其他等待佇列。
- futex_requeue_single_owner - 喚醒等待 futex 的一個執行緒,並將更多等待者重新排入另一個 futex 等待佇列。
- futex_wait - 等待 futex。
- futex_wake - 喚醒等待 futex 的部分執行緒,並將 futex 的擁有權設為空值。
- futex_wake_handle_close_thread_exit - 寫入 futex、喚醒 futex、關閉句柄、結束。
- futex_wake_single_owner - 喚醒等待 futex 的一個執行緒,並將 futex 的擁有權設為該執行緒。
虛擬記憶體物件 (VMO)
- vmo_create:建立 VM 物件。
- vmo_create_child -
- vmo_create_contiguous -
- vmo_create_physical -
- vmo_get_size -
- vmo_get_stream_size -
- vmo_op_range -
- vmo_read:從 VMO 讀取位元組。
- vmo_replace_as_executable -
- vmo_set_cache_policy -
- vmo_set_size -
- vmo_set_stream_size -
- vmo_transfer_data -
- vmo_write:將位元組寫入 VMO。
虛擬記憶體位址區域 (VMAR)
- vmar_allocate:分配新的子區域。
- vmar_destroy - 銷毀虛擬記憶體位址區域。
- vmar_map:新增記憶體對應。
- vmar_map_iob:對應連結至 IOBuffer 的記憶體區域。這項呼叫有
- vmar_op_range:針對對應至此 VMAR 的 VMOs 執行作業。
- vmar_protect:設定虛擬記憶體頁面的保護措施。
- vmar_unmap:取消對應虛擬記憶體頁面。
使用者空間的傳呼機
- pager_create:建立新的翻頁器物件。
- pager_create_vmo - 建立 pager 擁有的 VMO。
- pager_detach_vmo:從 pager 中卸離 VMO。
- pager_op_range:在 pager 擁有的 VMO 範圍內執行作業。
- pager_query_dirty_ranges:在 pager 擁有的 VMO 中,查詢連續的髒頁範圍。
- pager_query_vmo_stats -
- pager_supply_pages:將頁面提供給 pager 擁有的 VMO。
經過加密編譯且安全無虞的隨機號碼產生器
- cprng_add_entropy - 為核心 CPRNG 新增隨機性。
- cprng_draw - 從核心的 CPRNG 繪製。
時間
- clock_create:建立新的時鐘物件。
- clock_get_boot - 取得目前的啟動時間。
- clock_get_details:擷取時鐘目前狀態的所有低層級詳細資料。
- clock_get_monotonic:取得目前的單調時間。
- clock_read:執行時鐘的基本讀取作業。
- clock_update:調整時鐘物件。
- deadline_after:將相對於目前時間的時間轉換為絕對期限。
- nanosleep:高解析度睡眠。
- ticks_get - 讀取開機後高精確度計時器計時點數,不包括
- ticks_get_boot - 讀取開機後的高精度計時器刻數,包括在
- ticks_per_second - 讀取每秒高精度計時器計時點數。
計時器
- timer_cancel - 取消計時器。
- timer_create - 建立計時器。
- timer_set:啟動計時器。
訊息信號中斷 (MSI)
- msi_allocate - 分配訊息信號中斷 (MSI)。
- msi_create:從訊息信號中斷 (MSI) 配置中建立中斷物件。
管理程序的輔助作業系統
- guest_create - 建立訪客。
- guest_set_trap:在訪客中設定陷阱。
虛擬 CPU
- vcpu_create:建立 VCPU。
- vcpu_enter - 進入 VCPU,使其恢復執行。
- vcpu_interrupt:在 VCPU 上發出中斷。
- vcpu_kick:踢出 VCPU,導致其停止執行。
- vcpu_read_state - 讀取 VCPU 的狀態。
- vcpu_write_state - 寫入 VCPU 的狀態。
全域系統資訊
- system_get_dcache_line_size - TODO(https://fxbug.dev/42108078)
- system_get_features:取得支援的硬體功能。
- system_get_num_cpus - 取得系統上邏輯處理器的數量。
- system_get_page_size:取得系統的頁面大小。
- system_get_physmem - 取得系統上的實體記憶體量。
- system_get_version_string - 取得系統的版本字串。
偵錯記錄
- debug_read - 讀取偵錯序列埠的訊息。
- debug_send_command - TODO(https://fxbug.dev/42108078)
- debug_write:將訊息寫入偵錯序列埠。
- debuglog_create - 建立可存取核心 debuglog 的物件。
- debuglog_read - 從核心 debuglog 讀取單一記錄記錄。
- debuglog_write - 將訊息寫入核心 debuglog。
多功能
- vmar_unmap_handle_close_thread_exit - 取消對應記憶體、關閉句柄、退出。
系統
- system_get_performance_info - 取得 CPU 效能參數。
- system_mexec - 使用新的核心和啟動映像檔,軟體重新啟動系統。
- system_mexec_payload_get - 傳回 ZBI,其中包含啟動此系統所需的 ZBI 項目。
- system_powerctl - TODO(https://fxbug.dev/42108078)
- system_set_performance_info:設定 CPU 效能參數。
- system_set_processor_power_domain:向核心通知指定電源中的處理器電源等級
- system_set_processor_power_state:更新核心觀察到的目前處理器電源等級狀態。
- system_suspend_enter -
- system_watch_memory_stall - 擷取記憶體停滯層級會觸發的事件
駕駛座
- bti_create:建立新的匯流排交易啟動程序。
- bti_pin:固定頁面並授予裝置存取權。
- bti_release_quarantine:釋出所有遭到隔離的 PMT。
- cache_flush - 清除 CPU 資料和/或指令快取。
- interrupt_ack - 確認中斷並重新啟用中斷。
- interrupt_bind - 將中斷物件繫結至通訊埠。
- interrupt_create - 建立中斷物件。
- interrupt_destroy - 摧毀中斷物件。
- interrupt_trigger - 觸發虛擬中斷物件。
- interrupt_wait - 等待中斷。
- iommu_create:在核心中建立新的 IOMMU 物件。
- pmt_unpin:取消固定頁面並撤銷裝置存取權。
- resource_create:建立資源物件。
- smc_call:從使用者空間發出安全監控呼叫 (SMC)。
追蹤
- ktrace_control - TODO(https://fxbug.dev/42108078)
- ktrace_read - TODO(https://fxbug.dev/42108078)
- ktrace_write - TODO(https://fxbug.dev/42108078)
- mtrace_control - TODO(https://fxbug.dev/42108078)
嚴格篩選模式 (正在開發中)
- restricted_bind_state:建立並將受限制狀態 VMO 繫結至目前的執行緒。
- restricted_enter - 進入嚴格篩選模式
- restricted_kick - 將執行緒踢出受限制模式。
- restricted_unbind_state:從目前執行緒中解除繫結受限狀態 VMO。
其他/研發中的技術
- ioports_release - TODO(https://fxbug.dev/42108078)
- ioports_request - TODO(https://fxbug.dev/42108078)
- pci_add_subtract_io_range - 這個函式已淘汰,不建議使用。
- pci_cfg_pio_rw - 此函式已淘汰,不建議使用。
- pci_config_read - 這個函式已淘汰,不建議使用。
- pci_config_write - 這個函式已淘汰,不應使用。
- pci_enable_bus_master - 此函式已淘汰,不建議使用。
- pci_get_bar - 這個函式已淘汰,不建議使用。
- pci_get_nth_device:這個函式已淘汰,不建議使用。
- pci_init - 此函式已淘汰,不建議使用。
- pci_map_interrupt - 此函式已淘汰,不建議使用。
- pci_query_irq_mode - 這項函式已淘汰,不建議使用。
- pci_reset_device - 這個函式已淘汰,不建議使用。
- pci_set_irq_mode - 這個函式已淘汰,不建議使用。