Skip to main content

Crate hisi_rf_rtos_driver

Crate hisi_rf_rtos_driver 

Source
Expand description

Runtime-neutral services required by HiSilicon radio firmware.

This crate is the narrow dependency shared by radio adapters and an RTOS. It does not implement a scheduler and does not know about a chip, protocol, vendor blob, allocator, or network stack. A firmware installs exactly one Runtime before initializing its radio controller.

Modules§

conformance
Runtime-neutral executable semantics for radio backends.

Structs§

InvalidTaskPriority
A numeric priority outside the contract-v1 range.
MutexHandle
Opaque recursive-mutex identity owned by the installed runtime.
RuntimeCapabilities
Runtime capabilities advertised before a radio adapter starts.
RuntimeContract
Versioned capabilities offered by one runtime backend.
RuntimeContractVersion
Version of the runtime-neutral radio contract.
RuntimeExecutionModes
Scheduling modes a runtime can execute with its installed target support.
RuntimeExecutionProfile
Versioned scheduling guarantees offered by one installed runtime.
RuntimeRequirements
Versioned semantic and execution requirements of one radio adapter.
Semaphore
Runtime-neutral counting semaphore suitable for static or embedded use.
SemaphoreHandle
Opaque semaphore identity owned by the installed runtime.
TaskBudget
Periodic CPU quota for one runtime task, expressed in milliseconds.
TaskCapacity
Snapshot of dynamic task slots owned by the installed runtime.
TaskConfig
A task’s scheduling parameters.
TaskId
Opaque task identity owned by the installed runtime.
TaskPriority
A validated runtime task priority.
TaskReservation
Opaque owner-bound reservation for dynamic task slots.
TaskReservationBatch
Owner-bound reservations returned by one atomic resource-plan admission.
TaskResourceGroupRequirements
One independently owned task group within an atomic resource plan.
TaskResourceOwner
Stable, runtime-opaque identity for one task-resource owner.
TaskResourcePlan
Checked, heterogeneous task-resource plan admitted as one transaction.
TaskResourceRequirements
Atomic task-slot and stack-memory requirements for one subsystem owner.

Enums§

Error
Runtime service failure.
TaskAdmissionError
Failure to satisfy task-resource admission.
TaskExecutionPolicy
Execution policy assigned atomically when a runtime task is created.
WaitCancellationOutcome
Result of cancelling a task’s pending synchronization wait.
WaitOutcome
Result of a successful wait operation.
WaitTimeout
A bounded or unbounded wait request.

Constants§

TASK_PRIORITY_LEVELS
Number of priority levels required by runtime contract v1.
TASK_RESOURCE_GROUP_CAPACITY
Maximum number of independently owned task groups admitted atomically.

Traits§

Runtime
Scheduler and synchronization capabilities consumed by a radio adapter.

Functions§

cancel_wait
Cancels a live task’s queued synchronization wait or pending direct grant.
current_task
Returns the current task identity.
install
Installs the firmware’s sole runtime implementation.
interrupt_enter
Marks entry into an interrupt handler through the installed runtime.
interrupt_exit
Marks exit from an interrupt handler through the installed runtime.
lock_scheduler
Prevents scheduler-driven preemption of the current task.
mutex_create
Allocates a recursive priority-inheritance mutex.
mutex_destroy
Destroys a mutex through the installed runtime.
mutex_lock
Acquires a mutex through the installed runtime.
mutex_unlock
Releases one mutex recursion level through the installed runtime.
release_task_reservation
Releases the unconsumed portion of a task reservation.
require_runtime
Proves both semantic capabilities and executable scheduling guarantees.
require_runtime_contract
Proves that the installed backend satisfies an adapter’s requirements.
require_task_capacity
Checks whether a capacity snapshot can accommodate required tasks.
reserve_task_capacity
Atomically reserves required dynamic slots before radio initialization.
reserve_task_resource_plan
Atomically reserves all independently owned groups in plan.
reserve_task_resources
Atomically reserves dynamic task slots and one stack allocation per slot.
runtime_contract
Returns the installed runtime’s versioned contract.
runtime_execution_profile
Returns scheduling guarantees backed by the installed target resources.
semaphore_create
Allocates a semaphore through the installed runtime.
semaphore_destroy
Destroys a semaphore through the installed runtime.
semaphore_down
Waits on a semaphore through the installed runtime.
semaphore_up
Releases a semaphore through the installed runtime.
set_task_priority
Changes a task’s scheduling priority through the installed runtime.
sleep_ms
Sleeps through the installed runtime. A zero duration is represented by yield_now instead of an invalid sleep request.
spawn
Spawns a task through the installed runtime.
spawn_reserved
Spawns a task while consuming one slot from an owner-bound reservation.
spawn_reserved_scheduled
Spawns a reserved task with an explicit execution policy assigned atomically.
spawn_scheduled
Spawns a task with an explicit execution policy assigned atomically.
task_capacity
Returns an advisory snapshot of the installed runtime’s dynamic task slots.
unlock_scheduler
Releases one scheduler-lock nesting level for the current task.
yield_now
Yields through the installed runtime.

Type Aliases§

TaskEntry
Entry point used by a vendor-compatible task.