mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-12-11 06:05:18 -05:00
Updated repository structure in README
This commit is contained in:
parent
9b07092428
commit
c0f5acec60
1 changed files with 64 additions and 37 deletions
|
|
@ -1,9 +1,9 @@
|
||||||
# FreeROTS VeriFast Proofs
|
# FreeROTS VeriFast Proofs
|
||||||
This directory contains an unbounded proof memory safety and thread safety proof
|
This directory contains an unbounded memory safety and thread safety proof
|
||||||
for the core of the task scheduler: `vTaskSwitchContext`
|
for the core of the task scheduler: `vTaskSwitchContext`
|
||||||
The proof ensures that no call to `vTaskSwitchContext` that complies with the
|
The proof ensures that no call to `vTaskSwitchContext` that complies with the
|
||||||
specified precondition results in unsafe memory accesses. It also ensures that
|
specified precondition results in unsafe memory accesses. It also ensures that
|
||||||
concurrent instances of `vTaskSwitchContext` running on diffierent cores are
|
concurrent instances of `vTaskSwitchContext` running on different cores are
|
||||||
mutually thread safe.
|
mutually thread safe.
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -34,43 +34,70 @@ FreeRTOS-Kernel
|
||||||
│ Contains the Raspberry Pi Pico setup.
|
│ Contains the Raspberry Pi Pico setup.
|
||||||
│
|
│
|
||||||
│
|
│
|
||||||
└── verification
|
└── Test/VeriFast/tasks/vTaskSwitchContext
|
||||||
└── verifast
|
│
|
||||||
├── preprocessing_scripts
|
├── run-verifast.sh
|
||||||
│ Contains scripts to preprocess and rewrite the source code.
|
│ Shell script to run check the proof with VeriFast.
|
||||||
│
|
│
|
||||||
├── demos
|
├── run-vfide.sh
|
||||||
│ Contains the FreeRTOS SMP demo. Our proofs use some of its
|
│ Shell script to load the proof into the VeriFast IDE.
|
||||||
│ configuartion files.
|
│
|
||||||
│
|
├── diff.sh
|
||||||
├── proof
|
│ Shell script to compute flag changes in the production code that
|
||||||
│ Contains the VeriFast proof files.
|
│ potentially break the validity of the VeriFast proof. An empty diff
|
||||||
│ │
|
│ means that the proof and the production code remain in sync.
|
||||||
│ ├── *.h files
|
│
|
||||||
│ │ Headers containing VeriFast formalizations and proofs.
|
├── preprocessing_scripts
|
||||||
│ │
|
│ Contains scripts to preprocess and rewrite the source code.
|
||||||
│ ├── README.md
|
│
|
||||||
│ │ Contains more details about the proof.
|
├── demos
|
||||||
│ │
|
│ Contains the FreeRTOS SMP demo. Our proofs use some of its
|
||||||
│ ├── single_core_proofs
|
│ configuartion files.
|
||||||
│ │ Contains the old list formalization and proofs written by
|
│
|
||||||
│ │ Aalok Thakkar and Nathan Chong in 2020 for the single-core
|
├── include
|
||||||
│ │ setup.
|
│ Contains annotated copies of header files residing in
|
||||||
│ │
|
│ 'FreeRTOS-Kernel/include'. These files are annotated with VeriFast
|
||||||
│ └── single_core_proofs_extended
|
| predicates, lemmas and proof steps.
|
||||||
│ Contains new proofs extending the single-core list
|
│
|
||||||
│ formalization.
|
│
|
||||||
│
|
├── proof
|
||||||
├── proof_setup
|
│ Contains the VeriFast proof files.
|
||||||
│ Contains config files for the proof. The proof assumes a setup for
|
│ │
|
||||||
│ RP2040.
|
│ ├── *.h files
|
||||||
│
|
│ │ Headers containing VeriFast formalizations and proofs.
|
||||||
└── sdks
|
│ │
|
||||||
Contains SDKs referenced by the proof setup.
|
│ ├── README.md
|
||||||
Some files are annotated with VeriFast contracts.
|
│ │ Contains more details about the proof.
|
||||||
|
│ │
|
||||||
|
│ ├── single_core_proofs
|
||||||
|
│ │ Contains the old list formalization and proofs written by
|
||||||
|
│ │ Aalok Thakkar and Nathan Chong in 2020 for the single-core
|
||||||
|
│ │ setup.
|
||||||
|
│ │
|
||||||
|
│ └── single_core_proofs_extended
|
||||||
|
│ Contains new proofs extending the single-core list
|
||||||
|
│ formalization.
|
||||||
|
│
|
||||||
|
│
|
||||||
|
├── proof_setup
|
||||||
|
│ Contains config files for the proof. The proof assumes a setup for
|
||||||
|
│ RP2040.
|
||||||
|
│
|
||||||
|
├── sdks
|
||||||
|
│ Contains SDKs referenced by the proof setup.
|
||||||
|
│ Some files are annotated with VeriFast contracts.
|
||||||
|
│
|
||||||
|
├── src
|
||||||
|
│ Contains annotated copies of source files residing in the repository's
|
||||||
|
│ base directory 'FreeRTOS-Kernel'. The files are annotated with VeriFast
|
||||||
|
│ predicates, lemmas and proof steps.
|
||||||
|
│
|
||||||
|
└── stats
|
||||||
|
Contains some statistics about the VeriFast proof.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Proof Setup
|
# Proof Setup
|
||||||
The VeriFast proofs assume a setup for the Raspberry Pi Pico, i.e., RP2040.
|
The VeriFast proofs assume a setup for the Raspberry Pi Pico, i.e., RP2040.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue