horn_clock

Monotonic time, a shared static calibration page and independently granted alarms.

On this page

Interfaces

ClockSource #

net.nhnn.horn.clock.source, version 1.0, default transport sync, strict

source_now #

source_now() → Result[u64, ClockError]

Transport: sync, label: 0x895c389c3ce3

source_arm #

source_arm(deadline_us: u64, signal: Cap[sel4.Notification, borrow, ALL]) → Result[void, ClockError]

Transport: sync, label: 0x5003765d22217

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

source_cancel #

source_cancel() → Result[void, ClockError]

Transport: sync, label: 0xa4ce172200296

ClockInterface #

net.nhnn.horn.clock, version 2.0, default transport sync, strict

now #

now() → Result[u64, ClockError]

Transport: sync, label: 0x1c06e28f1156

shared_page #

shared_page() → Result[Cap[VmMemoryObject, move, ALL], ClockError]

Transport: sync, label: 0x4f5d001d42cbf

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

alarm #

alarm() → Result[Cap[AlarmObject, move, ALL], ClockError]

Transport: sync, label: 0x8202032cf0523

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

AlarmInterface #

net.nhnn.horn.clock.alarm, version 1.0, default transport sync, strict

arm #

arm(deadline_us: u64, signal: Cap[sel4.Notification, borrow, ALL]) → Result[void, ClockError]

Transport: sync, label: 0xe4c47e9da21b2

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

cancel #

cancel() → Result[void, ClockError]

Transport: sync, label: 0x5b7874d76885b

Objects

AlarmObject #

AlarmObject, transport sync

Implements: AlarmInterface

ClockHost #

ClockHost, transport sync

Implements: ClockInterface, AlarmInterface

Records

ClockCalibration #

Wire size: 48 bytes, alignment: 8, maximum capabilities: 0

Field Type Byte offset
abi u64 0
fast_tsc bool 8
base_cycles u64 16
base_us u64 24
span_cycles u64 32
span_us u64 40

Enums

ClockError #

Base: u32

VariantValue
Denied1
Invalid2
Exhausted3
Unavailable4