CIRCT 20.0.0git
Loading...
Searching...
No Matches
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.
 
virtual std::vector< uint8_t > getCompressedManifest () const override
 Return the zlib compressed JSON system manifest.
 
- 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.
 
 Service (AcceleratorConnection &conn)
 
- Public Member Functions inherited from esi::services::Service
 Service (AcceleratorConnection &conn)
 
virtual ~Service ()=default
 
virtual ServicegetChildService (Service::Type service, AppIDPath id={}, std::string implName={}, ServiceImplDetails details={}, HWClientDetails clients={})
 Create a "child" service of this service.
 
virtual BundlePortgetPort (AppIDPath id, const BundleType *type) const
 Get specialized port for this service to attach to the given appid path.
 
AcceleratorConnectiongetConnection () const
 

Private Attributes

const MMIOmmio
 

Additional Inherited Members

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

Detailed Description

Implement the SysInfo API for a standard MMIO protocol.

Definition at line 184 of file Services.h.

Constructor & Destructor Documentation

◆ MMIOSysInfo()

MMIOSysInfo::MMIOSysInfo ( const MMIO mmio)

Definition at line 130 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 140 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 133 of file Services.cpp.

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

Referenced by getCompressedManifest().

Member Data Documentation

◆ mmio

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

Definition at line 195 of file Services.h.

Referenced by getCompressedManifest(), and getEsiVersion().


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