|
CHERIoT RTOS
A compartmentalised RTOS for CHERIoT hardware
|
The driver for KSZ8851 SPI Ethernet MAC. More...
#include <platform-ethernet.hh>
Classes | |
| class | Frame |
| Simple class representing a received Ethernet frame. More... | |
Public Member Functions | |
| Ksz8851Ethernet () | |
| Initialise a reference to the Ethernet device. | |
| Ksz8851Ethernet (const Ksz8851Ethernet &)=delete | |
| Ksz8851Ethernet (Ksz8851Ethernet &&)=delete | |
| void | mac_address_set (MACAddress address=mac_address_default()) |
| uint32_t | receive_interrupt_value () |
| int | receive_interrupt_complete (Timeout *timeout, uint32_t lastInterruptValue) |
| bool | phy_link_status () |
| Check the link status of the PHY. | |
| std::optional< Frame > | receive_frame () |
| bool | send_frame (const uint8_t *buffer, uint16_t length, auto &&check) |
| Send a packet. | |
| Ksz8851Ethernet () | |
| Initialise a reference to the Ethernet device. | |
| Ksz8851Ethernet (const Ksz8851Ethernet &)=delete | |
| Ksz8851Ethernet (Ksz8851Ethernet &&)=delete | |
| void | mac_address_set (MACAddress address=mac_address_default()) |
| uint32_t | receive_interrupt_value () |
| int | receive_interrupt_complete (Timeout *timeout, uint32_t lastInterruptValue) |
| bool | phy_link_status () |
| Check the link status of the PHY. | |
| std::optional< Frame > | receive_frame () |
| bool | send_frame (const uint8_t *buffer, uint16_t length, auto &&check) |
| Send a packet. | |
Static Public Member Functions | |
| static constexpr bool | has_unique_mac_address () |
| This device does not have a unique MAC address and so users must provide a locally administered MAC address if more than one device is present on the same network. | |
| static constexpr MACAddress | mac_address_default () |
| static constexpr bool | has_unique_mac_address () |
| This device does not have a unique MAC address and so users must provide a locally administered MAC address if more than one device is present on the same network. | |
| static constexpr MACAddress | mac_address_default () |
The driver for KSZ8851 SPI Ethernet MAC.
Definition at line 25 of file platform-ethernet.hh.
|
inline |
Initialise a reference to the Ethernet device.
Definition at line 464 of file platform-ethernet.hh.
References interrupt_futex_get(), STATIC_SEALED_VALUE, and thread_millisecond_wait().
|
inline |
Initialise a reference to the Ethernet device.
Definition at line 461 of file platform-ethernet.hh.
References interrupt_futex_get(), STATIC_SEALED_VALUE, and thread_millisecond_wait().
|
inlinestaticconstexpr |
This device does not have a unique MAC address and so users must provide a locally administered MAC address if more than one device is present on the same network.
Definition at line 559 of file platform-ethernet.hh.
|
inlinestaticconstexpr |
This device does not have a unique MAC address and so users must provide a locally administered MAC address if more than one device is present on the same network.
Definition at line 555 of file platform-ethernet.hh.
|
inlinestaticconstexpr |
Definition at line 564 of file platform-ethernet.hh.
|
inlinestaticconstexpr |
Definition at line 560 of file platform-ethernet.hh.
|
inline |
Definition at line 569 of file platform-ethernet.hh.
|
inline |
Definition at line 565 of file platform-ethernet.hh.
|
inline |
Check the link status of the PHY.
Definition at line 634 of file platform-ethernet.hh.
|
inline |
Check the link status of the PHY.
Definition at line 631 of file platform-ethernet.hh.
|
inline |
Definition at line 640 of file platform-ethernet.hh.
|
inline |
Definition at line 637 of file platform-ethernet.hh.
|
inline |
Definition at line 584 of file platform-ethernet.hh.
|
inline |
Definition at line 580 of file platform-ethernet.hh.
|
inline |
Definition at line 579 of file platform-ethernet.hh.
|
inline |
Definition at line 575 of file platform-ethernet.hh.
|
inline |
Send a packet.
This will block if no buffer space is available on device.
The third argument is a callback that allows the caller to check the frame before it's sent but after it's copied into memory that isn't shared with other compartments.
Definition at line 760 of file platform-ethernet.hh.
References heap_claim_ephemeral().
|
inline |
Send a packet.
This will block if no buffer space is available on device.
The third argument is a callback that allows the caller to check the frame before it's sent but after it's copied into memory that isn't shared with other compartments.
Definition at line 749 of file platform-ethernet.hh.
References heap_claim_ephemeral().