esp-idf/components/esp32/include
Ivan Grokhotkov e324707cc8 esp_restart: fix possible race while stalling other CPU, enable WDT early
Previously esp_restart would stall the other CPU before enabling RTC_WDT.
If the other CPU was executing an s32c1i instruction, the lock signal
from CPU to the arbiter would still be held after CPU was stalled. If
the CPU running esp_restart would then try to access the same locked
memory pool, it would be stuck, because lock signal would never be
released.

With this change, esp_restart resets the other CPU before stalling it.
Ideally, we would want to reset the CPU and keep it in reset, but the
hardware doesn't have such feature for PRO_CPU (it is possible to hold
APP_CPU in reset using DPORT register). Given that ROM code will not use
s32c1i in the first few hundred cycles, doing reset and then stall seems
to be safe.

In addition to than, RTC_WDT initialization is moved to the beginning of
the function, to prevent possible lock-up if CPU stalling still has any
issue.
2017-11-09 16:05:35 +08:00
..
hwcrypto mbedTLS SHA: Fix cloning of SHA-384 digests 2016-11-25 19:26:30 +11:00
rom Place uart_tx_wait_idle in IRAM 2017-09-26 00:02:20 +08:00
xtensa implement esp_deep_sleep, fix build issues 2016-11-22 21:54:49 +08:00
esp_app_trace.h esp32: Adds functionality for application tracing over JTAG 2017-04-17 23:26:29 +03:00
esp_assert.h component/esp32 : do more fix of dualcore bug 2017-05-12 15:41:51 +08:00
esp_attr.h deep sleep: keep RTC_SLOW_MEM powered on if data is placed into RTC slow memory 2017-01-12 14:15:30 +08:00
esp_cache_err_int.h add detection of invalid cache access 2017-04-13 15:27:38 +08:00
esp_clk.h esp32: make time monotonic across resets 2017-06-16 12:06:04 +08:00
esp_coexist.h coexist: enable coexist when wifi&bt are enabled, disable coexist when one of wifi&bt is disabled. 2017-02-20 23:53:25 +08:00
esp_core_dump.h esp32: Adds documentation and comments to core dump feature files 2017-01-11 20:51:28 +03:00
esp_crosscore_int.h Only init crosscore when FreeRTOS runs in multicore mode, add warnings that cross_int calls are private. 2016-10-27 16:50:28 +08:00
esp_deep_sleep.h deep sleep: add functions to check wakeup cause 2017-02-22 14:40:36 +08:00
esp_deepsleep.h deep sleep: rename header file 2016-12-16 14:30:27 +08:00
esp_dport_access.h esp_restart: fix possible race while stalling other CPU, enable WDT early 2017-11-09 16:05:35 +08:00
esp_err.h Optimize configuration of base MAC address 2017-05-10 10:15:07 +08:00
esp_event_loop.h Event handling refactoring 2016-09-26 01:17:32 +08:00
esp_event.h Merge branch bugfix/wps_receive_m2d_fail_process to master 2017-06-13 21:48:48 +08:00
esp_flash_data_types.h Flash encryption: Support enabling flash encryption in bootloader, app support 2016-12-01 23:49:12 -08:00
esp_freertos_hooks.h Add comments/headers according to merge request comments 2016-11-15 12:10:02 +08:00
esp_gdbstub.h Move panic handler and gdbstub into esp32 component, clean up wdt according to merge req suggestions 2016-10-26 12:23:01 +08:00
esp_heap_alloc_caps.h add C++ include guards to header files which are missing them 2017-05-31 17:20:17 +08:00
esp_int_wdt.h Add documentation 2016-11-17 12:09:08 +08:00
esp_interface.h ethernet: add first version of ethernet driver 2016-12-01 19:17:48 +08:00
esp_intr_alloc.h esp32: sanity check ISR handler address passed into esp_intr_alloc 2017-01-11 11:38:17 +08:00
esp_intr.h add RMT driver and example 2016-11-22 00:57:19 +08:00
esp_ipc.h ipc task: Allow configuration of IPC task stack size 2017-07-04 15:30:04 +08:00
esp_panic.h esp32: Core dump sanity checks were added 2017-04-26 21:13:02 +03:00
esp_phy_init.h component/esp32 : remove phy init data description 2017-10-17 11:28:35 +08:00
esp_smartconfig.h esp32: refactor to sniffer 2016-12-15 18:20:00 +08:00
esp_ssc.h Initial public version 2016-08-17 23:08:22 +08:00
esp_system.h Merge branch 'feature/get_chip_ver' into 'master' 2017-05-11 12:05:55 +08:00
esp_task_wdt.h Add documentation 2016-11-17 12:09:08 +08:00
esp_task.h Enable lwip PPPoS support 2017-04-21 14:23:34 +10:00
esp_types.h remove legacy definitions from esp_types.h 2016-11-22 21:14:36 +08:00
esp_wifi_internal.h Implement system_* APIs in IDF 2016-11-22 21:14:36 +08:00
esp_wifi_types.h esp32: add sniffer filter api 2017-06-06 19:07:12 +08:00
esp_wifi.h esp32: add sniffer filter api 2017-06-06 19:07:12 +08:00
esp_wpa2.h add wpa2 set id api and modify null data tx description 2017-01-11 12:13:11 +08:00
esp_wps.h wps: add blocking param for API esp_wifi_wps_start() 2016-11-11 10:51:33 +08:00
heap_alloc_caps.h MR suggestions 2017-03-08 19:27:30 +08:00