Merge branch 'bugfix/xtensa_startup_stack_v5.2' into 'release/v5.2'

fix(system): fixed potential double exception when booting on xtensa (v5.2)

See merge request espressif/esp-idf!33903
This commit is contained in:
Marius Vikhammer
2024-10-15 09:45:12 +08:00
2 changed files with 10 additions and 0 deletions

View File

@ -344,6 +344,11 @@ BaseType_t xPortStartScheduler( void )
}
#endif // configNUM_CORES > 1
// Windows contain references to the startup stack which will be reclaimed by the main task
// Spill the windows to create a clean environment to ensure we do not carry over any such references
// to invalid SPs which will cause problems if main_task does a windowoverflow to them
xthal_window_spill();
// Cannot be directly called from C; never returns
__asm__ volatile ("call0 _frxt_dispatch\n");

View File

@ -108,6 +108,11 @@ BaseType_t xPortStartScheduler( void )
port_xSchedulerRunning[xPortGetCoreID()] = 1;
// Windows contain references to the startup stack which will be reclaimed by the main task
// Spill the windows to create a clean environment to ensure we do not carry over any such references
// to invalid SPs which will cause problems if main_task does a windowoverflow to them
xthal_window_spill();
// Cannot be directly called from C; never returns
__asm__ volatile ("call0 _frxt_dispatch\n");