]> begriffs open source - freertos/log
freertos
4 years agoAdds SemphrGetCountFromISR with QMsgWaitingFromISR (#345)
Raul Rojas [Wed, 9 Jun 2021 00:48:52 +0000 (20:48 -0400)]
Adds SemphrGetCountFromISR with QMsgWaitingFromISR (#345)

* Adds SemphrGetCountFromISR with QMsgWaitingFromISR

4 years agoNormalize files with mixed line endings (introduced in commit 3a413d1)
Paul Bartell [Tue, 1 Jun 2021 19:01:32 +0000 (12:01 -0700)]
Normalize files with mixed line endings (introduced in commit 3a413d1)

4 years ago[AUTO][RELEASE]: Bump task.h version macros to "10.4.4+"
paulbartell [Fri, 28 May 2021 23:03:08 +0000 (23:03 +0000)]
[AUTO][RELEASE]: Bump task.h version macros to "10.4.4+"

4 years agoAdd history.txt for the 10.4.4 release (#336)
Joseph Julicher [Fri, 28 May 2021 22:48:53 +0000 (15:48 -0700)]
Add history.txt for the 10.4.4 release (#336)

* updated history.txt for 10.4.4

* Update the release date in History.txt

* added link to SMP branch to History.txt

* Added comment explaining the + in the version string

* corrected typos in the + comment

Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
Co-authored-by: Paul Bartell <pbartell@amazon.com>
4 years agoUpdate github Auto-Release workflow to add an option to set the main branch version...
Paul Bartell [Fri, 28 May 2021 14:23:29 +0000 (07:23 -0700)]
Update github Auto-Release workflow to add an option to set the main branch version in task.h (#337)

Adding text into this new field updates the following macros in task.h in the main branch:
tskKERNEL_VERSION_NUMBER (alphanumeric string)
tskKERNEL_VERSION_MAJOR (numeric only)
tskKERNEL_VERSION_MINOR (numeric only)
tskKERNEL_VERSION_BUILD (numeric only)

4 years agoAdd license header to wait_for_event.c and wait_for_event.h
Paul Bartell [Thu, 27 May 2021 02:49:05 +0000 (19:49 -0700)]
Add license header to wait_for_event.c and wait_for_event.h

4 years agoCleanup license text in Xtensa XCC and Xtensa ESP32 GCC ports.
Paul Bartell [Thu, 27 May 2021 02:47:29 +0000 (19:47 -0700)]
Cleanup license text in Xtensa XCC and Xtensa ESP32 GCC ports.
Add SPXD license identifiers.

4 years agoAdd SPDX and MIT to lexicon
Paul Bartell [Wed, 26 May 2021 23:41:28 +0000 (16:41 -0700)]
Add SPDX and MIT to lexicon

4 years agoAdd SPDX-License-Identifier: MIT to MIT licensed files.
Paul Bartell [Wed, 26 May 2021 23:16:27 +0000 (16:16 -0700)]
Add SPDX-License-Identifier: MIT to MIT licensed files.

4 years agoUpdate license text for ports that were previously missed.
Paul Bartell [Wed, 26 May 2021 22:28:31 +0000 (15:28 -0700)]
Update license text for ports that were previously missed.

4 years agoRemove "1 tab == 4 spaces!" line from files that still contain it.
Paul Bartell [Wed, 26 May 2021 06:06:40 +0000 (23:06 -0700)]
Remove "1 tab == 4 spaces!" line from files that still contain it.

4 years agoUpdate tskKERNEL_VERSION_NUMBER and tskKERNEL_VERSION_BUILD to V10.4.999 to denote...
Paul Bartell [Wed, 26 May 2021 04:52:40 +0000 (21:52 -0700)]
Update tskKERNEL_VERSION_NUMBER and tskKERNEL_VERSION_BUILD to V10.4.999 to denote the development branch

4 years agoUpdate kernel_checker.py with new version and copyright date.
Paul Bartell [Wed, 26 May 2021 04:47:55 +0000 (21:47 -0700)]
Update kernel_checker.py with new version and copyright date.
Update kernel_checker.py to handle assembly and python files

4 years agoUpdate copyright year from 2020 to 2021
Paul Bartell [Wed, 26 May 2021 04:46:15 +0000 (21:46 -0700)]
Update copyright year from 2020 to 2021

4 years agoChange kernel revision in each file header from V10.4.3 to <DEVELOPMENT BRANCH>
Paul Bartell [Wed, 26 May 2021 04:44:10 +0000 (21:44 -0700)]
Change kernel revision in each file header from V10.4.3 to <DEVELOPMENT BRANCH>

4 years agoqueue.c: Change some asserts into conditionals and improve overflow checks (#328)
Dan Good [Thu, 27 May 2021 23:17:59 +0000 (19:17 -0400)]
queue.c: Change some asserts into conditionals and improve overflow checks (#328)

4 years agoCode: Fix stream buffer warning (#335)
alfred gedeon [Thu, 27 May 2021 16:11:35 +0000 (09:11 -0700)]
Code: Fix stream buffer warning (#335)

4 years agodeprecating the mcf5235 port (#334)
Joseph Julicher [Wed, 26 May 2021 23:26:19 +0000 (16:26 -0700)]
deprecating the mcf5235 port (#334)

4 years agoWrap macros in do { ... } while( 0 ) (#240)
j4cbo [Mon, 24 May 2021 21:41:58 +0000 (14:41 -0700)]
Wrap macros in do { ... } while( 0 ) (#240)

4 years agoPosix: fix copyright (#250)
Evgeny Ermakov [Wed, 21 Apr 2021 23:08:46 +0000 (19:08 -0400)]
Posix: fix copyright (#250)

4 years agoCreate macro versions of uxListRemove() and vListInsertEnd() for use in xTaskIncremen...
RichardBarry [Mon, 19 Apr 2021 21:16:10 +0000 (14:16 -0700)]
Create macro versions of uxListRemove() and vListInsertEnd() for use in xTaskIncrementTick().  This provides a minor optimisation to remove the need for a few function calls. (#241)

Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
4 years agoFix regression in vQueueAddToRegistry. (#315)
Paul Bartell [Mon, 19 Apr 2021 18:20:23 +0000 (11:20 -0700)]
Fix regression in vQueueAddToRegistry. (#315)

4 years ago[kernel & MemMang] use space to replace tab and remove meaningless space in the end...
Meco Jianting Man [Mon, 19 Apr 2021 16:58:55 +0000 (00:58 +0800)]
[kernel & MemMang] use space to replace tab and remove meaningless space in the end of each line (#314)

Signed-off-by: Meco Man <920369182@qq.com>
Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
4 years agoReplace configASSERT( pcQueueName ) in vQueueAddToRegistry with a NULL pointer check...
Paul Bartell [Sat, 17 Apr 2021 16:57:16 +0000 (09:57 -0700)]
Replace configASSERT( pcQueueName ) in vQueueAddToRegistry with a NULL pointer check. (#313)

* Replace configASSERT( pcQueueName ) in vQueueAddToRegistry with a NULL pointer check.

Fixes FreeRTOS/FreeRTOS-Kernel#311

* Make NULL checks consistent.

4 years agosimplify and beautify portBYTE_ALIGNMENT (#309)
Meco Jianting Man [Wed, 14 Apr 2021 14:46:46 +0000 (22:46 +0800)]
simplify and beautify portBYTE_ALIGNMENT (#309)

4 years agoRemove support for tmrCOMMAND_START_DONT_TRACE (#305)
Jeff Tenney [Tue, 13 Apr 2021 18:05:46 +0000 (11:05 -0700)]
Remove support for tmrCOMMAND_START_DONT_TRACE (#305)

* Remove support for tmrCOMMAND_START_DONT_TRACE

Prior to this commit, the timer task used tmrCOMMAND_START_DONT_TRACE
to reload a "backlogged" auto-reload timer -- one for which a reload
operation would have started a period that had already elapsed.  If the
command queue contained a stop or delete command when
tmrCOMMAND_START_DONT_TRACE was put into the queue for a reload, the
timer unexpectedly restarted when the timer task processed
tmrCOMMAND_START_DONT_TRACE.  This commit implements a new method of
reloading auto-reload timers and eliminates support for
tmrCOMMAND_START_DONT_TRACE.  No other code sends this private command.

However, the symbol tmrCOMMAND_START_DONT_TRACE remains defined, with
its original command value, so as not to impact trace applications.

Also fix one-shot timers that were not reliably being marked as not
active:
- when they expired before the start command could be processed
- when the expiration was processed during the timer list switch

Also improve consistency:
- Always reload auto-reload timers *before* calling the callback.
- Always call traceTIMER_EXPIRED() just prior to the callback.

* fix indent

* Revert unnecessary change to prvTimerTask()

Change was intended to faithfully work through a backlog that spanned a
list switch, and before processing a stop or delete command.  But, (1)
it isn't important to do that, and (2) the code didn't accomplish the
intention when *two* auto-reload timers were backlogged across a list
switch.  Best to simply leave this part of the code as it was before.

* fix style

Co-authored-by: Joseph Julicher <jjulicher@mac.com>
4 years agoOverwrite existing QueueRegistry entries when a handle is added multiple times. ...
Paul Bartell [Sat, 10 Apr 2021 00:06:58 +0000 (17:06 -0700)]
Overwrite existing QueueRegistry entries when a handle is added multiple times. (#306)

Overwrite an existing entry for a given xQueue handle when vQueueAddToRegistry is called with an xQueue handle of a queue that is already in the QueueRegistry.

4 years agoUpdate parent repository primary branch name from "master" to "main". (#304)
Paul Bartell [Fri, 9 Apr 2021 16:42:35 +0000 (09:42 -0700)]
Update parent repository primary branch name from "master" to "main". (#304)

4 years agoCode cleanup (#288)
carlo-dev-git [Wed, 7 Apr 2021 21:19:31 +0000 (23:19 +0200)]
Code cleanup (#288)

* Update port.c

* Code cleanup

Misc coding style cleanup and typo fixes

* Fix ASM style

Fix ASM style

* Fix header check

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Carl Lundin <53273776+lundinc2@users.noreply.github.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
4 years agoDefine default values of macros before first use (#298)
Gaurav-Aggarwal-AWS [Fri, 2 Apr 2021 14:35:52 +0000 (07:35 -0700)]
Define default values of macros before first use (#298)

configSTACK_ALLOCATION_FROM_SEPARATE_HEAP was added recently in
https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/267. This macro was
used in portable.h before its default value was defined, resulting in a
warning when built with -Wundef. This changes moves the default value
definition for configSTACK_ALLOCATION_FROM_SEPARATE_HEAP to portable.h
to ensure that it is defined before first use.

portUSING_MPU_WRAPPERS check in mpu_wrappers.h was updated in
https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/285. The new check
results in a warning when built with -Wundef because
portUSING_MPU_WRAPPERS is not defined yet. This changes adds the default
value definition for portUSING_MPU_WRAPPERS to portable.h to ensure that
it is defined before first use.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
4 years agoCheck NULL pointer input for vEventGroupDelete. (#293)
Ming Yue [Thu, 25 Mar 2021 22:57:42 +0000 (15:57 -0700)]
Check NULL pointer input for vEventGroupDelete. (#293)

* Check NULL pointer input for vEventGroupDelete.

* Change the input parameter check with assertion.

Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
4 years agoFix comments in list.h and clarify list usage in xTaskRemoveFromEventList (#289)
Paul Bartell [Thu, 25 Mar 2021 19:39:08 +0000 (12:39 -0700)]
Fix comments in list.h and clarify list usage in xTaskRemoveFromEventList (#289)

* Change instances of "descending" to "ascending" to match implementation.

* Uncrustify

* Clarify list usage in xTaskRemoveFromEventList

4 years agoAdd assert to catch invalid task priority (#292)
Gaurav-Aggarwal-AWS [Thu, 25 Mar 2021 00:04:20 +0000 (17:04 -0700)]
Add assert to catch invalid task priority (#292)

* Add assert to catch invalid task priority

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
4 years agoBuild the posix port on pushes and PRs to the Kernel repository (#290)
Paul Bartell [Tue, 23 Mar 2021 17:33:47 +0000 (10:33 -0700)]
Build the posix port on pushes and PRs to the Kernel repository (#290)

* Run posix build action when new commits are pushed to the FreeRTOS/Kernel repository

* Run kernel unit tests on push and pull_request actions

4 years agoCode: Remove redundant check (#287)
alfred gedeon [Sun, 21 Mar 2021 16:03:38 +0000 (09:03 -0700)]
Code: Remove redundant check (#287)

4 years agoFix error introduced when merging #264. (#286)
RichardBarry [Sat, 20 Mar 2021 19:59:51 +0000 (12:59 -0700)]
Fix error introduced when merging #264. (#286)

4 years agoFix race condition bugs when reading and writing to message buffers (#264)
milesfrain [Sat, 20 Mar 2021 19:03:27 +0000 (12:03 -0700)]
Fix race condition bugs when reading and writing to message buffers (#264)

* Fix inaccuracies in prvWriteBytesToBuffer description

* Perform atomic message write in prvWriteMessageToBuffer

* Remove unnecessary length arg from prvReadMessageFromBuffer

* Perform atomic message read in prvReadBytesFromBuffer

* Apply SpacesAvailable() fix

Original author: RichardBarry

* Apply review feedback

* Edit some prv functions for simplicity and consistency

- prvWriteMessageToBuffer
- prvReadMessageFromBuffer
- prvWriteBytesToBuffer
- prvReadBytesFromBuffer

* Significant simplification of prvWriteMessageToBuffer

* fixup off-by-one comment indentation

Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
Co-authored-by: RichardBarry <3073890+RichardBarry@users.noreply.github.com>
4 years agoA recent change in the FreeRTOS/FreeRTOS hub repo (which submodules this repo) introd...
RichardBarry [Sat, 20 Mar 2021 18:58:07 +0000 (11:58 -0700)]
A recent change in the FreeRTOS/FreeRTOS hub repo (which submodules this repo) introduced use of a new compile time constant configRUN_ADDITIONAL_TESTS.  This check in adds a default for the constant that will be used in builds to which it does not apply. (#266)

4 years agoFix: testing for mpu wrapers to be equal to 1 (#285)
alfred gedeon [Sat, 20 Mar 2021 00:44:12 +0000 (17:44 -0700)]
Fix: testing for mpu wrapers to be equal to 1 (#285)

4 years agoAdjust portPOINTER_SIZE_TYPE to correct size (#275)
Tobias Schulte [Fri, 19 Mar 2021 22:35:21 +0000 (23:35 +0100)]
Adjust portPOINTER_SIZE_TYPE to correct size (#275)

* Adjust portPOINTER_SIZE_TYPE to correct size

portPOINTER_SIZE_TYPE wasn't yet set correctly to be 16 bit

* Fixed FreeRTOS file header to comply with automatic checks

Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
4 years agoUpdate port.c (#283)
carlo-dev-git [Fri, 19 Mar 2021 22:22:22 +0000 (23:22 +0100)]
Update port.c (#283)

4 years agoComment: xTaskResumeAll: comment: doesn't match the code (#281)
alfred gedeon [Fri, 19 Mar 2021 17:36:17 +0000 (10:36 -0700)]
Comment: xTaskResumeAll: comment: doesn't match the code (#281)

4 years agoRun CMock unit tests on each pull request with a github action. (#279)
Paul Bartell [Wed, 17 Mar 2021 01:31:37 +0000 (18:31 -0700)]
Run CMock unit tests on each pull request with a github action. (#279)

Run CMock unit tests on each pull request with a github action.
Include coverage information reported by codecov.io

4 years agoImprove comments and assertions in stream buffer (#277)
Ravishankar Bhagavandas [Tue, 16 Mar 2021 01:01:42 +0000 (18:01 -0700)]
Improve comments and assertions in stream buffer (#277)

* Improve comments and assertions in stream buffer

* Add back null check instead of assert

* Adding config assert back

4 years agoUpdate comment in list.c (#276)
Gaurav-Aggarwal-AWS [Fri, 12 Mar 2021 20:11:19 +0000 (12:11 -0800)]
Update comment in list.c (#276)

The tick interrupt priority must be configured to ensure that it cannot
interrupt a critical section. This change updates the comment to help
the application writer while debugging.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
4 years agoAdd some assertions and coverage exceptions to queue.c (#273)
Paul Bartell [Sat, 6 Mar 2021 02:46:49 +0000 (18:46 -0800)]
Add some assertions and coverage exceptions to queue.c (#273)

* Add an LCOV_BRANCH exception for the check that sizeof( StaticQueue_t ) == sizeof( Queue_t )
* Add LCOV_BRANCH coverage exception for a configASSERT on pxQueueSetContainer with a condition that is unreachable.
* Add configASSERTs to alert when invalid parameters are passed into Queue Registry related functions.
* Assert that the semaphore handle passed into xQueueGetMutexHolder is not NULL.
* Correct some typos in queue.c
* Update lexicon.txt

4 years agoMoved git-secrets check to a different workflow (#271)
xuelix [Fri, 5 Mar 2021 22:00:57 +0000 (22:00 +0000)]
Moved git-secrets check to a different workflow (#271)

git-secrets check is now performed on all PR branches

4 years agoComment: fix code comment for xTaskAbortDelay (#272)
alfred gedeon [Fri, 5 Mar 2021 17:13:03 +0000 (09:13 -0800)]
Comment: fix code comment for xTaskAbortDelay (#272)

4 years agoAdded git-secrets check to Github Actions (#270)
xuelix [Thu, 4 Mar 2021 21:00:22 +0000 (21:00 +0000)]
Added git-secrets check to Github Actions (#270)

Co-authored-by: Gary Wicker <14828980+gkwicker@users.noreply.github.com>
4 years agofixed documentation for ulTaskNotifyTake() and ulTaskNotifyTakeIndexed() (#269)
Joseph Julicher [Wed, 3 Mar 2021 17:38:12 +0000 (10:38 -0700)]
fixed documentation for ulTaskNotifyTake() and ulTaskNotifyTakeIndexed() (#269)

4 years agoAdd description for vTaskList (#206)
gomonovych [Tue, 2 Mar 2021 01:10:00 +0000 (02:10 +0100)]
Add description for vTaskList (#206)

Describe each column which vTaskList print:
task name, task status, task priority, task stack unused watermark lewel, task number

Co-authored-by: David Chalco <59750547+dachalco@users.noreply.github.com>
4 years agoSupport allocating stack from separate heap (#267)
Gaurav-Aggarwal-AWS [Wed, 24 Feb 2021 02:36:27 +0000 (18:36 -0800)]
Support allocating stack from separate heap (#267)

The change adds support for allocating task stacks from separate heap.
When configSTACK_ALLOCATION_FROM_SEPARATE_HEAP is defined as 1 in
FreeRTOSConfig.h, task stacks are allocated and freed using
pvPortMallocStack and vPortFreeStack functions. This allows the
application writer to provide a separate allocator for task stacks.

When configSTACK_ALLOCATION_FROM_SEPARATE_HEAP is defined as 0, task
stacks are allocated and freed using FreeRTOS heap functions
pvPortMalloc and vPortFree.

For backward compatibility, configSTACK_ALLOCATION_FROM_SEPARATE_HEAP
defaults to 0.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
4 years agoUpdate python version to 3.7.10 (#265)
Carl Lundin [Fri, 19 Feb 2021 02:48:11 +0000 (18:48 -0800)]
Update python version to 3.7.10 (#265)

4 years agoUpdate URL in history.txt (#259)
Jeff Tenney [Mon, 15 Feb 2021 22:00:20 +0000 (15:00 -0700)]
Update URL in history.txt (#259)

* Update URL in history.txt

* Configure CI header checker to ignore .txt files

Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
4 years agoRemove unmatched braces in MessageBuffer pre tags (#256)
milesfrain [Thu, 11 Feb 2021 05:41:05 +0000 (21:41 -0800)]
Remove unmatched braces in MessageBuffer pre tags (#256)

Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
4 years agoCheck: improve verbosity of url verifier (#260)
alfred gedeon [Thu, 11 Feb 2021 00:04:08 +0000 (16:04 -0800)]
Check: improve verbosity of url verifier (#260)

* Check: improve verbosity of url verifier

* Fix Renesas url

* Fix Renesas url

* URL add Renesas full url

* Fix more Renesas URLs

* Fix Renesas url in IAR directory

* Testing new curl command for url checks

* Fix url_checker

* Fix url_verifier

* Revert Renesas url changes

* add txt to the ignored header checker extentions

4 years agoUpdate issue templates
Cobus van Eeden [Wed, 10 Feb 2021 23:27:16 +0000 (15:27 -0800)]
Update issue templates

4 years agoincorporate updates from common (#255)
David Chalco [Sat, 30 Jan 2021 02:58:55 +0000 (18:58 -0800)]
incorporate updates from common (#255)

* incorporate updates from common

* empty commit to rerun check

4 years agoTypos (#248)
nazar01 [Fri, 29 Jan 2021 20:05:04 +0000 (23:05 +0300)]
Typos (#248)

* Fix typos in FreeRTOS.h

* Fix typos in task.h

* Fix typos in tasks.c

4 years agoDelete gitattributes (#253)
David Chalco [Wed, 27 Jan 2021 17:38:20 +0000 (09:38 -0800)]
Delete gitattributes (#253)

4 years agoFix typo in comment in task.h (#244)
Evgeny Ermakov [Wed, 20 Jan 2021 02:55:34 +0000 (21:55 -0500)]
Fix typo in comment in task.h (#244)

4 years agoFix Github checks after move from master to main (#246)
alfred gedeon [Tue, 19 Jan 2021 23:32:01 +0000 (15:32 -0800)]
Fix Github checks after move from master to main (#246)

4 years agoAdd git attributes (#245)
David Chalco [Fri, 15 Jan 2021 19:04:31 +0000 (11:04 -0800)]
Add git attributes (#245)

* Add .gitattributes configured to normailze line endings to LF

* replace crlf with lf, per .gitattributes

4 years agoPosix: fix build failure (#235)
Thomas Pedersen [Fri, 8 Jan 2021 22:19:15 +0000 (14:19 -0800)]
Posix: fix build failure (#235)

Fixes: a48f137896b9 ("Posix Port: Comment and remove unused variables (#230)")
Authored-by: Thomas Pedersen <thomas@adapt-ip.com>
5 years agoUpdate ESP32 port to ESP-IDF release v4.2 and add ESP-IDF version check (#231)
Shubham Kulkarni [Tue, 22 Dec 2020 21:00:45 +0000 (02:30 +0530)]
Update ESP32 port to ESP-IDF release v4.2 and add ESP-IDF version check (#231)

* Revert "Reintroduce Espressif's IDF v4.2 changes to ESP32 port (#193)"

This reverts commit 3d4d17178fe70621e129ec564494f823ef0253dd.

* Update ESP32 port files to work with ESP-IDF v4.2 as well as ESP-IDF v3.3

Add changes required to support ESP32-S2

* portmacro.h: Change return type of vApplicationSleep to void

This fixes build failure when automatic light sleep is enabled

* prevent header checks for files with different licensing

Co-authored-by: David Chalco <david@chalco.io>
5 years agoupdate version in version checker (#239)
David Chalco [Tue, 22 Dec 2020 20:57:39 +0000 (12:57 -0800)]
update version in version checker (#239)

5 years agoAutoRelease + Header Checker Upgrades (#236)
David Chalco [Tue, 22 Dec 2020 18:06:59 +0000 (10:06 -0800)]
AutoRelease + Header Checker Upgrades (#236)

* decouple kernel check configs from fr/fr + checker sources from PR ref

* Combo of various small edits

* enable compatibility with git action + create autorelease action

5 years agoAlign the TF-M version of the integration with kernel to version TF-Mv1.2.0 (#228)
sherryzhang [Tue, 15 Dec 2020 17:17:20 +0000 (01:17 +0800)]
Align the TF-M version of the integration with kernel to version TF-Mv1.2.0 (#228)

Change-Id: I6d5f0732f4cb123df54b9df0b9820ef4dcf70fa4
Signed-off-by: Sherry Zhang <sherry.zhang2@arm.com>
5 years agoUpdate History.txt V10.4.3
Cobus van Eeden [Tue, 15 Dec 2020 15:18:49 +0000 (07:18 -0800)]
Update History.txt

5 years agoUpdated History.txt for V10.4.3 (#233)
Joseph Julicher [Tue, 15 Dec 2020 14:51:11 +0000 (07:51 -0700)]
Updated History.txt for V10.4.3 (#233)

5 years ago[AUTO][RELEASE]: Bump task.h version macros to "10.4.3"
Cobus van Eeden [Mon, 14 Dec 2020 18:13:41 +0000 (10:13 -0800)]
[AUTO][RELEASE]: Bump task.h version macros to "10.4.3"

5 years ago[AUTO][RELEASE]: Bump file header version to "10.4.3"
Cobus van Eeden [Mon, 14 Dec 2020 18:13:39 +0000 (10:13 -0800)]
[AUTO][RELEASE]: Bump file header version to "10.4.3"

5 years agoUpdated History.txt for V10.4.3 (#232)
Joseph Julicher [Mon, 14 Dec 2020 18:10:55 +0000 (11:10 -0700)]
Updated History.txt for V10.4.3 (#232)

5 years agoPosix Port: Comment and remove unused variables (#230)
alfred gedeon [Mon, 14 Dec 2020 01:33:45 +0000 (17:33 -0800)]
Posix Port: Comment and remove unused variables (#230)

* Posix Port: Comment and remove unused variables
* Fix header, replace tabs with spaces

5 years agoadd assert for addition overflow on queue creation (#225)
Cobus van Eeden [Mon, 7 Dec 2020 19:48:51 +0000 (11:48 -0800)]
add assert for addition overflow on queue creation (#225)

5 years agoAdd addition overflow check for stream buffer (#226)
Cobus van Eeden [Mon, 7 Dec 2020 19:07:31 +0000 (11:07 -0800)]
Add addition overflow check for stream buffer (#226)

5 years agoImprove heap2 bounds checking (#224)
Cobus van Eeden [Mon, 7 Dec 2020 18:36:27 +0000 (10:36 -0800)]
Improve heap2 bounds checking (#224)

* Improve heap bounds checking in pvPortMalloc

5 years agoPrevent unprivileged task from altering MPU configuration (#227)
Gaurav-Aggarwal-AWS [Mon, 7 Dec 2020 17:53:22 +0000 (09:53 -0800)]
Prevent unprivileged task from altering MPU configuration (#227)

This change removes the FreeRTOS System Calls (aka MPU wrappers) for the
following kernel APIs:
- xTaskCreateRestricted
- xTaskCreateRestrictedStatic
- vTaskAllocateMPURegions

A system call allows an unprivileged task to execute a kernel API which
is otherwise accessible to privileged software only. The above 3 APIs
can create a new task with a different MPU configuration or alter the
MPU configuration of an existing task. This an be (mis)used by an
unprivileged task to grant itself access to a region which it does not
have access to.

Removing the system calls for these APIs ensures that an unprivileged
task cannot execute this APIs. If an unprivileged task attempts to
execute any of these API, it will result in a Memory Fault.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
5 years agoUpdate branch of c-sdk repo to main (#223)
Gaurav-Aggarwal-AWS [Wed, 2 Dec 2020 22:12:16 +0000 (14:12 -0800)]
Update branch of c-sdk repo to main (#223)

Also add missing apostrophe to stdint.readme

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
5 years agoAdd kernel header check workflow (#219)
David Chalco [Tue, 17 Nov 2020 23:40:10 +0000 (15:40 -0800)]
Add kernel header check workflow (#219)

5 years ago[AUTO][RELEASE]: Bump task.h version macros to "10.4.2" V10.4.2
David Chalco [Tue, 10 Nov 2020 22:42:58 +0000 (14:42 -0800)]
[AUTO][RELEASE]: Bump task.h version macros to "10.4.2"

5 years ago[AUTO][RELEASE]: Bump file header version to "10.4.2"
David Chalco [Tue, 10 Nov 2020 22:42:58 +0000 (14:42 -0800)]
[AUTO][RELEASE]: Bump file header version to "10.4.2"

5 years agoUpdate release date (#217)
David Chalco [Mon, 9 Nov 2020 23:46:02 +0000 (15:46 -0800)]
Update release date (#217)

5 years agoUpdate History.txt for 10.4.2 (#216)
David Chalco [Mon, 9 Nov 2020 16:37:54 +0000 (08:37 -0800)]
Update History.txt for 10.4.2 (#216)

* Update History.txt for 10.4.2

* Update History.txt

Co-authored-by: RichardBarry <3073890+RichardBarry@users.noreply.github.com>
5 years agoEnsure interrupts are enabled at first task start (#214)
Gaurav-Aggarwal-AWS [Thu, 5 Nov 2020 17:26:56 +0000 (09:26 -0800)]
Ensure interrupts are enabled at first task start (#214)

Critical sections in FreeRTOS are implemented using the following two
functions:

void vPortEnterCritical( void )
{
    portDISABLE_INTERRUPTS();
    uxCriticalNesting++;
}

void vPortExitCritical( void )
{
    uxCriticalNesting--;

    if( uxCriticalNesting == 0 )
    {
        portENABLE_INTERRUPTS();
    }
}

uxCriticalNesting is initialized to a large value at the start and set
to zero when the scheduler is started (xPortStartScheduler). As a
result, before the scheduler is started, a pair of enter/exit critical
section will leave the interrupts disabled because uxCriticalNesting
will not reach zero in the vPortExitCritical function. This is done to
ensure that the interrupts remain disabled from the time first FreeRTOS
API is called to the time when the scheduler is started. The scheduler
starting code is expected to enure that interrupts are enabled before
the first task starts executing.

Cortex-M33 ports were not enabling interrupts before starting the first
task and as a result, the first task was started with interrupts
disabled. This PR fixes the issue by ensuring that interrupts are
enabled before the first task is started.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
5 years agoporthardware.h file update for AVR Mega0 and Dx (#212)
filipgeorge [Tue, 27 Oct 2020 19:26:52 +0000 (21:26 +0200)]
porthardware.h file update for AVR Mega0 and Dx (#212)

* Added guard for ioavr.h include in AVR Dx porthardware.h file.
* Added guard for ioavr.h include in AVR Mega0 porthardware.h file.

5 years agoUpstream stack masking fix to GCC ports. (#210)
Carl Lundin [Tue, 27 Oct 2020 18:32:09 +0000 (11:32 -0700)]
Upstream stack masking fix to GCC ports. (#210)

Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
5 years agoupdate interrupt vector names for ATMega32 (#196)
Jon Snow [Mon, 26 Oct 2020 20:31:15 +0000 (16:31 -0400)]
update interrupt vector names for ATMega32 (#196)

5 years agoAdded CODEOWNERS file (#209)
Cobus van Eeden [Mon, 26 Oct 2020 20:24:55 +0000 (13:24 -0700)]
Added CODEOWNERS file (#209)

5 years agoXtensa: fix the coproc_area incorrect issue (#117)
magicse7en [Mon, 26 Oct 2020 18:47:21 +0000 (02:47 +0800)]
Xtensa: fix the coproc_area incorrect issue (#117)

* Xtensa: fix the coproc_area incorrect issue

foss-xtensa/amazon-freertos#2 mentioned a issue:
1.
In function pxPortInitialiseStack(StackType_t *pxTopOfStack....)
p = (uint32_t *)(((uint32_t) pxTopOfStack - XT_CP_SIZE) & ~0xf);

In function prvInitialiseNewTask (file: task.c)
pxTopOfStack = (pxStack + (ulStackDepth - 1)) & (~portBYTE_ALIGNMENT_MASK)

So the co-processor area is at
p = (uint32_t *)(((uint32_t)((pxStack + (ulStackDepth - 1)) & (~portBYTE_ALIGNMENT_MASK)) - XT_CP_SIZE) & ~0xf);

2.
In function vPortStoreTaskMPUSettings( .... , StackType_t pxBottomOfStack ...)
xMPUSettings->coproc_area = (StackType_t)((((uint32_t)(pxBottomOfStack + usStackDepth - 1)) - XT_CP_SIZE) & ~0xf);

pxBottomOfStack = pxStack

=> xMPUSettings->coproc_area = (StackType_t*)((((uint32_t)(pxStack+ ulStackDepth - 1)) - XT_CP_SIZE ) & ~0xf);

The p is coproc_area that should be equal to xMPUSettings->coproc_area.

For example, assume pxStack is 0xa0000000, ulStackDepth is 0x2000,
portBYTE_ALIGNMENT_MASK is 0x7f, XT_CP_SIZE is 0x100.

The p = (uint32_t)(((uint32_t)((pxStack + (ulStackDepth - 1)) & (~portBYTE_ALIGNMENT_MASK)) - XT_CP_SIZE) & ~0xf)
      = 0xa0001e80
The xMPUSettings->coproc_area = (StackType_t)((((uint32_t)(pxStack+ usStackDepth - 1)) - XT_CP_SIZE ) & ~0xf)
                              = 0xa0001ef0
Obviously, the p is not equal to the xMPUSettings->coproc_area, which will cause context switching error.

Signed-off-by: magicse7en <magicse7en@outlook.com>
* Update port.c

Co-authored-by: Carl Lundin <53273776+lundinc2@users.noreply.github.com>
5 years agoXtensa: fix stack overlap coproc_area issue (#118)
magicse7en [Mon, 26 Oct 2020 18:07:32 +0000 (02:07 +0800)]
Xtensa: fix stack overlap coproc_area issue (#118)

In function pxPortInitialiseStack of port.c:
sp = ( StackType_t * ) ( ( ( UBaseType_t ) ( pxTopOfStack + 1 )  - XT_CP_SIZE - XT_STK_FRMSZ ) & ~0xf );
We assume XT_CP_SIZE is 0xE4, XT_STK_FRMSZ is 0xA0, pxTopOfStack is 0xA0000000, sp is 0x9FFFFE80.
From port.c, we know the frame->a1 as below:
frame->a1 = ( UBaseType_t ) sp + XT_STK_FRMSZ;  /* physical top of stack frame    */
So frame->a1 is 0x9FFFFF20. Therefore the interrupt stack frame range is 0x9FFFFE80 ~ 0x9FFFFF20.

The coproc_area is: p = ( uint32_t * ) ( ( ( uint32_t ) pxTopOfStack - XT_CP_SIZE ) & ~0xf );
So its value is 0x9FFFFF10. Obviously, the interrupt stack frame overlaps the coproc_area.

Co-authored-by: Carl Lundin <53273776+lundinc2@users.noreply.github.com>
5 years agoFix: Pass lexicon.txt as a parameter (#208)
alfred gedeon [Fri, 23 Oct 2020 18:33:41 +0000 (11:33 -0700)]
Fix: Pass lexicon.txt as a parameter (#208)

* Fix: pass lexicon.txt as a parameter

* Fix lexicon location

5 years agoFix missed yield in xTaskResumeFromISR (#207)
Gaurav-Aggarwal-AWS [Fri, 23 Oct 2020 00:09:35 +0000 (17:09 -0700)]
Fix missed yield in xTaskResumeFromISR (#207)

If a higher priority task than the currently running task was resumed
using xTaskResumeFromISR and the user chose to ignore the return value
of xTaskResumeFromISR to initiate a context switch using
portYIELD_FROM_ISR, we were not doing the context switch on the next run
of the scheduler. This change fixes this by marking a yield as pending
to ensure that the context switch is performed on the next run of the
scheduler.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
5 years agoMove markdown files and lexicon into .github directory (#205)
alfred gedeon [Thu, 22 Oct 2020 01:40:43 +0000 (18:40 -0700)]
Move markdown files and lexicon into .github directory (#205)

* Move markdown files and lexicon into .github directory

5 years agoFix: C++ compiler warning (#203)
alfred gedeon [Tue, 20 Oct 2020 22:37:14 +0000 (15:37 -0700)]
Fix: C++ compiler warning (#203)

5 years agoRecently vTaskDelayUntil() was updated to xTaskDelayUntil() because the function...
RichardBarry [Sun, 11 Oct 2020 21:04:49 +0000 (14:04 -0700)]
Recently vTaskDelayUntil() was updated to xTaskDelayUntil() because the function now returns a value.  The PR didn't make the same change in the MPU port, or update the constants required to include the xTaskDelayUntil() function in the build. (#199)

This PR:
Changes the INCLUDE_vTaskDelayUntil compile time constant to INCLUDE_xTaskDelayUntil.
Updates FreeRTOS.h to ensure backward compatibility for projects that already have INCLUDE_vTaskDelayUntil defined.
Updates the MPU prototypes, wrapper and implementation to use the updated xTaskDelayUntil() function.

Tests to be checked into the FreeRTOS/FreeRTOS repository after this PR.

5 years agoxStreamBufferSend() caps the maximum amount of data a stream buffer can send to the...
RichardBarry [Sun, 11 Oct 2020 04:47:54 +0000 (21:47 -0700)]
xStreamBufferSend() caps the maximum amount of data a stream buffer can send to the maximum capacity of the buffer - however the value to which the length is capped was wrong, and is correct by this check in.  Likewise when sending to a message buffer if the send length is too long the block time is set to 0 to ensure the sending task does not wait indefinitely for the impossible send to complete - but the length check was wrong, and is corrected by this check in. (#195)

5 years agoMinor updates to formatting and MISRA compliance of the PR used to update the vTaskDe...
RichardBarry [Sun, 11 Oct 2020 04:42:38 +0000 (21:42 -0700)]
Minor updates to formatting and MISRA compliance of the PR used to update the vTaskDelayUntil() function to xTaskDelayUntil(). (#198)

5 years agomatching the preprocessor conditionals for xTaskGetCurrentTaskHandle() (#197)
Joseph Julicher [Fri, 9 Oct 2020 01:44:30 +0000 (18:44 -0700)]
matching the preprocessor conditionals for xTaskGetCurrentTaskHandle() (#197)

5 years agovTaskDelayUntil improvement (#77) 187/head
Spacefish [Fri, 9 Oct 2020 00:46:47 +0000 (02:46 +0200)]
vTaskDelayUntil improvement (#77)

* vTaskDelayUntil improvement

* suggestions implemented

* xTaskDelayUntil #define added

* doc small fix

* small formatting stuff

* more small formatting stuff

* Update lexicon.txt

Co-authored-by: Carl Lundin <53273776+lundinc2@users.noreply.github.com>
Co-authored-by: Carl Lundin <lundinc@amazon.com>