mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-08-19 09:38:32 -04:00
Ensure that the configMAX_SYSCALL_INTERRUPT_PRIORITY setting works with all possible values.
This commit is contained in:
parent
9133ceb44d
commit
8fc0c27ea5
3 changed files with 39 additions and 24 deletions
|
@ -195,11 +195,14 @@ vPortYieldISR:
|
|||
lw s7, (s7)
|
||||
sw s5, (s7)
|
||||
|
||||
/* Set the interrupt mask to the max priority that can use the API. */
|
||||
/* Set the interrupt mask to the max priority that can use the API. The
|
||||
yield handler will only be called at configKERNEL_INTERRUPT_PRIORITY which
|
||||
is below configMAX_SYSCALL_INTERRUPT_PRIORITY - so this can only ever
|
||||
raise the IPL value and never lower it. */
|
||||
di
|
||||
mfc0 s7, _CP0_STATUS
|
||||
ori s7, s7, 1
|
||||
ori s6, s7, configMAX_SYSCALL_INTERRUPT_PRIORITY << 10
|
||||
ins s7, $0, 10, 6
|
||||
ori s6, s7, ( configMAX_SYSCALL_INTERRUPT_PRIORITY << 10 ) | 1
|
||||
|
||||
/* This mtc0 re-enables interrupts, but only above
|
||||
configMAX_SYSCALL_INTERRUPT_PRIORITY. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue