XCORE SDK
XCORE Software Development Kit
Modules | Classes | Functions
rtos_intertile_driver

Modules

 rtos_intertile_driver_core
 

Classes

struct  rtos_intertile_t
 
struct  rtos_intertile_address_t
 

Functions

void rtos_intertile_start (rtos_intertile_t *intertile_ctx)
 
void rtos_intertile_init (rtos_intertile_t *intertile_ctx, chanend_t c)
 

Detailed Description

Facilitates channel communication between tiles. Essentially a thin wrapper around a streaming channel.

Recommend limiting to one per tile pair. There should be at least one more RTOS core usable by all tasks that use these intertile links to handle the case where a transmit occurs on both sides of all links at the same time. There must be at least one core available to handle a receive or else dead-lock may occur.

The public API for using the RTOS intertile driver.

Function Documentation

◆ rtos_intertile_init()

void rtos_intertile_init ( rtos_intertile_t intertile_ctx,
chanend_t  c 
)

Initializes an RTOS intertile driver instance. This must be called simultaneously on the two tiles establishing an intertile link. It may be called either before or after starting the RTOS, but must be called before calling rtos_intertile_start() or any of the core RTOS intertile functions with this instance.

This establishes a new streaming channel between the two tiles, using the provided non-streaming channel to bootstrap this.

Parameters
intertile_ctxA pointer to the intertile driver instance to initialize.
cA channel end that is already allocated and connected to channel end on the tile with which to establish an intertile link. After this function returns, this channel end is no longer needed and may be deallocated or used for other purposes.

◆ rtos_intertile_start()

void rtos_intertile_start ( rtos_intertile_t intertile_ctx)

Starts an RTOS intertile driver instance. It may be called either before or after starting the RTOS, but must be called before any of the core intertile driver functions are called with this instance.

rtos_intertile_init() must be called on this intertile driver instance prior to calling this.

Parameters
intertile_ctxA pointer to the intertile driver instance to start.