Device API Reference

Snitch Cluster

void _trampoline()

Trampoline function for the cluster core. This function will set up the stack pointer and call the function.

Warning

Make sure that this function is compiled with ISA for the Snitch cores (RV32IM)

_SETUP_GP()

Setup the core to a known state.

This function will set up the global pointer and thread pointer for the core.

__CLUSTER_ID_ASM

Calculate the cluster ID from mhartid and set busy flag.

Note

This is a string fragment intended to be used inside an asm volatile block. It reqires the following operands: %0: Base address of the busy register for cluster 0 %1: Threshold for cluster 1 %2: Threshold for cluster 2 %3: Threshold for cluster 3 %4: Threshold for cluster 4

_SET_CLUSTER_BUSY()

Compute cluster id form the hartid adn set busy flag.

Note

This is a naked-friendly macro intended to be used inside an asm volatile block.

_CLEAR_CLUSTER_BUSY()

Compute cluster id from mhartid and clear busy.

Note

This is a naked-friendly macro intended to be used inside an asm volatile block.