-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pull] main from FreeRTOS:main #70
base: main
Are you sure you want to change the base?
Conversation
Codecov Report
📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more @@ Coverage Diff @@
## main #70 +/- ##
==========================================
+ Coverage 94.30% 94.46% +0.16%
==========================================
Files 6 6
Lines 2370 2422 +52
Branches 579 594 +15
==========================================
+ Hits 2235 2288 +53
Misses 85 85
+ Partials 50 49 -1
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 4 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Co-authored-by: chinglee-iot <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]>
Fix MISRA_C_2012 rule 8.4 violation
* Assign volatile variables to local non-volatile variables before read * Fix stack macro overflow check volatile access * Explicit the read order of volatile variable * Fix issue : ISO C90 forbids mixed declarations and code --------- Co-authored-by: Ubuntu <[email protected]> Co-authored-by: chinglee-iot <[email protected]> Co-authored-by: Monika Singh <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]>
* Fix MISRA C 2012 rule 8.6 errors * Add suppression for hook function Signed-off-by: Gaurav Aggarwal <[email protected]> --------- Signed-off-by: Gaurav Aggarwal <[email protected]> Co-authored-by: Ubuntu <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> Co-authored-by: Gaurav Aggarwal <[email protected]>
Co-authored-by: Soren Ptak <[email protected]> Co-authored-by: chinglee-iot <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]>
* Add description about overrun warning in queue.c * Remove the unreachable configASSERT * Code review suggestions Signed-off-by: Gaurav Aggarwal <[email protected]> * Fix formatting Signed-off-by: Gaurav Aggarwal <[email protected]> --------- Signed-off-by: Gaurav Aggarwal <[email protected]> Co-authored-by: Ubuntu <[email protected]> Co-authored-by: Soren Ptak <[email protected]> Co-authored-by: Rahul Kar <[email protected]> Co-authored-by: Gaurav Aggarwal <[email protected]>
* Update callback function prototype to align with definition * Suppress unused function pointer parameter --------- Signed-off-by: Gaurav Aggarwal <[email protected]> Co-authored-by: Ubuntu <[email protected]> Co-authored-by: GitHub Action <[email protected]> Co-authored-by: Rahul Kar <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> Co-authored-by: Gaurav Aggarwal <[email protected]>
Suppress MISRA C:2012 rule 21.6 for snprintf
Revert the formatting on CodeWarrior ports
Revert the formatting on Paradigm ports
Revert the formatting on oWatcom ports
Revert Portable/BCC formatting
* Add coverity example * Update for CI * Fix for CI 2 * Update kernel_misra.config * Rename coverity example to coverity * Update FreeRTOSConfig.h for coverity project * Update MISRA.md * Move coverity config to coverity_misra.config * Update coverity misra config * Add README.md file * Update FreeRTOSConfig.h for coverity * Fix uncrustify and spell * Update README.md for relative link path Update README.md for relative link path * Update README.md for relative link 2 * Update MISRA.md for relateive path * Fix for format * Update coverity_misra.config * Update configuration folder * Update README.md for link * Code review suggestions Signed-off-by: Gaurav Aggarwal <[email protected]> --------- Signed-off-by: Gaurav Aggarwal <[email protected]> Co-authored-by: Ubuntu <[email protected]> Co-authored-by: Rahul Kar <[email protected]> Co-authored-by: Soren Ptak <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> Co-authored-by: Gaurav Aggarwal <[email protected]>
Co-authored-by: Ubuntu <[email protected]>
Remove lint suppression comment
Update alignment in ARM_CA9 port.
Verify that the application has correctly installed PendSV and SVCall handlers. The application can choose to disable these checks by setting configCHECK_HANDLER_INSTALLATION to 0 in their FreeRTOSConfig.h.
This commit adds a portTASK_SWITCH_HOOK() macro which allows ports to inject behavior immediately after a context switch. For example, this macro could be used by ports that need to set an end of stack watchpoint after a context swtich. Co-authored-by: Rahul Kar <[email protected]> Co-authored-by: Soren Ptak <[email protected]> Co-authored-by: chinglee-iot <[email protected]> Co-authored-by: Tony Josi <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]>
* Remove the sample smp configuration folder
* Update sample configuration file in the examples folder * Add SMP Configuration definitions * Fix build issue in cmake example * Add CoRoutine Configuration definitions * Code review suggestions Signed-off-by: Gaurav Aggarwal <[email protected]> * Fix formatting Signed-off-by: Gaurav Aggarwal <[email protected]> --------- Signed-off-by: Gaurav Aggarwal <[email protected]> Co-authored-by: Gaurav Aggarwal <[email protected]>
* Rename sample configuration to template configuration * Rename sample configuration to template configuration in cmake example file
* Update History.txt for v11.0.0
* Update History for V11.0.1
* GCC: MSP430F449: Add missing attributes Apparently at some point in the past, GCC (or TI's GCC) used to define these attributes. Define them ourselves so that we can compile the demo application. * GCC: MSP430F449: Make interrupts return void If a return type of a function is not specified, it defaults to int. Set the return type of interrupts to void to avoid warnings. * GCC: MSP430F449: Define portPOINTER_SIZE_TYPE portPOINTER_SIZE_TYPE defaults to uint32_t if undefined. Define it to uint16_t, which is correct for this port.
#934) Remove the idle_task_static_memory.c and use the new default implementations to allows for FreeRTOS-Kernel-Static to be used with configNUMBER_OF_CORES > 1
Export the PRIVILEGED_FUNCTION, PRIVILEGED_DATA, and FREERTOS_SYSTEM_CALL attributes to make it easier for end users to add their own privileged functions and system calls.
These were reported here - #1210. Signed-off-by: Gaurav Aggarwal <[email protected]>
…null-termination of the idle task name string (#1203) * fix(freertos): Limit idle task name copy operation and ensure null termination This commit: - Limits the idle task name length copy operation to prevent Out-of-bounds memory access warnings from static code analyzers. - Fixes a bug where in the idle task name could be non null-terminated string for SMP configuration. Signed-off-by: Sudeep Mohanty <[email protected]>
…to tash.h (#1215) * Add an example of human readable table generated by vTaskListTasks() to task.h
Pass core ID to task/ISR lock functions
…is set to 2. (#1216) Add a stack pointer bounds check when configCHECK_FOR_STACK_OVERFLOW is set to 2.
Signed-off-by: Hua Zheng <[email protected]> Co-authored-by: Hua Zheng <[email protected]>
The function vApplicationFPUSafeIRQHandler gets the value of ICCIAR as parameter, but a constant containing the address of ICCIAR was also defined. Fix the name of the constant to align it with what it actually holds.
armv8.1-m: Add task dedicated PAC key To harden the security, each task is assigned a dedicated PAC key, so that attackers needs to guess the all the tasks' PAC keys right to exploit the system using Return Oriented Programming. The kernel is now updated to support the following: * A PAC key set with a random number generated and is saved in the task's context when a task is created. * As part of scheduling, the task's PAC key is stored/restored to/from the task's context when a task is unscheduled/scheduled from/to run. stack-overflow-check: Introduce portGET_CURRENT_TOP_OF_STACK macro When MPU wrapper v2 is used, the task's context is stored in TCB and `pxTopOfStack`` member of TCB points to the context location in TCB. We, therefore, need to read PSP to find the task's current top of stack. Signed-off-by: Ahmed Ismail <[email protected]>
Remove unused __APPLE__ mach_vm.h include
Signed-off-by: Gaurav Aggarwal <[email protected]>
…1228) Add xQueueCreateSetStatic method for static allocation of Queue Sets This commit introduces the xQueueCreateSetStatic function, which allows for the static allocation of Queue Sets in FreeRTOS when both configUSE_QUEUE_SETS and configSUPPORT_STATIC_ALLOCATION are enabled.
This is a direct backport of upstream commit [1] for aarch64 (legacy operation port) done under [2] The same code can be applied on the aarch SRE port to be able to enable FPU context saving on all tasks context switch to mitigate GCC optimization to use SIMD registers for copy. [1] "55eceb22: Add configUSE_TASK_FPU_SUPPORT to AARCH64 port (#1048)" [2] #1048 Signed-off-by: Marouen Ghodhbane <[email protected]>
…the fpu saved context FPSR and FPCR are two 64-bits registers where only the lower 32 bits are defined. Save them when doing context switch with FPU context saving enabled. Signed-off-by: Marouen Ghodhbane <[email protected]>
The application writer needs to name their IRQ handler as: 1. vApplicationIRQHandler if the IRQ handler does not use FPU registers. 2. vApplicationFPUSafeIRQHandler is the IRQ handler uses FPU registers. When the application uses vApplicationFPUSafeIRQHandler, a default implementation of vApplicationIRQHandler is used which stores FPU registers and then calls vApplicationFPUSafeIRQHandler. Note that recent versions of GCC may use FP/SIMD registers to optimize 16-bytes copy and especially when using va_start()/va_arg() functions (e.g printing some thing in IRQ handlers may trigger usage of FPU registers) This implementation is heavily inspired by both the ARM_CA9 port and the ARM_CRx_No_GIC port done in [1] [1] #1113 Signed-off-by: Marouen Ghodhbane <[email protected]>
Fix the context array size for MPU ports Ensure the saved context location falls within the reserved context area rather than overlapping with the next MPU_SETTINGS structure member. This never caused a problem because actual read/write operations start from one word before the saved context location. Signed-off-by: Gaurav Aggarwal <[email protected]>
…-Kernel#1220 (#1232) Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]>
Mark mutex as robust to prevent deadlocks Prevent application hangs that occur when a thread dies while holding a mutex, particularly during vTaskEndScheduler or exit calls. This is achieved by setting the PTHREAD_MUTEX_ROBUST attribute on the mutex. Fixes: - GitHub issue: #1217 - Forum thread: freertos.org/t/22287 Signed-off-by: Gaurav Aggarwal <[email protected]>
Reinstates PR #142 that was reverted in #143 Co-authored-by: Ben Nicholls <[email protected]>
On FreeBSD pthread_once_t is a struct and cast is required. Otherwise there's compilation error: ../../mocks/freertos/port.c:261:23: error: expected expression hSigSetupThread = PTHREAD_ONCE_INIT; ^ PTHREAD_ONCE_INIT is defined as: { PTHREAD_NEEDS_INIT, NULL } on FreeBSD Co-authored-by: Jakub Tymejczyk <[email protected]>
…n in Community-Supported-Ports (#1243) - The newer version looks in Community-Supported-Ports too Co-authored-by: graham sanderson <[email protected]>
…#1241) This commit updates the definition of taskRESERVED_TASK_NAME_LENGTH in tasks.c to fix an unreachable preprocessor condition. Signed-off-by: Sudeep Mohanty <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]>
While using the macOS default LLDB debugger, a call to vTaskEndScheduler results in an unhandled SIGUSR1 (aka SIGRESUME) when restoring the scheduler thread's signals with pthread_sigmask. This crashes the program. Added instructions in portable/ThirdParty/GCC/Posix/port.c to suppress SIGUSR1 to prevent LLDB debugger interference when exiting xPortStartScheduler Thanks to: @johnboiles for pointing it out in #1224
* Include current task runtime in ulTaskGetRunTimeCounter Update ulTaskGetRunTimeCounter to include elapsed time since the last context switch when called for the currently running task. Previously, this time was not included in the calculation. Fixes #1202. Signed-off-by: Gaurav Aggarwal <[email protected]>
Disable stack overflow check for MPU ports Stack overflow check is not straight forward to implement for MPU ports because of the following reasons: 1. The context is stroed in TCB and as a result, pxTopOfStack member points to the context location in TCB. 2. System calls are executed on a separate privileged only stack. It is still okay because an MPU region is used to protect task stack which means task stack overflow will trigger an MPU fault. Signed-off-by: Gaurav Aggarwal <[email protected]>
* Fix MISRA violations for Kernel release V11.2.0 * Fix formatting * Remove redundant configASSERT in timers.c
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )