spinnaker_tools 3.4.0
SpiNNaker API, sark, sc&mp, bmp firmware and build tools
|
Application support for SC&MP. More...
Functions | |
void | clock_ap (uint phys_mask, uint enable) |
Enable/disable clocks to a set of cores specified by a bit mask. | |
void | reset_ap (uint virt_mask) |
Soft reset a set of cores specified by a bit mask. | |
void | boot_ap (void) |
Boot APs. | |
static void | signal_sark (uint cmd, uint data, uint virt_mask, uint phys_mask) |
Send a signal to a set of cores. | |
void | set_cpu_info (uint virt_mask, uint state, uint app_id) |
Update some status variables for a set of cores. | |
static uint | find_lead (uint mask) |
Find the position of the least significant bit in a word. | |
void | proc_start_app (uint aplx_addr, uint id_op_mask) |
Start an application on a set of cores. | |
void | clean_app_id (uint app_id) |
Clean up shared data belonging to a given AppID. | |
void | proc_init_cores (uint virt_mask, uint phys_mask) |
Initialise a set of cores so that they run the default application. | |
void | proc_stop_app (uint app_id_and_virt_mask, uint app_mask_and_phys_mask) |
Stop an application on a set of cores and free up any global resources associated with the application. | |
void | proc_power_down (uint virt_mask, uint phys_mask) |
Power down a set of cores. | |
void | signal_app (uint data) |
Signal cores running a range of applications identified by an AppID and a mask. | |
Application support for SC&MP.
Enable/disable clocks to a set of cores specified by a bit mask.
[in] | phys_mask | Which physical cores to enable or disable the clock for. |
[in] | enable | True to switch on the clock for the cores, false to switch the clock off for them. |
void reset_ap | ( | uint | virt_mask | ) |
Soft reset a set of cores specified by a bit mask.
Clocks for those cores are enabled.
[in] | virt_mask | Which (virtual) cores to soft reset |
void boot_ap | ( | void | ) |
Boot APs.
Assumes the "boot_aplx" image has been placed at 0x7f00 and the default "sark" image at 0x7000. Copies "boot_aplx" to start of SysRAM and the default image to SDRAM. Then starts the default app on all cores.
Send a signal to a set of cores.
[in] | cmd | The shm_cmd_e to use (probably SHM_SIGNAL) |
[in] | data | The signal to send, from signal_e |
[in] | virt_mask | Which virtual cores to signal |
[in] | phys_mask | Which physical cores to signal |
Update some status variables for a set of cores.
[in] | virt_mask | Which cores to update for |
[in] | state | The state to mark them as being in |
[in] | app_id | The ID of the application on those cores |
Find the position of the least significant bit in a word.
Used to find the lead application processor.
[in] | mask | The word mask to look in. Assumed to be non-zero. |
Start an application on a set of cores.
[in] | aplx_addr | Where the APLX has been loaded in SDRAM |
[in] | id_op_mask | AppID, and flags to pass to APLX loader |
void clean_app_id | ( | uint | app_id | ) |
Clean up shared data belonging to a given AppID.
[in] | app_id | The AppID to clean up |
Initialise a set of cores so that they run the default application.
[in] | virt_mask | Which virtual cores to power up |
[in] | phys_mask | Which physical cores to power up |
Stop an application on a set of cores and free up any global resources associated with the application.
[in] | app_id_and_virt_mask | What AppID to stop, and which virtual cores to stop |
[in] | app_mask_and_phys_mask | Mask to select which AppIDs to stop, and which physical cores to stop |
Power down a set of cores.
[in] | virt_mask | Which virtual cores to power down |
[in] | phys_mask | Which physical cores to power down |
void signal_app | ( | uint | data | ) |
Signal cores running a range of applications identified by an AppID and a mask.
[in] | data | What signal, cores and app ID |
Delegates to: