Add unit test for FreeRTOS SMP (#1047)

* Add unit test for FreeRTOS SMP to verify SMP scheduler logic in tasks.c which is enclosed by `configNUMBER_OF_CORES > 1`.

---------

Co-authored-by: Joshua Zarr <joshzarr@amazon.com>
Co-authored-by: Anubhav Rawal <rawalexe@amazon.com>
Co-authored-by: Alfred Gedeon <alfred2g@hotmail.com>
Co-authored-by: Adam Scislowicz <adamds@amazon.com>
Co-authored-by: jannusi <121577776+jannusi@users.noreply.github.com>
Co-authored-by: Krishna Vamsi Tallapaneni <124737189+vamsitas@users.noreply.github.com>
Co-authored-by: Kody Stribrny <kstribrn@amazon.com>
Co-authored-by: kar-rahul-aws <118818625+kar-rahul-aws@users.noreply.github.com>
This commit is contained in:
chinglee-iot 2023-10-31 08:34:59 +08:00 committed by GitHub
parent 1114e8f39b
commit e7d39763db
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
64 changed files with 25145 additions and 71 deletions

View file

@ -31,7 +31,8 @@ void vFakePortYield( void );
void vFakePortYieldFromISR( void );
void vFakePortYieldWithinAPI( void );
void vFakePortDisableInterrupts( void );
void vFakePortRestoreInterrupts( UBaseType_t );
uint32_t vFakePortDisableInterrupts( void );
void vFakePortEnableInterrupts( void );
void vFakePortClearInterruptMaskFromISR( UBaseType_t uxNewMaskValue );
void vFakePortClearInterruptMask( UBaseType_t uxNewMaskValue );
@ -44,7 +45,25 @@ void vFakePortEnterCriticalSection( void );
void vFakePortExitCriticalSection( void );
void vPortCurrentTaskDying( void * pxTaskToDelete,
volatile BaseType_t * pxPendYield );
void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime );
void portSetupTCB_CB( void * tcb );
void vFakePortGetISRLock( void );
void vFakePortReleaseISRLock( void );
void vFakePortGetTaskLock( void );
void vFakePortReleaseTaskLock( void );
void vFakePortAssertIfISR();
BaseType_t vFakePortCheckIfInISR( void );
unsigned int vFakePortGetCoreID( void );
void vFakePortYieldCore( int );
portBASE_TYPE vFakePortEnterCriticalFromISR( void );
void vFakePortExitCriticalFromISR( portBASE_TYPE uxSavedInterruptState );
void vFakePortAllocateSecureContext( BaseType_t stackSize );
#endif /* FAKE_PORT_H */