mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-19 21:11:57 -04:00
Add portTASK_SWITCH_HOOK (#867)
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 <118818625+kar-rahul-aws@users.noreply.github.com> Co-authored-by: Soren Ptak <ptaksoren@gmail.com> Co-authored-by: chinglee-iot <61685396+chinglee-iot@users.noreply.github.com> Co-authored-by: Tony Josi <tonyjosi@amazon.com> Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
This commit is contained in:
parent
30e6b8a5ea
commit
bd0f87c18b
|
@ -529,6 +529,10 @@
|
|||
#define portSETUP_TCB( pxTCB ) ( void ) ( pxTCB )
|
||||
#endif
|
||||
|
||||
#ifndef portTASK_SWITCH_HOOK
|
||||
#define portTASK_SWITCH_HOOK( pxTCB ) ( void ) ( pxTCB )
|
||||
#endif
|
||||
|
||||
#ifndef configQUEUE_REGISTRY_SIZE
|
||||
#define configQUEUE_REGISTRY_SIZE 0U
|
||||
#endif
|
||||
|
|
10
tasks.c
10
tasks.c
|
@ -5153,6 +5153,11 @@ BaseType_t xTaskIncrementTick( void )
|
|||
taskSELECT_HIGHEST_PRIORITY_TASK();
|
||||
traceTASK_SWITCHED_IN();
|
||||
|
||||
/* Macro to inject port specific behaviour immediately after
|
||||
* switching tasks, such as setting an end of stack watchpoint
|
||||
* or reconfiguring the MPU. */
|
||||
portTASK_SWITCH_HOOK( pxCurrentTCB );
|
||||
|
||||
/* After the new task is switched in, update the global errno. */
|
||||
#if ( configUSE_POSIX_ERRNO == 1 )
|
||||
{
|
||||
|
@ -5245,6 +5250,11 @@ BaseType_t xTaskIncrementTick( void )
|
|||
taskSELECT_HIGHEST_PRIORITY_TASK( xCoreID );
|
||||
traceTASK_SWITCHED_IN();
|
||||
|
||||
/* Macro to inject port specific behaviour immediately after
|
||||
* switching tasks, such as setting an end of stack watchpoint
|
||||
* or reconfiguring the MPU. */
|
||||
portTASK_SWITCH_HOOK( pxCurrentTCBs[ portGET_CORE_ID() ] );
|
||||
|
||||
/* After the new task is switched in, update the global errno. */
|
||||
#if ( configUSE_POSIX_ERRNO == 1 )
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue