Add VeriFast kernel queue proofs (#117)

This commit is contained in:
Nathan Chong 2020-07-02 15:55:20 -04:00 committed by GitHub
parent d5fedeaa96
commit 529c481c39
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
31 changed files with 3702 additions and 1 deletions

View file

@ -0,0 +1,47 @@
#!/bin/bash -eu
FUNCS=(
prvCopyDataFromQueue
prvCopyDataToQueue
prvInitialiseNewQueue
prvIsQueueEmpty
prvIsQueueFull
prvUnlockQueue
uxQueueMessagesWaiting
uxQueueSpacesAvailable
vQueueDelete
xQueueGenericCreate
xQueueGenericReset
xQueueGenericSend
xQueueGenericSendFromISR
xQueueIsQueueEmptyFromISR
xQueueIsQueueFullFromISR
xQueuePeek
xQueuePeekFromISR
xQueueReceive
xQueueReceiveFromISR
)
if [ ! -d "FreeRTOS-Kernel" ]; then
git clone https://github.com/FreeRTOS/FreeRTOS-Kernel.git
fi
pushd FreeRTOS-Kernel > /dev/null
rm -rf tags generated
ctags --excmd=number queue.c
mkdir generated
for f in ${FUNCS[@]}; do
../extract.py tags $f > generated/$f.c
done
popd > /dev/null
echo "created: FreeRTOS-Kernel/generated"
ln -fs ../queue .
pushd queue > /dev/null
rm -rf tags generated
ctags --excmd=number *.c
mkdir generated
for f in ${FUNCS[@]}; do
../scripts/extract.py tags $f > generated/$f.c
done
popd > /dev/null
echo "created: queue/generated"