CIRCT 24.0.0git
Loading...
Searching...
No Matches
Engines.h File Reference
#include "esi/Common.h"
#include "esi/Ports.h"
#include "esi/Services.h"
#include "esi/Utils.h"
#include <cassert>
#include <future>
Include dependency graph for Engines.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  esi::Engine
 Engines implement the actual channel communication between the host and the accelerator. More...
class  esi::BundleEngineMap
 Since engines can support multiple channels BUT not necessarily all of the channels in a bundle, a mapping from bundle channels to engines is needed. More...
struct  esi::registry::internal::RegisterEngine< TEngine >
 Helper struct to register engines. More...

Namespaces

namespace  esi
namespace  esi::registry
namespace  esi::registry::internal

Macros

#define CONCAT_(prefix, suffix)
#define CONCAT(prefix, suffix)
#define REGISTER_ENGINE(Name, TEngine)

Typedefs

using esi::registry::internal::EngineCreate
 Engines can register themselves for pluggable functionality.

Functions

std::unique_ptr< Engine > esi::registry::createEngine (AcceleratorConnection &conn, const std::string &dmaEngineName, AppIDPath idPath, const ServiceImplDetails &details, const HWClientDetails &clients)
 Create an engine by name.
void esi::registry::internal::registerEngine (const std::string &name, EngineCreate create)

Macro Definition Documentation

◆ CONCAT

#define CONCAT ( prefix,
suffix )
Value:
CONCAT_(prefix, suffix)
#define CONCAT_(prefix, suffix)
Definition Engines.h:116

Definition at line 117 of file Engines.h.

◆ CONCAT_

#define CONCAT_ ( prefix,
suffix )
Value:
prefix##suffix

Definition at line 116 of file Engines.h.

◆ REGISTER_ENGINE

#define REGISTER_ENGINE ( Name,
TEngine )
Value:
static ::esi::registry::internal::RegisterEngine<TEngine> CONCAT( \
__register_engine__, __LINE__)(Name)
#define CONCAT(prefix, suffix)
Definition Engines.h:117

Definition at line 118 of file Engines.h.