horn_supervisor

Process supervision. No PCI, driver names or device cleanup operations.

On this page

Interfaces

SystemControl #

net.nhnn.horn.supervisor.system, version 1.0, default transport sync, strict

ready #

ready() → Result[void, SystemError]

Transport: sync, label: 0xe980065f1a077

ticks_per_us #

ticks_per_us() → Result[u64, SystemError]

Transport: sync, label: 0x6e96ccbea9704

fail #

fail(reason: SystemFailure) → Result[void, SystemError]

Transport: sync, label: 0x24fbfc945570d

SupervisorFactory #

net.nhnn.horn.supervisor.factory, version 1.0, default transport sync, strict

prepare #

prepare(elf: Cap[VmMemoryObject, borrow, ALL], request: ProcessLaunch, bootstrap: ProcessBootstrap) → Result[Cap[SupervisedJob, move, ALL], SupervisorError]

Transport: sync, label: 0x1f339970b5798

Request capabilities
Path Target Transfer Rights
elf VmMemoryObject borrow ALL
Result capabilities
Path Target Transfer Rights
result.Ok SupervisedJob move ALL

core_log_sink #

core_log_sink() → Result[Cap[LogSinkObject, move, ALL], SupervisorError]

Transport: sync, label: 0x87cd7380485e

Result capabilities
Path Target Transfer Rights
result.Ok LogSinkObject move ALL

SupervisorJob #

net.nhnn.horn.supervisor.job, version 1.0, default transport sync, strict

publish #

publish(path: List[u8, 96], endpoint: Cap[sel4.Endpoint, borrow, ALL]) → Result[void, SupervisorError]

Transport: sync, label: 0xc4dca55bedc30

Request capabilities
Path Target Transfer Rights
endpoint sel4.Endpoint borrow ALL

client #

client() → Result[Cap[SupervisedClient, move, ALL], SupervisorError]

Transport: sync, label: 0x39b945e8e0e84

Result capabilities
Path Target Transfer Rights
result.Ok SupervisedClient move ALL

process #

process() → Result[Cap[ProcessObject, move, ALL], SupervisorError]

Transport: sync, label: 0x3510e0acfdff

Result capabilities
Path Target Transfer Rights
result.Ok ProcessObject move ALL

signal #

signal(kind: ServiceSignal) → Result[Cap[sel4.Notification, move, ALL], SupervisorError]

Transport: sync, label: 0x52b1770f5a0eb

Result capabilities
Path Target Transfer Rights
result.Ok sel4.Notification move ALL

watch #

watch(owner: Cap[sel4.Notification, borrow, ALL]) → Result[void, SupervisorError]

Transport: sync, label: 0x6076df309cd8f

Request capabilities
Path Target Transfer Rights
owner sel4.Notification borrow ALL

stop_signal #

stop_signal(stop: Cap[sel4.Notification, borrow, ALL]) → Result[void, SupervisorError]

Transport: sync, label: 0x4c303568e3704

Request capabilities
Path Target Transfer Rights
stop sel4.Notification borrow ALL

log_sink #

log_sink() → Result[Cap[LogSinkObject, move, ALL], SupervisorError]

Transport: sync, label: 0x60dcc5b371547

Result capabilities
Path Target Transfer Rights
result.Ok LogSinkObject move ALL

start #

start() → Result[void, SupervisorError]

Transport: sync, label: 0x7f78393f765b2

status #

status() → Result[ServiceStatus, SupervisorError]

Transport: sync, label: 0x8fd33bd9468d0

cooperative #

cooperative() → Result[bool, SupervisorError]

Transport: sync, label: 0x8969757d38e0c

request_stop #

request_stop(mode: StopMode) → Result[void, SupervisorError]

Transport: sync, label: 0xac2af159b299c

cleanup_done #

cleanup_done() → Result[void, SupervisorError]

Transport: sync, label: 0x70b3c4cb99b08

require #

require(scope: Cap[RegistryNode, borrow, ALL], path: List[u8, 96], slot: u32) → Result[void, SupervisorError]

Transport: sync, label: 0x87f14eec094f5

Request capabilities
Path Target Transfer Rights
scope RegistryNode borrow ALL

SupervisorRuntime #

net.nhnn.horn.supervisor.runtime, version 1.0, default transport sync, strict

status #

status() → Result[ServiceStatus, SupervisorError]

Transport: sync, label: 0x6fa4b24d49858

request_stop #

request_stop(mode: StopMode) → Result[void, SupervisorError]

Transport: sync, label: 0xd18f2e445bc29

Objects

SystemHost #

SystemHost, transport sync

Implements: SystemControl

SupervisedJob #

SupervisedJob, transport sync

Implements: SupervisorJob

SupervisedClient #

SupervisedClient, transport sync

Implements: SupervisorRuntime

SupervisorHost #

SupervisorHost, transport sync

Implements: SupervisorFactory, SupervisorJob, SupervisorRuntime

Enums

SystemError #

Base: u32

VariantValue
Denied1

SystemFailure #

Base: u32

VariantValue
CriticalService1

SupervisorError #

Base: u32

VariantValue
Denied1
NotFound2
Busy3
Exhausted4
Invalid5
Backend6

StopMode #

Base: u32

VariantValue
Graceful1
Force2

ServiceSignal #

Base: u32

VariantValue
Ready1
Stopped2

ServiceStatus #

Base: u32

VariantValue
Created1
Starting2
Active3
Stopping4
AwaitingCleanup5
Exited6

Capsets

SupervisorCaps #

Field Capability Slot
vm Cap[sel4.Endpoint, copy, ALL] 1
address_space Cap[sel4.Endpoint, copy, ALL] 2
lifecycle Cap[sel4.Endpoint, copy, ALL] 3
reply Cap[sel4.Reply, move, ALL] 4
factory Cap[sel4.Endpoint, copy, ALL] 5
platform Cap[sel4.Endpoint, copy, ALL] 6
system Cap[sel4.Endpoint, copy, ALL] 7
service Cap[sel4.Endpoint, copy, ALL] 8
events Cap[sel4.Notification, copy, ALL] 9
critical_fault Cap[sel4.Endpoint, copy, ALL] 10
critical_exit Cap[sel4.Notification, copy, ALL] 11
processes Cap[sel4.Endpoint, copy, ALL] 12