CIRCT 24.0.0git
Loading...
Searching...
No Matches
dpi.h File Reference
#include "svdpi.h"
Include dependency graph for dpi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DPI   extern "C"

Functions

DPI int sv2cCosimserverEpRegister (char *endpointId, char *fromHostTypeId, int fromHostTypeSize, char *toHostTypeId, int toHostTypeSize)
 Register an endpoint.
DPI int sv2cCosimserverEpTryGet (char *endpointId, const svOpenArrayHandle data, unsigned int *sizeBytes)
 Try to get a message from a client.
DPI int sv2cCosimserverEpTryPut (char *endpointId, const svOpenArrayHandle data, int dataLimit)
 Send a message to a client.
DPI int sv2cCosimserverInit ()
 Start the server.
DPI void sv2cCosimserverFinish ()
 Shutdown the RPC server.
DPI void sv2cCosimserverSetManifest (int esiVersion, const svOpenArrayHandle compressedManifest)
 Set the system zlib-compressed manifest.
DPI int sv2cCosimserverMMIORegister ()
 Register an MMIO module. Just checks that there is only one instantiated.
DPI int sv2cCosimserverMMIOReadTryGet (uint32_t *address)
 Read MMIO function pair.
DPI void sv2cCosimserverMMIOReadRespond (uint32_t data, char error)
DPI int sv2cCosimserverMMIOWriteTryGet (uint32_t *address, uint32_t *data)
 Write MMIO function pair.
DPI void sv2cCosimserverMMIOWriteRespond (char error)

Macro Definition Documentation

◆ DPI

Function Documentation

◆ sv2cCosimserverEpRegister()

DPI int sv2cCosimserverEpRegister ( char * endpointId,
char * fromHostTypeId,
int fromHostTypeSize,
char * toHostTypeId,
int toHostTypeSize )

◆ sv2cCosimserverEpTryGet()

DPI int sv2cCosimserverEpTryGet ( char * endpointId,
const svOpenArrayHandle data,
unsigned int * sizeBytes )

◆ sv2cCosimserverEpTryPut()

DPI int sv2cCosimserverEpTryPut ( char * endpointId,
const svOpenArrayHandle data,
int dataLimit )

◆ sv2cCosimserverFinish()

DPI void sv2cCosimserverFinish ( )

Shutdown the RPC server.

Definition at line 300 of file DpiEntryPoints.cpp.

References DPI, getLogger(), esi::Logger::info(), logFile, server, and serverMutex.

◆ sv2cCosimserverInit()

DPI int sv2cCosimserverInit ( )

Start the server.

Not required as the first endpoint registration will do this. Provided if one wants to start the server early.

Definition at line 314 of file DpiEntryPoints.cpp.

References context, esi::Logger::Debug, DPI, findPort(), getLogger(), esi::Logger::info(), logFile, server, serverMutex, and esi::Context::withLogger().

Referenced by sv2cCosimserverEpRegister(), sv2cCosimserverMMIORegister(), and sv2cCosimserverSetManifest().

◆ sv2cCosimserverMMIOReadRespond()

DPI void sv2cCosimserverMMIOReadRespond ( uint32_t data,
char error )

Definition at line 390 of file DpiEntryPoints.cpp.

References assert(), and DPI.

◆ sv2cCosimserverMMIOReadTryGet()

DPI int sv2cCosimserverMMIOReadTryGet ( uint32_t * address)

Read MMIO function pair.

Assumes that reads come back in the order in which they were requested.

Definition at line 379 of file DpiEntryPoints.cpp.

References DPI.

◆ sv2cCosimserverMMIORegister()

DPI int sv2cCosimserverMMIORegister ( )

Register an MMIO module. Just checks that there is only one instantiated.

Definition at line 369 of file DpiEntryPoints.cpp.

References DPI, esi::Logger::error(), getLogger(), mmioRegistered, and sv2cCosimserverInit().

◆ sv2cCosimserverMMIOWriteRespond()

DPI void sv2cCosimserverMMIOWriteRespond ( char error)

Definition at line 402 of file DpiEntryPoints.cpp.

References assert(), and DPI.

◆ sv2cCosimserverMMIOWriteTryGet()

DPI int sv2cCosimserverMMIOWriteTryGet ( uint32_t * address,
uint32_t * data )

Write MMIO function pair.

Assumes that write errors come back in the order in which the writes were issued.

Definition at line 416 of file DpiEntryPoints.cpp.

References DPI.

◆ sv2cCosimserverSetManifest()

DPI void sv2cCosimserverSetManifest ( int esiVersion,
const svOpenArrayHandle compressedManifest )