|
Loop Timing Witness
Native controller and runtime interfaces; hardware qualification pending
|
#include <amp_uio_device.h>
Public Member Functions | |
| AmpUioDevice (const UioIdentity &identity, const AmpUioMap &fabric, const AmpUioMap &mailbox) | |
| ~AmpUioDevice () | |
| AmpUioDevice (const AmpUioDevice &)=delete | |
| AmpUioDevice & | operator= (const AmpUioDevice &)=delete |
| std::uint64_t | time () const |
| void | advance (std::uint64_t nanoseconds) |
| ProtocolReply | read (std::uint8_t address) |
| ProtocolReply | write (std::uint8_t address, std::uint32_t value, std::uint8_t strobes) |
| std::uint32_t | read_memory32 (std::uint64_t address) |
| void | write_memory32 (std::uint64_t address, std::uint32_t value) |
One exclusive IRQ-free UIO owner for fabric configuration/drain and the reserved mailbox.
Definition at line 29 of file amp_uio_device.h.
| witness::AmpUioDevice::AmpUioDevice | ( | const UioIdentity & | identity, |
| const AmpUioMap & | fabric, | ||
| const AmpUioMap & | mailbox ) |
Verify original named map extents and absence of a Linux-owned controller IRQ.
| witness::AmpUioDevice::~AmpUioDevice | ( | ) |
Release mappings and the advisory lock without acknowledging firmware or its IRQ.
| void witness::AmpUioDevice::advance | ( | std::uint64_t | nanoseconds | ) |
Sleep while the independently running dedicated controller retains interrupt ownership.
| ProtocolReply witness::AmpUioDevice::read | ( | std::uint8_t | address | ) |
Read a real full little-endian fabric register word.
| std::uint32_t witness::AmpUioDevice::read_memory32 | ( | std::uint64_t | address | ) |
Read a firmware-owned slot using ordered aligned mapped-memory loads.
| std::uint64_t witness::AmpUioDevice::time | ( | ) | const |
Observe monotonic host nanoseconds for bounded polling, never fabric timing.
| ProtocolReply witness::AmpUioDevice::write | ( | std::uint8_t | address, |
| std::uint32_t | value, | ||
| std::uint8_t | strobes ) |
Permit only host configuration, START and FIFO drain; refuse controller writes.
| void witness::AmpUioDevice::write_memory32 | ( | std::uint64_t | address, |
| std::uint32_t | value ) |
Write only the consumer cursor or logger readiness/final acknowledgement.