mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-29 18:27:20 +02: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;
|
||||
|
3
tools/unit-test-app/configs/no_optimization_c3
Normal file
3
tools/unit-test-app/configs/no_optimization_c3
Normal file
@ -0,0 +1,3 @@
|
||||
CONFIG_IDF_TARGET="esp32c3"
|
||||
TEST_COMPONENTS=esp_ipc spi_flash
|
||||
CONFIG_COMPILER_OPTIMIZATION_NONE=y
|
3
tools/unit-test-app/configs/no_optimization_esp32
Normal file
3
tools/unit-test-app/configs/no_optimization_esp32
Normal file
@ -0,0 +1,3 @@
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
TEST_COMPONENTS=esp_ipc spi_flash
|
||||
CONFIG_COMPILER_OPTIMIZATION_NONE=y
|
Reference in New Issue
Block a user