Commit Graph

18151 Commits

Author SHA1 Message Date
Darian
b223baf318 Merge branch 'feature/freertos_xtensa_disable_port_using_mpu_wrappers' into 'master'
FreeRTOS: Fix FPU bugs on Amazon SMP FreeRTOS, port over FPU updates to IDF FreeRTOS

Closes IDF-5803

See merge request espressif/esp-idf!20280
2022-12-23 19:17:49 +08:00
Mahavir Jain
d6dd8a56f3 Merge branch 'feature/logs_for_flash_enc_virtual' into 'master'
bootloader_support: Adds better logs for virtual efuses

See merge request espressif/esp-idf!21748

Closes https://github.com/espressif/esp-idf/pull/10383
2022-12-23 16:02:53 +08:00
Darian Leung
92bbf85350 freertos: Fix clang-tidy warning on pxPortInitialiseStack() 2022-12-23 15:29:17 +08:00
Darian Leung
82f28a3e09 freertos: Update FPU unit tests to run for multiple iterations
This commit updates the FreeRTOS port FPU unit tests so that they run for
multiple iterations, thus checking that a task's FPU context is properly
cleaned up on deletion.
2022-12-23 15:29:17 +08:00
Darian Leung
45badf864f freertos(IDF): Allow cross-core freeing of task memory when deleting tasks
Previously, IDF FreeRTOS would restrict the clean up of task memory (done by
vTaskDelete() or the Idle task) to only tasks pinned to the current core or
unpinned tasks. This was due to the need to clear the task's coprocessor
ownership on the other core (i.e., "_xt_coproc_owner_sa"). But this restriction
can be lifted by simply protecting access of "_xt_coproc_owner_sa" with a
spinlock.

This commit implements a "_xt_coproc_owner_sa_lock" to protect the access of
"_xt_coproc_owner_sa", thus vTaskDelete() and prvDeleteTCB() can now delete
tasks pinned to the other core so long as that task is not currently running.

Note: This fix was copied from the Xtensa port of Amazon SMP FreeRTOS
2022-12-23 15:29:17 +08:00
Darian Leung
c318c89453 freertos(IDF): Remove dependency on portUSING_MPU_WRAPPERS
This commit removes the dependency on portUSING_MPU_WRAPPERS on the Xtensa port
of IDF FreeRTOS. This dependency was added due to a hack implemented in the
upstream port that required the usage of the "xMPUSettings" member of the TCB.
The "xMPUSettings" would be used as a pointer to the task's coprocessor save
area on the stack, even though FreeRTOS MPU support was not available.

The hack has now been removed, and the CPSA pointer is now calculated using
a combination of constant offsets values and the pxEndOfStack member of the
TCB.

Note: This impelemtation was copied from the Xtensa port of Amazon SMP FreeRTOS.
2022-12-23 15:29:17 +08:00
Darian Leung
9300bef9b8 freertos(SMP): Refactor FPU handling on the Xtensa port of Amaazon SMP FreeRTOS
This commit refactors the FPU handling code on the Xtensa port of Amazon SMP
FreeRTOS in the following ways:

Auto-pinning via XT_RTOS_CP_EXC_HOOK
------------------------------------

The "_xt_coproc_exc" exception would previously automatically pin a task that
uses the FPU to the current core (to ensure that we can lazy save the task's FPU
context). However, this would mean that "xtensa_vectors.S" would need to be
OS-aware (to read the task's TCB structure).

This is now refactored so that "_xt_coproc_exc" calls a CP exception hook
function ("XT_RTOS_CP_EXC_HOOK") implemented in "portasm.S", thus allowing
"xtensa_vectors.S" to remain OS agnostic.

Using macros to acquire owner spinlock
--------------------------------------

The taking and relasing of the "_xt_coproc_owner_sa_lock" is now mostly
abstracted as the "spinlock_take" and "spinlock_release" macro. As a result,
"_xt_coproc_release" and "_xt_coproc_exc" are refactored so that:

- They are closer to their upstream (original) versions
- The spinlock is only taken when building for multicore
- The spinlock held region is shortened (now only protects the instructions
  that access the "_xt_coproc_owner_sa" array

Other Changes
-------------

- Updated placing and comments of various "offset_..." constants used by
  portasm.S
- Update description of "get_cpsa_from_tcb" assembly macro
- Tidied up some typos in the ".S" files
2022-12-23 15:29:17 +08:00
Darian Leung
fd48daf278 freertos(SMP): Fix SMP FreeRTOS Xtensa port FPU/Coproccessor bugs
This commit fixes the following FPU/Coprocessor bugs in the Xtensa port of
Amazon SMP FreeRTOS:

- vPortCleanUpCoprocArea() does not calculate the correct pointer to the
task's CPSA (located on the task's stack). This can result in
    - _xt_coproc_release() not releasing the task's CP ownership
    - The next coprocessor exception will write the current CP owner (i.e., the
      deleted task's CPSA) leading to memory corruption
- _xt_coproc_release() writes xCoreID instead of 0 when clearing a CP owner.
  This results in the next CP exception trying to load the CP owner's CPSA at
  the address of "xCoreID", leading to a double exception.
2022-12-23 15:29:17 +08:00
Jakob Hasse
4934487be4 Merge branch 'refactor/esp_event_test_delay' into 'master'
refactor(esp_event): reduced test run time

Closes IDF-6322

See merge request espressif/esp-idf!21612
2022-12-23 12:43:28 +08:00
Kevin (Lao Kaiyao)
42c6ae3522 Merge branch 'feature/support_rtcio_on_c6' into 'master'
rtcio: support rtcio on c6

Closes IDF-6027

See merge request espressif/esp-idf!21603
2022-12-23 10:56:49 +08:00
Jiang Jiang Jian
0d6b9e463f Merge branch 'bugfix/avoid_ftm_initiator_mode_on_softap' into 'master'
Avoid ftm initiator mode on softap

Closes WIFI-5084, WIFI-5072, and WIFI-5078

See merge request espressif/esp-idf!21491
2022-12-23 10:41:33 +08:00
Darian
14394ed783 Merge branch 'bugfix/esp_pm_and_sleep_build_errors' into 'master'
esp_system: Fix various PM and sleep build errors

Closes IDFGH-8930

See merge request espressif/esp-idf!21606
2022-12-23 03:42:57 +08:00
Darian
d534d08244 Merge branch 'bugfix/flakey_gptimer_tests' into 'master'
Driver: Fix flakey gptimer tests by allowing larger count deltas

See merge request espressif/esp-idf!21766
2022-12-23 03:18:08 +08:00
Rahul Tank
8ff7d526b0 Merge branch 'bugfix/remove_global_min_max_def' into 'master'
Nimble: Removes global min/max definition causing problems with other libraries

See merge request espressif/esp-idf!21652
2022-12-22 22:53:45 +08:00
KonstantinKondrashov
92de037883 efuse: Hides the FLASH_ENCRYPTION_MODE_RELEASE option when using EFUSE_VIRTUAL 2022-12-22 20:03:42 +08:00
Harshit Malpani
5cf26f61c0 Merge branch 'bugfix/protocol_components_no_format_cflag' into 'master'
Remove "-Wno-format" from protocol example specific components

See merge request espressif/esp-idf!21734
2022-12-22 18:54:48 +08:00
Darian
68e1e7d756 Merge branch 'bugfix/esp32s3_int_wdt' into 'master'
system: disable interrupts in esp_restart_noos_dig to fix infinite int_wdt on ESP32-S3

Closes IDF-6559

See merge request espressif/esp-idf!21755
2022-12-22 18:24:01 +08:00
Shu Chen
0215575606 Merge branch 'feature/esp32c6_ieee802154_support' into 'master'
ieee802154: add ieee802154 support for esp32c6

See merge request espressif/esp-idf!21615
2022-12-22 18:01:58 +08:00
Darian Leung
acd88e3f5e driver: Fix flakey gptimer tests by allowing larger count deltas 2022-12-22 17:57:00 +08:00
Song Ruo Jing
36cdf88a5b Merge branch 'contrib/github_pr_10402' into 'master'
ledc: move callback to IRAM as it's called from an ISR (GitHub PR)

Closes IDFGH-8990

See merge request espressif/esp-idf!21711
2022-12-22 16:55:29 +08:00
gauri patankar
f4a2829a70 esp_wifi: Update wifi libs
1. Avoid ftm initiator mode on softap
2. Fix home channel issue in ftm for apsta mode
3. Fix int overflow for T1-T4 counter variable
2022-12-22 14:00:32 +05:30
Ivan Grokhotkov
6020bb0f90 Merge branch 'feature/gdbstub_esp32c2' into 'master'
gdb stub: re-enable for ESP32-C2

Closes IDF-4135 and IDF-4245

See merge request espressif/esp-idf!21386
2022-12-22 16:00:01 +08:00
Song Ruo Jing
5d300b9bc1 Merge branch 'refactor/ledc_unit_test' into 'master'
ledc: Move ledc unit test to test_apps pytest framework

Closes IDF-5502

See merge request espressif/esp-idf!21723
2022-12-22 15:24:47 +08:00
Song Ruo Jing
1a6e1aba3d ledc: Add check for whether the registered callback is in iram in ledc_cb_register 2022-12-22 14:38:58 +08:00
laokaiyao
7a002ab7a6 rtcio: support rtcio on c6 2022-12-22 14:14:38 +08:00
Jiang Jiang Jian
cfef24863f Merge branch 'bugfix/esp32c2_rev_1_1' into 'master'
esp32c2: fixed chip revision of ECO2

See merge request espressif/esp-idf!21735
2022-12-22 13:12:45 +08:00
Kevin (Lao Kaiyao)
7e29d113ae Merge branch 'bugfix/add_unity_sig_sync_for_i2s_tdm_test' into 'master'
i2s_test: fixed rx_update stuck issue

Closes IDFCI-1527

See merge request espressif/esp-idf!21308
2022-12-22 11:27:52 +08:00
Chen Yu Dong
d3716c439d Merge branch 'ci/add_generic_to_xtal_26mhz_runners' into 'master'
CI: add generic to xtal_26mhz jobs

See merge request espressif/esp-idf!21725
2022-12-22 10:56:25 +08:00
xiaqilin
57a6abdad1 ieee802154: add support ieee802154 for esp32c6 2022-12-22 10:45:23 +08:00
Ivan Grokhotkov
0c9ac7df6d
system: disable interrupts in esp_restart_noos_dig 2022-12-21 21:58:59 +01:00
Mahavir Jain
9c99080841 Merge branch 'fix/wifi_prov_scan_method' into 'master'
Changed wifi provisioning scan method

See merge request espressif/esp-idf!20408
2022-12-22 01:20:25 +08:00
Jakob Hasse
102b501b10 Merge branch 'contrib/github_pr_9962' into 'master'
[Panic] add user configurable reboot delay in seconds (GitHub PR)

Closes IDFGH-8506

See merge request espressif/esp-idf!21305
2022-12-21 21:12:21 +08:00
Ivan Grokhotkov
e3a4d47fd9
gdb stub: re-enable for ESP32-C2 2022-12-21 13:21:41 +01:00
Song Ruo Jing
e68c9a6733 Merge branch 'refactor/gpio_unit_case_ci_script' into 'master'
gpio: Improve unit test test-apps CI process

Closes IDF-5914

See merge request espressif/esp-idf!21595
2022-12-21 18:31:18 +08:00
Chip Weinberger
9e02682097 bootloader_support: Adds better logs for virtual efuses
Close https://github.com/espressif/esp-idf/pull/10383
2022-12-21 18:03:41 +08:00
laokaiyao
705ddd221f test more freq 2022-12-21 17:31:38 +08:00
Mahavir Jain
b709c84e1c
esp_local_ctrl: remove "Wno-format" cflag and fix formatting errors 2022-12-21 14:14:05 +05:30
Mahavir Jain
035c2e5799
esp_http(s)_server: remove "Wno-format" cflag and fix formatting errors 2022-12-21 14:14:04 +05:30
Mahavir Jain
bbc5914e63
esp_http_client: remove "Wno-format" cflag and fix formatting errors 2022-12-21 14:14:04 +05:30
Mahavir Jain
3a56807568
protocomm: remove "Wno-format" cflag and fix formatting errors 2022-12-21 14:13:55 +05:30
Darian Leung
2f504695e4 esp_pm: Fix string formatting type errors
This commit fixes a string formatting error in esp_pm with CONFIG_PM_PROFILING
is enabled.

Closes https://github.com/espressif/esp-idf/issues/10347
2022-12-21 15:50:12 +08:00
Darian Leung
13cec981df esp_pm: Fix build error when CONFIG_PM_PROFILING is enabled 2022-12-21 15:50:12 +08:00
Michael (XIAO Xufeng)
9aec53e83f esp32c2: fixed chip revision of ECO2 2022-12-21 15:28:50 +08:00
Jiang Jiang Jian
9d6ff96493 Merge branch 'fix/clear_cur_pmksa' into 'master'
Clear current pmksa before generating RSN IE

Closes IDFGH-8952

See merge request espressif/esp-idf!21413
2022-12-21 15:21:24 +08:00
morris
69dd3839ce Merge branch 'feature/c6_sdspi_host' into 'master'
sdspi: bringup sdspi on c6

Closes IDF-5860

See merge request espressif/esp-idf!21681
2022-12-21 14:07:56 +08:00
Mahavir Jain
078835e358 Merge branch 'contrib/github_pr_10391' into 'master'
[Docs] specify Digital Signature byte order, and esp_ds_sign() clarification (GitHub PR)

Closes IDFGH-8978

See merge request espressif/esp-idf!21712
2022-12-21 13:59:00 +08:00
Song Ruo Jing
774197b7d3 ledc: Move ledc unit test to test_apps pytest framework
Add ledc_hal_set_duty_start and ledc_hal_set_duty_int_part to IRAM
Fix test_ledc.c minor issues
2022-12-21 12:04:42 +08:00
Mahavir Jain
9a7dd9a2a2 Merge branch 'feature/esp_http_server_esp_events' into 'master'
esp_http_server: Added support for esp_events

See merge request espressif/esp-idf!21132
2022-12-21 11:59:00 +08:00
Chen Yudong
b5eebc490f CI: add generic to xtal_40mhz jobs 2022-12-21 11:53:38 +08:00
Jiang Jiang Jian
8cd0571cc9 Merge branch 'bugfix/fix_test_failure_in_test_phy_multi_init_data_bin_issue' into 'master'
esp_phy: add country code 01 to country code map type table

Closes IDFCI-1299

See merge request espressif/esp-idf!21656
2022-12-20 21:31:24 +08:00