gem5 v25.0.0.1
Loading...
Searching...
No Matches
gem5::SETranslatingPortProxy Class Reference

#include <se_translating_port_proxy.hh>

Inheritance diagram for gem5::SETranslatingPortProxy:
gem5::TranslatingPortProxy gem5::PortProxy gem5::FunctionalRequestProtocol

Public Types

enum  AllocType { Always , Never , NextPage }
Public Types inherited from gem5::PortProxy
typedef std::function< void(PacketPtr pkt)> SendFunctionalFunc

Public Member Functions

 SETranslatingPortProxy (ThreadContext *tc, AllocType alloc=NextPage, Request::Flags _flags=0)
Public Member Functions inherited from gem5::TranslatingPortProxy
 TranslatingPortProxy (ThreadContext *tc, Request::Flags _flags=0)
bool tryReadBlob (Addr addr, void *p, uint64_t size) const override
 Version of tryReadblob that translates virt->phys and deals with page boundries.
bool tryWriteBlob (Addr addr, const void *p, uint64_t size) const override
 Version of tryWriteBlob that translates virt->phys and deals with page boundries.
bool tryMemsetBlob (Addr address, uint8_t v, uint64_t size) const override
 Fill size bytes starting at addr with byte value val.
Public Member Functions inherited from gem5::PortProxy
 PortProxy (SendFunctionalFunc func, Addr cache_line_size)
 PortProxy (ThreadContext *tc, Addr cache_line_size)
 PortProxy (const RequestPort &port, Addr cache_line_size)
virtual ~PortProxy ()
void readBlobPhys (Addr addr, Request::Flags flags, void *p, uint64_t size) const
 Fixed functionality for use in base classes.
void writeBlobPhys (Addr addr, Request::Flags flags, const void *p, uint64_t size) const
 Write size bytes from p to physical address.
void memsetBlobPhys (Addr addr, Request::Flags flags, uint8_t v, uint64_t size) const
 Fill size bytes starting at physical addr with byte value val.
void readBlob (Addr addr, void *p, uint64_t size) const
 Higher level interfaces based on the above.
void writeBlob (Addr addr, const void *p, uint64_t size) const
 Same as tryWriteBlob, but insists on success.
void memsetBlob (Addr addr, uint8_t v, uint64_t size) const
 Same as tryMemsetBlob, but insists on success.
template<typename T>
read (Addr address) const
 Read sizeof(T) bytes from address and return as object T.
template<typename T>
void write (Addr address, const T &data) const
 Write object T to address.
template<typename T>
read (Addr address, ByteOrder guest_byte_order) const
 Read sizeof(T) bytes from address and return as object T.
template<typename T>
void write (Addr address, T data, ByteOrder guest_byte_order) const
 Write object T to address.
bool tryWriteString (Addr addr, const char *str) const
 Write the string str into guest memory at address addr.
void writeString (Addr addr, const char *str) const
 Same as tryWriteString, but insists on success.
bool tryReadString (std::string &str, Addr addr) const
 Reads the string at guest address addr into the std::string str.
void readString (std::string &str, Addr addr) const
 Same as tryReadString, but insists on success.
bool tryReadString (char *str, Addr addr, size_t maxlen) const
 Reads the string at guest address addr into the char * str, reading up to maxlen characters.
void readString (char *str, Addr addr, size_t maxlen) const
 Same as tryReadString, but insists on success.

Protected Member Functions

bool fixupRange (const TranslationGen::Range &range, BaseMMU::Mode mode) const override
Protected Member Functions inherited from gem5::TranslatingPortProxy
bool tryOnBlob (BaseMMU::Mode mode, TranslationGenPtr gen, std::function< void(const TranslationGen::Range &)> func) const

Private Attributes

AllocType allocating

Additional Inherited Members

Protected Attributes inherited from gem5::TranslatingPortProxy
ThreadContext_tc
Request::Flags flags

Detailed Description

Definition at line 49 of file se_translating_port_proxy.hh.

Member Enumeration Documentation

◆ AllocType

Enumerator
Always 
Never 
NextPage 

Definition at line 53 of file se_translating_port_proxy.hh.

Constructor & Destructor Documentation

◆ SETranslatingPortProxy()

gem5::SETranslatingPortProxy::SETranslatingPortProxy ( ThreadContext * tc,
AllocType alloc = NextPage,
Request::Flags _flags = 0 )

Member Function Documentation

◆ fixupRange()

bool gem5::SETranslatingPortProxy::fixupRange ( const TranslationGen::Range & range,
BaseMMU::Mode mode ) const
overrideprotectedvirtual

Member Data Documentation

◆ allocating

AllocType gem5::SETranslatingPortProxy::allocating
private

Definition at line 61 of file se_translating_port_proxy.hh.

Referenced by fixupRange(), and SETranslatingPortProxy().


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

Generated on Sat Oct 18 2025 08:06:54 for gem5 by doxygen 1.14.0