Functions related to doorbells which a core can use to raise IRQs on itself or the other core.
More...
Functions related to doorbells which a core can use to raise IRQs on itself or the other core.
◆ DOORBELL_IRQ_NUM
#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
◆ multicore_doorbell_claim()
void multicore_doorbell_claim |
( |
uint |
doorbell_num, |
|
|
uint |
core_mask |
|
) |
| |
Cooperatively claim the use of this hardware alarm_num.
This method hard asserts if the hardware alarm is currently claimed.
- Parameters
-
doorbell_num | the doorbell number to claim |
core_mask | 0b01: core 0, 0b10: core 1, 0b11 both core 0 and core 1 |
- See also
- hardware_claiming
◆ multicore_doorbell_claim_unused()
int multicore_doorbell_claim_unused |
( |
uint |
core_mask, |
|
|
bool |
required |
|
) |
| |
Cooperatively claim the use of this hardware alarm_num.
This method attempts to claim an unused hardware alarm
- Parameters
-
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 |
- Returns
- the doorbell number claimed or -1 if required was false, and none are available
- See also
- hardware_claiming
◆ multicore_doorbell_clear_current_core()
static void multicore_doorbell_clear_current_core |
( |
uint |
doorbell_num | ) |
|
|
inlinestatic |
Deactivate the given doorbell on this core.
- Parameters
-
doorbell_num | the doorbell number |
◆ multicore_doorbell_clear_other_core()
static void multicore_doorbell_clear_other_core |
( |
uint |
doorbell_num | ) |
|
|
inlinestatic |
Deactivate the given doorbell on the other core.
- Parameters
-
doorbell_num | the doorbell number |
◆ multicore_doorbell_is_set_current_core()
static bool multicore_doorbell_is_set_current_core |
( |
uint |
doorbell_num | ) |
|
|
inlinestatic |
Determine if the given doorbell is active on the other core.
- Parameters
-
doorbell_num | the doorbell number |
◆ multicore_doorbell_is_set_other_core()
static bool multicore_doorbell_is_set_other_core |
( |
uint |
doorbell_num | ) |
|
|
inlinestatic |
Determine if the given doorbell is active on the this core.
- Parameters
-
doorbell_num | the doorbell number |
◆ multicore_doorbell_set_current_core()
static void multicore_doorbell_set_current_core |
( |
uint |
doorbell_num | ) |
|
|
inlinestatic |
Activate the given doorbell on this core.
- Parameters
-
doorbell_num | the doorbell number |
◆ multicore_doorbell_set_other_core()
static void multicore_doorbell_set_other_core |
( |
uint |
doorbell_num | ) |
|
|
inlinestatic |
Activate the given doorbell on the other core.
- Parameters
-
doorbell_num | the doorbell number |
◆ multicore_doorbell_unclaim()
void multicore_doorbell_unclaim |
( |
uint |
doorbell_num, |
|
|
uint |
core_mask |
|
) |
| |
Cooperatively release the claim on use of this hardware alarm_num.
- Parameters
-
doorbell_num | the doorbell number to unclaim |
core_mask | 0b01: core 0, 0b10: core 1, 0b11 both core 0 and core 1 |
- See also
- hardware_claiming