esp-idf/components/freertos/FreeRTOS-Kernel-SMP/portable/xtensa
Darian Leung 0cf1fd3a5a freertos: Add multi-core OS startup race condition workaround
FreeRTOS uses a single "xSchedulerRunning" variable to tack whether the
scheduler has started, and this variable is set to "pdTRUE" by core 0
via calling vTaskStartScheduler().

However, with SMP FreeRTOS, there is a race condition where core 0 has
already started the scheduler and another core has not called xPortStartScheduler()
yet and calls some FreeRTOS API. Thus the resultant FreeRTOS API can
cause errors as it thinks the scheduler has started.

This commit adds a temporary workaround (by having each core maintain their
own "xSchedulerRunning" variable.
2022-06-30 20:24:53 +08:00
..
include/freertos freertos-smp: Fix build test errors for esp32s2 and esp32s3 2022-06-17 09:21:46 +02:00
port.c freertos: Add multi-core OS startup race condition workaround 2022-06-30 20:24:53 +08:00
portasm.S freertos: Xtensa FreeRTOS saves threadptr in solicited stack frame 2022-06-15 20:20:41 +08:00
readme_xtensa.txt freertos: Copy IDF xtensa port files 2022-03-08 14:59:18 +08:00
xt_asm_utils.h freertos: Copy IDF xtensa port files 2022-03-08 14:59:18 +08:00
xtensa_context.S freertos-smp: Task Deletion Coproc context save area cleanup 2022-04-21 13:09:03 +05:30
xtensa_init.c freertos: Copy IDF xtensa port files 2022-03-08 14:59:18 +08:00
xtensa_loadstore_handler.S freertos: Copy IDF xtensa port files 2022-03-08 14:59:18 +08:00
xtensa_overlay_os_hook.c freertos: Copy IDF xtensa port files 2022-03-08 14:59:18 +08:00
xtensa_vector_defaults.S freertos: Copy IDF xtensa port files 2022-03-08 14:59:18 +08:00
xtensa_vectors.S freertos: Enable FreeRTOS SMP unicore build 2022-05-09 09:44:44 +05:30