global interface
message notifications
A notification message. If a task has unread notifications, the kernel
constructs and returns this message. data
may include
multiple notifications (e.g. NOTIFY_TIMER | NOTIFY_ASYNC
).
message async
Requests a pending async message. Internally used by async_recv
API.
message invalid
Represents an invalid message.
message exception
The kernel sends this message to a pager task when an exception occurs.
rpc page_fault
The kernel calls this RPC when a page fault occurs. When the pager task replies, the kernel continues executing the page-faulted task.
rpc abi_hook
The kernel calls this RPC when a task with ABI hook enabled initiated a system call.
hv interface
Hardware-assisted hypervisor like Linux's KVM.
rpc x64_start
The x64 guest calls this RPC before it starts to retrieve some initial guest states.
rpc halt
The guest calls this RPC when it enters an idle state or waits for interrupt.
rpc guest_page_fault
The guest calls this RPC when it tried to perform an invalid access to a guest physical memory address (EPT violation in Intel VT).
rpc ioport_read
IO port read access from the guest.
rpc ioport_write
IO port write access from the guest.
message await
Receive a pending message from the server.
message inject_irq
Injects an IRQ into the guest.
benchmark interface
IPC benchmarking.
rpc nop
No-op. Do nothing but returns the value as it is.
rpc nop_with_ool
No-op. Do nothing but returns data (to be sent as ool) as it is.
vm interface
The memory management server (vm) interface.
rpc alloc_pages
Allocates memory pages. paddr
is zero, it allocates arbitrary physical
memory pages. Otherwise, it maps the specified physical memory address to
an unused virtual memory address.
discovery interface
Service discovery.
rpc serve
Registers a service.
rpc lookup
Looks for a service. This blocks until a service with name
appears.
task interface
High-level task managemnt.
rpc alloc
Allocates an unused TASK ID.
rpc free
Deallocates an unused TASK ID.
rpc launch
Launches a task.
rpc watch
Watches a task. If the task exits, the watcher task receives an async
message task.exited
.
rpc unwatch
Unwatches a task.
async message exited
A message sent to watcher tasks when a task exits.
ool interface
Out-of-Line (OoL) payload internal interface.
rpc recv
Registers a receive buffer for an OoL payload.
rpc send
Sends an OoL payload to dst
. Returns the OoL payload identifier.
rpc verify
Checks if the caller task has received a OoL payload from src
with the
id
. Returns the receive buffer address if it's valid.
fs interface
A file system driver.
rpc open
Opens a file.
rpc create
Creates a file. If exist_ok
is true, it return OK
even if the file
already exists.
rpc close
Closes a file handle.
rpc read
Reads file contents.
rpc write
Writes bytes into the file.
rpc stat
Returns file metadata.
blk interface
A block (disk) device interface.
rpc read
Reads blocks at offset
(in bytes) from the device. The size of a block
depends on the device.
rpc write
Writes blocks at offset
(in bytes) into the device. The size of a block
depends on the device.
net interface
A network device interface.
message rx
A RX packet payload.
message tx
A TX packet payload to be sent from the device.