gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
gem5::ProxyPtrBuffer< Proxy > Class Template Reference

#include <proxy_ptr.hh>

Public Member Functions

std::shared_ptr< Proxy > getProxy () const
 
void markDirty ()
 
bool isDirty ()
 
template<typename T>
T & as ()
 
template<typename T>
const T & asConst () const
 
void flush (bool force=false)
 
void load ()
 
Addr addr () const
 
 ProxyPtrBuffer (std::shared_ptr< Proxy > _proxy, Addr _ptr, size_t _size)
 
 ~ProxyPtrBuffer ()
 

Private Member Functions

void markClean ()
 

Private Attributes

std::shared_ptr< Proxy > proxy
 
Addr ptr
 
size_t size
 
std::unique_ptr< uint8_t[]> data
 
bool dirty = false
 

Detailed Description

template<typename Proxy>
class gem5::ProxyPtrBuffer< Proxy >

Definition at line 44 of file proxy_ptr.hh.

Constructor & Destructor Documentation

◆ ProxyPtrBuffer()

template<typename Proxy>
gem5::ProxyPtrBuffer< Proxy >::ProxyPtrBuffer ( std::shared_ptr< Proxy > _proxy,
Addr _ptr,
size_t _size )
inline

Definition at line 99 of file proxy_ptr.hh.

References data, load(), proxy, ptr, and size.

◆ ~ProxyPtrBuffer()

template<typename Proxy>
gem5::ProxyPtrBuffer< Proxy >::~ProxyPtrBuffer ( )
inline

Definition at line 105 of file proxy_ptr.hh.

References flush().

Member Function Documentation

◆ addr()

template<typename Proxy>
Addr gem5::ProxyPtrBuffer< Proxy >::addr ( ) const
inline

Definition at line 97 of file proxy_ptr.hh.

References ptr.

◆ as()

template<typename Proxy>
template<typename T>
T & gem5::ProxyPtrBuffer< Proxy >::as ( )
inline

Definition at line 66 of file proxy_ptr.hh.

References data, markDirty(), and size.

◆ asConst()

template<typename Proxy>
template<typename T>
const T & gem5::ProxyPtrBuffer< Proxy >::asConst ( ) const
inline

Definition at line 75 of file proxy_ptr.hh.

References data, and size.

◆ flush()

template<typename Proxy>
void gem5::ProxyPtrBuffer< Proxy >::flush ( bool force = false)
inline

Definition at line 82 of file proxy_ptr.hh.

References data, isDirty(), markClean(), proxy, ptr, and size.

Referenced by ~ProxyPtrBuffer().

◆ getProxy()

template<typename Proxy>
std::shared_ptr< Proxy > gem5::ProxyPtrBuffer< Proxy >::getProxy ( ) const
inline

Definition at line 59 of file proxy_ptr.hh.

References proxy.

◆ isDirty()

template<typename Proxy>
bool gem5::ProxyPtrBuffer< Proxy >::isDirty ( )
inline

Definition at line 62 of file proxy_ptr.hh.

References dirty.

Referenced by flush(), and load().

◆ load()

template<typename Proxy>
void gem5::ProxyPtrBuffer< Proxy >::load ( )
inline

Definition at line 91 of file proxy_ptr.hh.

References data, isDirty(), panic_if, proxy, ptr, and size.

Referenced by ProxyPtrBuffer().

◆ markClean()

template<typename Proxy>
void gem5::ProxyPtrBuffer< Proxy >::markClean ( )
inlineprivate

Definition at line 55 of file proxy_ptr.hh.

References dirty.

Referenced by flush().

◆ markDirty()

template<typename Proxy>
void gem5::ProxyPtrBuffer< Proxy >::markDirty ( )
inline

Definition at line 61 of file proxy_ptr.hh.

References dirty.

Referenced by as().

Member Data Documentation

◆ data

template<typename Proxy>
std::unique_ptr<uint8_t[]> gem5::ProxyPtrBuffer< Proxy >::data
private

Definition at line 51 of file proxy_ptr.hh.

Referenced by as(), asConst(), flush(), load(), and ProxyPtrBuffer().

◆ dirty

template<typename Proxy>
bool gem5::ProxyPtrBuffer< Proxy >::dirty = false
private

Definition at line 53 of file proxy_ptr.hh.

Referenced by isDirty(), markClean(), and markDirty().

◆ proxy

template<typename Proxy>
std::shared_ptr<Proxy> gem5::ProxyPtrBuffer< Proxy >::proxy
private

Definition at line 47 of file proxy_ptr.hh.

Referenced by flush(), getProxy(), load(), and ProxyPtrBuffer().

◆ ptr

template<typename Proxy>
Addr gem5::ProxyPtrBuffer< Proxy >::ptr
private

Definition at line 49 of file proxy_ptr.hh.

Referenced by addr(), flush(), load(), and ProxyPtrBuffer().

◆ size

template<typename Proxy>
size_t gem5::ProxyPtrBuffer< Proxy >::size
private

Definition at line 50 of file proxy_ptr.hh.

Referenced by as(), asConst(), flush(), load(), and ProxyPtrBuffer().


The documentation for this class was generated from the following file:

Generated on Mon May 26 2025 09:19:24 for gem5 by doxygen 1.13.2