Functions related to doorbells which a core can use to raise IRQs on itself or the other core. More...
Macros | |
| #define | DOORBELL_IRQ_NUM(doorbell_num) |
| Returns the irq_num_t for processor interrupts for the given doorbell number. | |
Functions | |
| void | multicore_doorbell_claim (uint doorbell_num, uint core_mask) |
| Cooperatively claim the use of this doorbell. | |
| int | multicore_doorbell_claim_unused (uint core_mask, bool required) |
| Cooperatively claim the use of an unused doorbell. | |
| void | multicore_doorbell_unclaim (uint doorbell_num, uint core_mask) |
| Cooperatively release the claim on use of this doorbell. | |
| static void | multicore_doorbell_set_other_core (uint doorbell_num) |
| Activate the given doorbell on the other core. | |
| static void | multicore_doorbell_clear_other_core (uint doorbell_num) |
| Deactivate the given doorbell on the other core. | |
| static void | multicore_doorbell_set_current_core (uint doorbell_num) |
| Activate the given doorbell on this core. | |
| static void | multicore_doorbell_clear_current_core (uint doorbell_num) |
| Deactivate the given doorbell on this core. | |
| static bool | multicore_doorbell_is_set_current_core (uint doorbell_num) |
| Determine if the given doorbell is active on this core. | |
| static bool | multicore_doorbell_is_set_other_core (uint doorbell_num) |
| Determine if the given doorbell is active on the other core. | |
Functions related to doorbells which a core can use to raise IRQs on itself or the other core.
| #define DOORBELL_IRQ_NUM | ( | doorbell_num | ) |
Returns the irq_num_t for processor interrupts for the given doorbell number.
Note this macro is intended to resolve at compile time, and does no parameter checking
| void multicore_doorbell_claim | ( | uint | doorbell_num, |
| uint | core_mask ) |
Cooperatively claim the use of this doorbell.
This method hard asserts if the doorbell is currently claimed.
| doorbell_num | the doorbell number to claim |
| core_mask | 0b01: core 0, 0b10: core 1, 0b11 both core 0 and core 1 |
| int multicore_doorbell_claim_unused | ( | uint | core_mask, |
| bool | required ) |
Cooperatively claim the use of an unused doorbell.
This method attempts to claim an unused doorbell
| core_mask | 0b01: core 0, 0b10: core 1, 0b11 both core 0 and core 1 |
| required | if true the function will panic if none are available |
|
inlinestatic |
Deactivate the given doorbell on this core.
| doorbell_num | the doorbell number |
|
inlinestatic |
Deactivate the given doorbell on the other core.
| doorbell_num | the doorbell number |
|
inlinestatic |
Determine if the given doorbell is active on this core.
| doorbell_num | the doorbell number |
|
inlinestatic |
Determine if the given doorbell is active on the other core.
| doorbell_num | the doorbell number |
|
inlinestatic |
Activate the given doorbell on this core.
| doorbell_num | the doorbell number |
|
inlinestatic |
Activate the given doorbell on the other core.
| doorbell_num | the doorbell number |
| void multicore_doorbell_unclaim | ( | uint | doorbell_num, |
| uint | core_mask ) |
Cooperatively release the claim on use of this doorbell.
| doorbell_num | the doorbell number to unclaim |
| core_mask | 0b01: core 0, 0b10: core 1, 0b11 both core 0 and core 1 |