句柄
- 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 - 等待对象有信号。
Threads
- 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 - 将数据写入套接字。
信息流
- stream_create - 通过 VMO 创建数据流。
- stream_readv - 从流中的当前跳转偏移量处读取数据。
- stream_readv_at - 从具有指定偏移量的数据流中读取数据。
- stream_seek - 修改跳转偏移量。
- stream_writev - 在当前跳转偏移量处将数据写入流中。
- stream_writev_at - 在给定偏移量处向流写入数据。
斐济
- fifo_create - 创建 fifo。
- fifo_read - 从 fifo 读取数据。
- fifo_write - 将数据写入 fifo。
事件和事件对
- event_create - 创建活动。
- eventpair_create - 创建事件对。
- system_get_event - 检索系统事件的句柄。
端口
- port_cancel - 取消对象的异步端口通知。
- port_create - 创建 IO 端口。
- port_queue - 将数据包加入到端口的队列。
- port_wait - 等待数据包到达端口。
足球
- futex_get_owner - 获取 futex 的 koid 当前所有者(如果有)。
- futex_requeue - 唤醒一些等待 futex 的线程,并将更多 Waiter 移至另一个等待队列。
- futex_requeue_single_owner - 唤醒一个等待 futex 的线程,并将更多 waiter 重新排入另一个 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 - 创建虚拟机对象。
- vmo_create_child -
- vmo_create_contiguous -
- vmo_create_physical -
- vmo_get_size -
- vmo_op_range -
- vmo_read - 从 VMO 读取字节。
- vmo_replace_as_executable -
- vmo_set_cache_policy -
- vmo_set_size -
- vmo_transfer_data -
- vmo_write - 将字节写入 VMO。
虚拟内存地址区域 (VMAR)
- vmar_allocate - 分配新的子区域。
- vmar_destroy - 销毁虚拟内存地址区域。
- vmar_map - 添加内存映射。
- vmar_map_iob - 映射连接到 IOBuffer 的内存区域。这场通话
- vmar_op_range - 对映射到此 VMAR 的 VMO 执行操作。
- vmar_protect - 设置虚拟内存页面的保护。
- vmar_unmap - 取消映射虚拟内存页面。
用户空间分页器
- pager_create - 创建新的分页器对象。
- pager_create_vmo - 创建寻呼机拥有的 VMO。
- pager_detach_vmo - 将 VMO 与分页器分离。
- pager_op_range - 对分页器拥有的 VMO 范围执行操作。
- pager_query_dirty_ranges - 查询分页器拥有的 VMO 中的连续范围脏页。
- pager_query_vmo_stats -
- pager_supply_pages - 将页面提供给分页器拥有的 VMO。
以加密形式保护 RNG
- cprng_add_entropy - 将熵添加到内核 CPRNG。
- cprng_draw - 从内核的 CPRNG 绘制。
时间
- clock_create - 创建新的时钟对象。
- clock_get_details - 获取时钟当前状态的所有低级详细信息。
- clock_get_monotonic - 获取当前单调时间。
- clock_read - 执行时钟的基本读取。
- clock_update - 调整时钟对象。
- deadline_after - 将相对于现在的时间转换为绝对截止期限。
- nanosleep - 高分辨率睡眠。
- ticks_get - 读取自设备启动后高精度计时器的计时次数。
- ticks_per_second - 读取一秒内高精度计时器的计时次数。
定时器
- timer_cancel - 取消计时器。
- timer_create - 创建一个计时器。
- timer_set - 启动计时器。
消息信号中断 (MSI)
- msi_allocate - 分配消息信号中断 (MSI)。
- msi_create - 根据 Messaged-Signaled Interrupt (MSI) 分配创建 Interrupt 对象。
Hypervisor 客户机
- 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_read - 从内核调试日志中读取单个日志记录。
- debuglog_write - 将消息写入内核调试日志。
多功能
- 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_level_domain - 告知内核给定功率下的处理器功率水平
- system_suspend_enter -
丹麦克朗
- 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)。
显示驱动程序
- framebuffer_get_info - TODO(https://fxbug.dev/42108078)
- framebuffer_set_range - TODO(https://fxbug.dev/42108078)
跟踪记录
- 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)
- pc_firmware_tables - 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 - 此函数已过时,不应使用。