CIRCT  20.0.0git
Public Member Functions | Private Attributes | List of all members
esi::services::MMIOSysInfo Class Referencefinal

Implement the SysInfo API for a standard MMIO protocol. More...

#include <Services.h>

Inheritance diagram for esi::services::MMIOSysInfo:
Inheritance graph
[legend]
Collaboration diagram for esi::services::MMIOSysInfo:
Collaboration graph
[legend]

Public Member Functions

 MMIOSysInfo (const MMIO *)
 
uint32_t getEsiVersion () const override
 Get the ESI version number to check version compatibility. More...
 
virtual std::vector< uint8_t > getCompressedManifest () const override
 Return the zlib compressed JSON system manifest. More...
 
- Public Member Functions inherited from esi::services::SysInfo
virtual ~SysInfo ()=default
 
virtual std::string getServiceSymbol () const override
 
virtual std::string getJsonManifest () const
 Return the JSON-formatted system manifest. More...
 
- Public Member Functions inherited from esi::services::Service
virtual ~Service ()=default
 
virtual ServicegetChildService (AcceleratorConnection *conn, Service::Type service, AppIDPath id={}, std::string implName={}, ServiceImplDetails details={}, HWClientDetails clients={})
 Create a "child" service of this service. More...
 
virtual ServicePortgetPort (AppIDPath id, const BundleType *type, const std::map< std::string, ChannelPort & > &, AcceleratorConnection &) const
 Get specialized port for this service to attach to the given appid path. More...
 

Private Attributes

const MMIOmmio
 

Additional Inherited Members

- Public Types inherited from esi::services::Service
using Type = const std::type_info &
 

Detailed Description

Implement the SysInfo API for a standard MMIO protocol.

Definition at line 180 of file Services.h.

Constructor & Destructor Documentation

◆ MMIOSysInfo()

MMIOSysInfo::MMIOSysInfo ( const MMIO mmio)

Definition at line 137 of file Services.cpp.

Member Function Documentation

◆ getCompressedManifest()

std::vector< uint8_t > MMIOSysInfo::getCompressedManifest ( ) const
overridevirtual

Return the zlib compressed JSON system manifest.

Implements esi::services::SysInfo.

Definition at line 146 of file Services.cpp.

References getEsiVersion(), esi::MetadataOffset, mmio, and esi::services::MMIO::read().

◆ getEsiVersion()

uint32_t MMIOSysInfo::getEsiVersion ( ) const
overridevirtual

Get the ESI version number to check version compatibility.

Implements esi::services::SysInfo.

Definition at line 139 of file Services.cpp.

References esi::MagicNumber, esi::MetadataOffset, mmio, esi::services::MMIO::read(), seq::reg(), and esi::toHex().

Referenced by getCompressedManifest().

Member Data Documentation

◆ mmio

const MMIO* esi::services::MMIOSysInfo::mmio
private

Definition at line 191 of file Services.h.

Referenced by getCompressedManifest(), and getEsiVersion().


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