gem5 v24.0.0.0
|
Simple FIFO implementation backed by a circular buffer. More...
#include <circlebuf.hh>
Public Types | |
typedef T | value_type |
Public Member Functions | |
Fifo (size_t size) | |
bool | empty () const |
size_t | size () const |
size_t | capacity () const |
void | flush () |
template<class OutputIterator > | |
void | peek (OutputIterator out, size_t len) const |
template<class OutputIterator > | |
void | read (OutputIterator out, size_t len) |
template<class InputIterator > | |
void | write (InputIterator in, size_t len) |
Private Attributes | |
CircleBuf< value_type > | buf |
Simple FIFO implementation backed by a circular buffer.
This class provides the same basic functionallity as the circular buffer with the folling differences:
Definition at line 213 of file circlebuf.hh.
typedef T gem5::Fifo< T >::value_type |
Definition at line 216 of file circlebuf.hh.
|
inline |
Definition at line 219 of file circlebuf.hh.
|
inline |
Definition at line 223 of file circlebuf.hh.
References gem5::Fifo< T >::buf, and gem5::CircleBuf< T >::capacity().
Referenced by gem5::arrayParamIn(), gem5::DmaReadFifo::resumeFillBypass(), and gem5::Fifo< T >::write().
|
inline |
Definition at line 221 of file circlebuf.hh.
References gem5::Fifo< T >::buf, and gem5::CircleBuf< T >::empty().
|
inline |
Definition at line 225 of file circlebuf.hh.
References gem5::Fifo< T >::buf, and gem5::CircleBuf< T >::flush().
Referenced by gem5::arrayParamIn(), and gem5::DmaReadFifo::flush().
|
inline |
Definition at line 228 of file circlebuf.hh.
References gem5::Fifo< T >::buf, gem5::ArmISA::len, and gem5::CircleBuf< T >::peek().
Referenced by gem5::arrayParamOut().
|
inline |
Definition at line 230 of file circlebuf.hh.
References gem5::Fifo< T >::buf, gem5::ArmISA::len, and gem5::CircleBuf< T >::read().
Referenced by gem5::DmaReadFifo::tryGet().
|
inline |
Definition at line 222 of file circlebuf.hh.
References gem5::Fifo< T >::buf, and gem5::CircleBuf< T >::size().
Referenced by gem5::arrayParamOut(), gem5::DmaReadFifo::resumeFillBypass(), gem5::DmaReadFifo::resumeFillTiming(), gem5::DmaReadFifo::size(), gem5::DmaReadFifo::tryGet(), and gem5::Fifo< T >::write().
|
inline |
Definition at line 234 of file circlebuf.hh.
References gem5::Fifo< T >::buf, gem5::Fifo< T >::capacity(), gem5::ArmISA::len, panic_if, gem5::Fifo< T >::size(), and gem5::CircleBuf< T >::write().
Referenced by gem5::arrayParamIn(), gem5::DmaReadFifo::handlePending(), and gem5::DmaReadFifo::resumeFillBypass().
|
private |
Definition at line 241 of file circlebuf.hh.
Referenced by gem5::Fifo< T >::capacity(), gem5::Fifo< T >::empty(), gem5::Fifo< T >::flush(), gem5::Fifo< T >::peek(), gem5::Fifo< T >::read(), gem5::Fifo< T >::size(), and gem5::Fifo< T >::write().