mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04: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:
parent
6ee5e622e8
commit
3a7ec8acfa
@ -558,14 +558,14 @@ static inline void __attribute__((always_inline)) uxPortCompareSetExtram(volatil
|
||||
|
||||
// --------------------- Interrupts ------------------------
|
||||
|
||||
static inline UBaseType_t xPortSetInterruptMaskFromISR(void)
|
||||
static inline UBaseType_t __attribute__((always_inline)) xPortSetInterruptMaskFromISR(void)
|
||||
{
|
||||
UBaseType_t prev_int_level = XTOS_SET_INTLEVEL(XCHAL_EXCM_LEVEL);
|
||||
portbenchmarkINTERRUPT_DISABLE();
|
||||
return prev_int_level;
|
||||
}
|
||||
|
||||
static inline void vPortClearInterruptMaskFromISR(UBaseType_t prev_level)
|
||||
static inline void __attribute__((always_inline)) vPortClearInterruptMaskFromISR(UBaseType_t prev_level)
|
||||
{
|
||||
portbenchmarkINTERRUPT_RESTORE(prev_level);
|
||||
XTOS_RESTORE_JUST_INTLEVEL(prev_level);
|
||||
|
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
|
Loading…
Reference in New Issue
Block a user