mirror of
https://github.com/espressif/esp-idf.git
synced 2025-11-02 13:45:46 +00:00
freertos: always inline xPortSetInterruptMaskFromISR and vPortClearInterruptMaskFromISR
These were called from IRAM context where the caller expect them to be inlined and accessible when cache is disabled. This was not the case when compiled with -O0. Closes https://github.com/espressif/esp-idf/issues/8301
This commit is contained in:
@@ -105,7 +105,7 @@ typedef unsigned portBASE_TYPE UBaseType_t;
|
||||
// Cleaner solution allows nested interrupts disabling and restoring via local registers or stack.
|
||||
// They can be called from interrupts too.
|
||||
// WARNING: Only applies to current CPU. See notes above.
|
||||
static inline unsigned portENTER_CRITICAL_NESTED(void) {
|
||||
static inline unsigned __attribute__((always_inline)) portENTER_CRITICAL_NESTED(void) {
|
||||
unsigned state = XTOS_SET_INTLEVEL(XCHAL_EXCM_LEVEL);
|
||||
portbenchmarkINTERRUPT_DISABLE();
|
||||
return state;
|
||||
|
||||
Reference in New Issue
Block a user