Wykres commitów

1079 Commity (b1e85404f148b35c1e71adec17936cc361345047)

Autor SHA1 Wiadomość Data
Sudeep Mohanty 62ee4135e0 Merge branch 'bugfix/freertos_incorrect_xPortCanYield' into 'master'
fix(freertos): Corrected xPortCanYield() for esp32p4

See merge request espressif/esp-idf!25679
2023-09-04 09:33:25 +08:00
Omar Chebib d3afca3020 Merge branch 'fix/esp32p4_supports_interrupts' into 'master'
feat(riscv): Add support to ESP32-P4's CLIC interrupt controller

Closes IDF-7795 and IDF-7793

See merge request espressif/esp-idf!25383
2023-09-01 11:48:39 +08:00
Sudeep Mohanty d9da8f1953 Merge branch 'task/disable_amz_smp_freertos_for_p4' into 'master'
change(freertos): Disable Amazon SMP FreeRTOS kernel for esp32p4

See merge request espressif/esp-idf!25496
2023-08-31 18:24:09 +08:00
Sudeep Mohanty d9a3e3bb86 fix(freertos): Corrected xPortCanYield() for esp32p4
This commit updates the xPortCanYield() for esp32p4 by correcting the
return condition. Previously, the API would return true if an ISR of
priority 1 was received which is incorrect.
2023-08-31 17:45:17 +08:00
Omar Chebib 8ca191e4c1 fix(esp32p4): Fixed interrupt handling to use the CLIC controller 2023-08-31 12:16:08 +08:00
Darian Leung 0a15f28d17 refactor(freertos): Uncrustify and format IDF addition headers
- Uncrustified IDF addition related header/source files
- Reorganized functions into groups
- linker_common.lf updated to adhere to new function organization
2023-08-30 14:11:52 +08:00
Darian Leung a67e8c1972 refactor(freertos): Rename freertos_v8_compat.c to freertos_compatibility.c
Rename API compatibility file to be more general, and add a proper description.
2023-08-30 14:11:52 +08:00
Darian f1c71b75fa Merge branch 'refactor/freertos_task_snapshot_option' into 'master'
refactor(freertos): Remove option for Task Snapshot

See merge request espressif/esp-idf!25610
2023-08-29 14:19:55 +08:00
Darian Leung 6adcb64ad4 refactor(freertos): Uncrustify Task Snapshot header 2023-08-28 20:11:27 +08:00
Darian Leung 659ec67967 refactor(freertos): Remove option for Task Snapshot
Previously, Task Snapshot could be conditionally built based on the
CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT option. However, there is no overhead
with always enabling Task Snapshot functions, as the linker will remove any
functions if they are not called.

This commit...

- removes all ESP-IDF dependencies on the CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT
option so that Task Snapshot functions are always available.
- Makes CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT a hidden option to maintain
compatibility with user code.
- adds documentation regarding Task Snapshot.
2023-08-28 20:11:27 +08:00
Sudeep Mohanty fad94806ef change(freertos): Disable Amazon SMP FreeRTOS kernel for esp32p4
This commit disables building of the Amazon SMP FreeRTOS kernel for
esp32p4. Supported to be enabled in the future.
2023-08-28 10:26:13 +00:00
Sudeep Mohanty ec4cd2bb19 docs(freertos): Updated FreeRTOS documentation for ESP32-P4 2023-08-28 10:07:43 +08:00
Darian ede131ce73 Merge branch 'refactor/freertos_tslfcb_and_coproc_cleanup' into 'master'
refactor(freertos): Remove portCLEAN_UP_COPROC() and TLSP deletion callback kernel changes from IDF FreeRTOS

See merge request espressif/esp-idf!25481
2023-08-25 15:34:40 +08:00
Armando (Dou Yiwen) d4d6241db0 Merge branch 'feature/esp32p4_build_test' into 'master'
ci: enable ci build stage on esp32p4

Closes IDF-7524 and IDF-7525

See merge request espressif/esp-idf!25343
2023-08-25 13:35:20 +08:00
Marius Vikhammer e07023292a Merge branch 'feature/p4_spinlocks' into 'master'
esp32p4: support spinlocks

Closes IDF-7771

See merge request espressif/esp-idf!25036
2023-08-25 11:43:38 +08:00
Darian Leung 57eb41ce83 refactor(freertos): Call TLSP deletion callback from portCLEAN_UP_TCB()
Previously, TLSP deletion callbacks were...

- Stored in a seprate TCB member "pvThreadLocalStoragePointersDelCallback"
- Called separately via multipole prvDeleteTLS() insertions in tasks.c

This commit refactors how TLSP deletion callbacks are stored and called:

- TLSP deletion callbacks are now stored in "pvThreadLocalStoragePointers"
directly. configNUM_THREAD_LOCAL_STORAGE_POINTERS is doubled in size so that
the deletion callbacks are stored in the latter half of the array

- The callbacks are now called via "portCLEAN_UP_TCB()". As such, the
prvDeleteTLS() additions are no longer needed and the function can be removed

- Removed some legacy TLSP tests using the old method of storing the callback
pointers.

This commit reduces the source code diff between IDF FreeRTOS and upstream
vanilla FreeRTOS, in preparation for v10.5.1 upgrade.
2023-08-24 19:32:06 +08:00
Darian Leung 5f2443b7d1 refactor(freertos): Remove portCLEAN_UP_COPROC()
portCLEAN_UP_COPROC() was an IDF specific addition to FreeRTOS, where the
macro was called from prvDeleteTCB() to clean up the coprocessor context of a
deleted task.

This commit removes portCLEAN_UP_COPROC(). The coprocessor cleanup routine
(i.e., vPortCleanUpCoprocArea()) is now called via portCLEAN_UP_TCB()->
vPortTCBPreDeleteHook().

This removes a minor code difference between IDF FreeRTOS and upstream.
2023-08-24 19:32:06 +08:00
Armando dc9ddfc0d4 change(soc): added SOC_EFUSE_SUPPORTED 2023-08-24 12:51:20 +08:00
Armando 7dbd3f6909 feat(ci): Enable p4 example, test_apps and unit tests CI build 2023-08-24 12:51:19 +08:00
Marius Vikhammer 0d9f9e6816 feat(core-systems): add support for spinlock/compare and set on esp32p4 2023-08-24 10:30:25 +08:00
Darian Leung 39cf3638ae change(freertos): Deprecate usage of vPortCleanUpTCB() by applications
Previously, if CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP was enabled, users
would provide a definition for a vPortCleanUpTCB() hook function that is called
right before a task's memory is freed in prvDeleteTCB(). However,
vPortCleanUpTCB() will be reclaimed by ESP-IDF for internal use in v6.0.

This commit introduces the following changes...

Introduced a new CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK option:

- Provides the same pre-deletion hook functionality. But users now define
vTaskPreDeletionHook() instead.
- CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP still exists, but is marked as
deprecated. This is to maintain compatibility with existing applications
that already define vPortCleanUpTCB().
- Removed redundant --wl --wrap workaround with vPortCleanUpTCB()
- Added todo notes to remove support for user defined vPortCleanUpTCB()
completely in v6.0.
- Updated test cases to use new CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK option

Freed up portCLEAN_UP_TCB() to call a new internal vPortTCBPreDeleteHook():

- vPortTCBPreDeleteHook() now replaces the previous "wrapped" implementation
of vPortCleanUpTCB().
- vPortTCBPreDeleteHook() is an internal task pre-delete hook for IDF FreeRTOS
ports to inject some pre-deletion operations.
- Internal pre-delete hook now invokes user provided vTaskPreDeletionHook()
if enabled.
- Relocated vPortTCBPreDeleteHook() to correct section in port.c
2023-08-23 17:50:08 +08:00
Sudeep Mohanty 4e51c6b049 feat(freertos): Added changes for multi-core RISC-V port for FreeRTOS
This commit updates the FreeRTOS port layer for multi-core RISC-V targets.
2023-08-22 15:35:15 +08:00
Darian Leung 1620d97299 change(freertos): Optimized xTaskRemoveFromEventList()
This commit optimizes xTaskRemoveFromEventList() by removing the
listLIST_IS_EMPTY() check from single core builds. The scenario of the event
list being empty when the function is called can only occur on multi-core
builds.
2023-08-09 16:43:52 +08:00
Darian Leung 5947314431 fix(freertos): Fix vTaskRemoveFromUnorderedEventList()
This commit fixes and optimizes vTaskRemoveFromUnorderedEventList() in the
following ways:

- Fixed bug in single core builds where the unblocked task would be placed on
xPendingReadyList.
    - If an ISR occurs while accessing xPendingReadyList, and the ISR also
      accesses the xPendingReadyList, xPendingReadyList would be corrupted.
    - In single core builds, this function is only called from event groups with
      the scheduler suspended. Thus the function should have exclusive access to
      pxReadyTasksLists instead of xPendingReadyList.
    - The function's single core logic has now been updated to match upstream
      behavior, by always placing the unblocked task on pxReadyTasksLists.

- Optimized the function for single core builds by removing the
taskCAN_BE_SCHEDULED() check.
    - In single core builds, given that the function is always called with the
      scheduler suspended
    - Thus, the taskCAN_BE_SCHEDULED (and the subsequent routine to place the
      unblocked task on the xPendingReadyList) is not necessary for single core
      builds.
    - The function now matches upstream behavior in single core builds.

Closes https://github.com/espressif/esp-idf/issues/11883
2023-08-09 16:43:52 +08:00
Darian Leung fdcab76128 fix(freertos): taskCAN_BE_SCHEDULED macro parenthesis
This commit adds missing parenthesis around the taskCAN_BE_SCHEDULED macro so
that it can properly used with a negation operator.
2023-08-09 15:54:14 +08:00
Darian Leung 6fc935e584 refactor(freertos): Refactor usage of portBASE_TYPE to BaseType_t
portBASE_TYPE is an internal macro defined by the porting layer. This commit
changes all references to BaseType_t which is the official type exposed by
FreeRTOS.
2023-07-31 17:10:34 +02:00
Darian Leung 1e51387222 refactor(freertos): Refactor usage of portSTACK_TYPE to StackType_t
portSTACK_TYPE is an internal macro defined by the porting layer. This commit
changes all references to StackType_t which is the official type exposed by
FreeRTOS.
2023-07-31 16:59:41 +02:00
Alexey Lapshin 5f07ed87f6 Merge branch 'fix/esp32c2-gdbstub-runtime' into 'master'
fix(freertos): enable esp32c2 runtime-gdbstub

See merge request espressif/esp-idf!24858
2023-07-28 15:41:07 +08:00
Armando fd096c012d change(vector.S): port hw stack guard change to p4 2023-07-25 05:59:10 +00:00
Armando 5986e63c47 change(riscv): added fence after CLIC_INT_THRESH_REG is set 2023-07-25 05:59:10 +00:00
Armando 48ee1ba36e feat(freertos): base support on p4 2023-07-25 05:59:10 +00:00
Darian 2032c9029f Merge branch 'bugfix/freertos_1051_remove_croutine' into 'master'
FreeRTOS: Remove croutine.h from v10.5.1

See merge request espressif/esp-idf!24911
2023-07-24 10:35:20 +08:00
Zim Kalinowski 140f78b66d Merge branch 'bugfix/fixed-log-related-warning-in-freertos' into 'master'
fix(freertos): fixed log related warning

See merge request espressif/esp-idf!24725
2023-07-20 07:36:26 +08:00
Zim Kalinowski 72757bf68b fix(freertos): fixed log related warning 2023-07-20 06:22:36 +08:00
Darian Leung 0a77949477 fix(freertos): Removed croutine.h from v10.5.1
Remove croutine.h as is not supported in ESP-IDF
2023-07-19 23:09:19 +03:00
Alexey Lapshin 99ac68246e fix(freertos): enable esp32c2 runtime-gdbstub 2023-07-18 12:15:33 +04:00
Zim Kalinowski a2d76ad38a Merge branch 'feature/freertos-10.5.1-added-base-riscv-porting-layer' into 'master'
feat(freertos): added base risc-v porting layer to 10.5.1

See merge request espressif/esp-idf!24773
2023-07-18 03:24:10 +08:00
Zim Kalinowski ccf51a6263 feat(freertos): added base risc-v porting layer to 10.5.1
This commit adds the source files for the GCC RISC-V port of FreeRTOS V10.5.1.
Files copied from https://github.com/FreeRTOS/FreeRTOS-Kernel/tree/V10.5.1/portable/GCC/RISC-V
2023-07-17 18:59:16 +08:00
Zim Kalinowski 9fe9a9d7c6 feat(freertos): added static buffers support on the top on 10.5.1 (upstreamed) 2023-07-13 19:01:37 +08:00
Omar Chebib 2aee63a773 freertos: add a unit test for FPU context switch 2023-07-04 02:45:56 +00:00
Alexey Lapshin 4df3ff619e feat(esp_system): implement hw stack guard for riscv chips
- add hardware stack guard based on assist-debug module
- enable hardware stack guard by default
- disable hardware stack guard for freertos ci.release test
- refactor rtos_int_enter/rtos_int_exit to change SP register inside them
- fix panic_reason.h header for RISC-V
- update docs to include information about the new feature
2023-07-01 16:27:40 +00:00
KonstantinKondrashov 42fa005bf7 freertos: Fix Systick stuck when systimer was not reset
Relates to OTA update for C3 chips from IDF version 4.3 to v5.0 and above
2023-06-19 21:57:02 +08:00
Marius Vikhammer 6d11c37ff1 core-system: trim build components for core-system test apps 2023-06-13 09:14:42 +08:00
Marius Vikhammer bd4c0fca3c core-system: changed CONFIG_COMPILER_OPTIMIZATION_DEFAULT to CONFIG_COMPILER_OPTIMIZATION_DEBUG
DEBUG is more descriptive and is consistent with the name used in the bootloader:
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG

Closes https://github.com/espressif/esp-idf/issues/8404
2023-06-02 15:16:50 +08:00
wuzhenghui 388746ca31 Kconfig: add more help info for pm related options help 2023-05-29 16:35:03 +08:00
David Cermak a41d360842 freertos/linux: Fix use after scope exit in select() wrap 2023-05-15 10:28:54 +02:00
Darian 6281606986 Merge branch 'feature/freertos_add_v10.5.1_files' into 'master'
FreeRTOS: Add v10.5.1 upstream files

See merge request espressif/esp-idf!23502
2023-05-11 16:14:50 +08:00
Darian Leung d044e63b39 freertos(IDF): Update kernel version tag of V10.5.1 source files
This commit updates the kernel version tags of all V10.5.1 source files to
indicate that the source files are modified.
2023-05-10 16:58:57 +08:00
Darian Leung f76194add9 freertos(IDF): Add hidden build option for V10.5.1 kernel
This commit adds a "CONFIG_FREERTOS_USE_KERNEL_10_5_1" hidden option to enable
building of the v10.5.1 kernel for development/testing purposes. Currently
enabling this option will just cause CMake to error out.

Also added a markdown file to record the code changes made to the V10.5.1 source
when porting over SMP behavior.
2023-05-10 16:53:00 +08:00
Darian Leung 74f37f50ec freertos(IDF): Add upstream V10.5.1 files
This commit adds the source files for the FreeRTOS Kernel V10.5.1 in
preparation for upgrading ESP-IDF FreeRTOS Kernel version (files copied from
https://github.com/FreeRTOS/FreeRTOS-Kernel/tree/V10.5.1)

The following modifications were made to the files when copying

- Added "SPDX-FileCopyrightText" and "SPDX-FileContributor" tags to all files
  to pass ESP-IDF pre-commit checks.
- Left out some files unnecessary to ESP-IDF (e.g., URLs, "History.txt", and
"portable" folder).
2023-05-10 16:52:22 +08:00