2021-11-30 14:51:24 +01:00

23 lines
830 B
Markdown

This proof demonstrates the memory safety of the TaskCreate function.
We initialize task lists, but we set other data structures to
unconstrained (arbitrary) values, including the data structures
`pxCurrentTCB`, `uxCurrentNumberOfTasks`, `pcName` and `pxCreateTask`.
STACK_DEPTH is set to a fixed number (10) since it is not possible to
specify a range.
This proof is a work-in-progress. Proof assumptions are described in
the harness. The proof also assumes the following functions are
memory safe and have no side effects relevant to the memory safety of
this function:
* prvTraceGetObjectHandle
* prvTraceGetTaskNumber
* prvTraceSetObjectName
* prvTraceSetPriorityProperty
* prvTraceStoreKernelCall
* prvTraceStoreTaskReady
* pxPortInitialiseStack
* vPortEnterCritical
* vPortExitCritical
* vPortGenerateSimulatedInterrupt