CIRCT 20.0.0git
|
Classes | |
struct | TraceHostMemRegion |
Public Member Functions | |
TraceHostMem (TraceAccelerator &conn) | |
virtual std::unique_ptr< HostMemRegion > | allocate (std::size_t size, HostMem::Options opts) const override |
Allocate a region of host memory in accelerator accessible address space. | |
virtual bool | mapMemory (void *ptr, std::size_t size, HostMem::Options opts) const override |
Try to make a region of host memory accessible to the accelerator. | |
virtual void | unmapMemory (void *ptr) const override |
Unmap memory which was previously mapped with 'mapMemory'. | |
![]() | |
virtual | ~HostMem ()=default |
virtual std::string | getServiceSymbol () const override |
virtual void | start () |
In cases where necessary, enable host memory services. | |
Service (AcceleratorConnection &conn) | |
![]() | |
Service (AcceleratorConnection &conn) | |
virtual | ~Service ()=default |
virtual Service * | getChildService (Service::Type service, AppIDPath id={}, std::string implName={}, ServiceImplDetails details={}, HWClientDetails clients={}) |
Create a "child" service of this service. | |
virtual BundlePort * | getPort (AppIDPath id, const BundleType *type) const |
Get specialized port for this service to attach to the given appid path. | |
AcceleratorConnection & | getConnection () const |
Private Attributes | |
TraceAccelerator::Impl & | impl |
Additional Inherited Members | |
![]() | |
using | Type = const std::type_info & |
![]() | |
static constexpr std::string_view | StdName = "esi.service.std.hostmem" |
![]() | |
AcceleratorConnection & | conn |
|
inline |
|
inlineoverridevirtual |
Allocate a region of host memory in accelerator accessible address space.
Implements esi::services::HostMem.
Definition at line 306 of file Trace.cpp.
References esi::services::HostMem::Options::useLargePages, and esi::services::HostMem::Options::writeable.
|
inlineoverridevirtual |
Try to make a region of host memory accessible to the accelerator.
Returns 'false' on failure. It is optional for an accelerator backend to implement this, so client code needs to have a fallback for when this returns 'false'. On success, it is the client's responsibility to ensure that the memory eventually gets unmapped.
Reimplemented from esi::services::HostMem.
Definition at line 316 of file Trace.cpp.
References esi::services::HostMem::Options::useLargePages, and esi::services::HostMem::Options::writeable.
|
inlineoverridevirtual |
Unmap memory which was previously mapped with 'mapMemory'.
Undefined behavior when called with a pointer which was not previously mapped.
Reimplemented from esi::services::HostMem.
|
private |