C++ Device API Reference Manual
Reference documentation for the Simics C++ Device API.
 
Loading...
Searching...
No Matches
simics::MappableConfObject Class Reference

#include <mappable-conf-object.h>

Inheritance diagram for simics::MappableConfObject:
simics::ConfObject simics::ConfObjectInterface GeneratedRegisterDevice SampleDevice

Public Member Functions

virtual ~MappableConfObject ()=default
 
template<typename IFACE >
void set_iface (const std::string &name, IFACE *iface)
 Set the IFACE interface* by name.
 
template<typename IFACE >
IFACE * get_iface (const std::string &name) const
 Get the IFACE interface* by name.
 
RegisterInterfaceget_iface (size_t name_hash) const
 Get the RegisterInterface* by name hash.
 
template<typename IFACE >
void erase_iface (const std::string &name)
 Erase the IFACE interface by name.
 
virtual bool big_endian_bitorder ()
 
bank_memory_tget_bank_memory (std::string_view name_of_memory)
 Get the bank memory by name.
 
void write_protect_iface_maps (bool write_protect)
 Whether to write protect the iface_maps, default is not write protected.
 
 ConfObject (const ConfObjectRef &obj)
 Create a ConfObject from ConfObjectRef.
 
- Public Member Functions inherited from simics::ConfObject
 ConfObject (const ConfObjectRef &obj)
 Create a ConfObject from ConfObjectRef.
 
virtual ~ConfObject ()=default
 
void finalize () override
 
void objects_finalized () override
 
ConfObjectRef obj () const
 Return a ConfObjectRef represents this object.
 
virtual bool finalized ()
 Return if the finalize method has been called.
 
- Public Member Functions inherited from simics::ConfObjectInterface
virtual ~ConfObjectInterface ()=default
 
virtual void finalize ()=0
 
virtual void objects_finalized ()=0
 

Constructor & Destructor Documentation

◆ ~MappableConfObject()

virtual simics::MappableConfObject::~MappableConfObject ( )
virtualdefault

Member Function Documentation

◆ big_endian_bitorder()

virtual bool simics::MappableConfObject::big_endian_bitorder ( )
inlinevirtual

◆ ConfObject()

simics::ConfObject::ConfObject ( const ConfObjectRef obj)
inlineexplicit

Create a ConfObject from ConfObjectRef.

◆ erase_iface()

template<typename IFACE >
void simics::MappableConfObject::erase_iface ( const std::string &  name)
inline

Erase the IFACE interface by name.

Template Parameters
IFACEshould be one of BankInterface, RegisterInterface, FieldInterface
Parameters
nameThe name of a hierarchical object

◆ get_bank_memory()

bank_memory_t * simics::MappableConfObject::get_bank_memory ( std::string_view  name_of_memory)
inline

Get the bank memory by name.

◆ get_iface() [1/2]

template<typename IFACE >
IFACE * simics::MappableConfObject::get_iface ( const std::string &  name) const
inline

Get the IFACE interface* by name.

Template Parameters
IFACEshould be one of BankInterface, RegisterInterface, FieldInterface
Parameters
nameThe name of a hierarchical object
Returns
The IFACE pointer to the hierarchical object. It may return nullptr. Check NULL before use the return value.

◆ get_iface() [2/2]

RegisterInterface * simics::MappableConfObject::get_iface ( size_t  name_hash) const
inline

Get the RegisterInterface* by name hash.

Parameters
name_hashThe hash value of the name of a hierarchical object
Returns
The RegisterInterface pointer to the hierarchical object.

◆ set_iface()

template<typename IFACE >
void simics::MappableConfObject::set_iface ( const std::string &  name,
IFACE *  iface 
)
inline

Set the IFACE interface* by name.

Template Parameters
IFACEshould be one of BankInterface, RegisterInterface, FieldInterface
Parameters
nameThe name of a hierarchical object
ifacethe IFACE pointer to the hierarchical object

◆ write_protect_iface_maps()

void simics::MappableConfObject::write_protect_iface_maps ( bool  write_protect)
inline

Whether to write protect the iface_maps, default is not write protected.


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