|
Loop Timing Witness
Native controller and runtime interfaces; hardware qualification pending
|
#include "../../controllers/c/witness_controller.h"Go to the source code of this file.
Classes | |
| struct | witness_amp_platform_contract |
| struct | witness_amp_run_contract |
| struct | witness_amp_sample |
| struct | witness_amp_mailbox |
Macros | |
| #define | WITNESS_AMP_ABI UINT32_C(2) |
| #define | WITNESS_AMP_CAPACITY UINT32_C(256) |
Enumerations | |
| enum | witness_amp_status { WITNESS_AMP_INITIAL = 0 , WITNESS_AMP_ARMED = 1 , WITNESS_AMP_FINISHED , WITNESS_AMP_REFUSED = 3 } |
| enum | witness_amp_logger_status { WITNESS_AMP_LOGGER_WAITING , WITNESS_AMP_LOGGER_COMPLETE , WITNESS_AMP_LOGGER_READY = 2 } |
Functions | |
| _Noreturn void | witness_amp_main (void) |
| void | witness_amp_trap (uint64_t cause, uint64_t value) |
| _Noreturn void | witness_amp_rust_panic (void) |
| _Noreturn void | witness_amp_exit (void) |
Variables | |
| const witness_amp_platform_contract | witness_amp_platform |
| const witness_amp_run_contract | witness_amp_run |
dedicated hart and single producer telemetry contract.
Definition in file amp_contract.h.
| #define WITNESS_AMP_ABI UINT32_C(2) |
Telemetry ABI and power-of-two capacity; fullness is never silent data loss.
Definition at line 18 of file amp_contract.h.
| #define WITNESS_AMP_CAPACITY UINT32_C(256) |
Telemetry ring capacity; producer and consumer index it with a power-of-two mask.
Definition at line 20 of file amp_contract.h.
Logger owns readiness and final close acknowledgement after firmware publishes its fresh ABI.
Definition at line 63 of file amp_contract.h.
| enum witness_amp_status |
Status is monotonic: initial, armed, run finished or terminal refusal.
Definition at line 54 of file amp_contract.h.
| _Noreturn void witness_amp_exit | ( | void | ) |
Platform-specific termination after the real logger has flushed both completed streams.
| _Noreturn void witness_amp_main | ( | void | ) |
Validate the dedicated context, arm one IRQ source and wait for actual traps.
| _Noreturn void witness_amp_rust_panic | ( | void | ) |
Rust panic termination shares the original terminal telemetry refusal path.
| void witness_amp_trap | ( | uint64_t | cause, |
| uint64_t | value ) |
Service architectural machine external IRQs; other traps terminate controller service.
|
extern |
Platform and run data must be supplied by the complete firmware build, never defaulted.
|
extern |
Immutable operator-supplied run data compiled into the hash-bound image.