Tobias Reinhard
5cf8b4ed1c
Added shared global variable xSchedulerRunning to task-isr lock invariant.
2022-11-21 08:06:19 -05:00
Tobias Reinhard
81355bc42f
Added DLS lemmas related tosplit.
2022-11-21 08:05:32 -05:00
Tobias Reinhard
5b6a92f023
Added TODO
2022-11-18 16:47:47 -05:00
Tobias Reinhard
cf65065a0c
Used single-core list predicate xLIST to express access permissions to ready lists in readyLists_p.
2022-11-18 16:27:38 -05:00
Tobias Reinhard
b1fc658413
Added single-core list predicates and proofs. Most proofs are commented out for the moment.
2022-11-18 15:38:32 -05:00
Tobias Reinhard
f5c0a64f86
Made isr lock predicate abstract.
2022-11-18 14:31:37 -05:00
Tobias Reinhard
02e019fe45
Highlighted that reused list proofs assume single-core setting.
2022-11-18 13:46:43 -05:00
Tobias Reinhard
c9e61fce49
Introduced initial formulation of predicate to capture shared ready lists.
2022-11-18 09:22:31 -05:00
Tobias Reinhard
6dcaef48d6
Added loop invariant to main search loop in prvSelectHighestPriorityTask.
2022-11-17 14:24:44 -05:00
Tobias Reinhard
fb01980b63
Verified new contract for xTaskGetCurrentTaskHandle.
2022-11-17 12:08:38 -05:00
Tobias Reinhard
d3bda01f16
Verified macro taskCHECK_FOR_STACK_OVERFLOW.
2022-11-17 09:20:21 -05:00
Tobias Reinhard
c3c350f8dc
vTaskSwitchContext now has access to the current task's stack.
2022-11-16 15:31:49 -05:00
Tobias Reinhard
383a055872
taskCHECK_FOR_STACK_OVERFLOW assumes minimal stack size. Updated stack predicate accordingly.
2022-11-16 15:30:40 -05:00
Tobias Reinhard
4eb2fa573e
Wrote contracts for lock release operations.
2022-11-16 14:18:03 -05:00
Tobias Reinhard
54523ecdce
Included global variables pxCurrentTCBs and pxYieldingPendings in interrupt invariant.
2022-11-16 13:53:22 -05:00
Tobias Reinhard
d63a8f83cd
Renamed predicate encapsulating access permissions to core local variables to coreLocalInterruptInv_p.
2022-11-16 11:31:12 -05:00
Tobias Reinhard
327423ef67
TCB of currently scheduled task on core C is interrupt protected on core C. Updated invariants to reflect that.
2022-11-16 11:25:37 -05:00
Tobias Reinhard
dbf03a0ab2
Introduced predicates to differentiate between public and private parts of a TCB.
2022-11-16 10:55:25 -05:00
Tobias Reinhard
360afe4374
Cleaned up lock predicate header.
2022-11-16 10:37:12 -05:00
Tobias Reinhard
d95976ebe5
Added info about available tasks to lock predicate.
2022-11-16 10:28:31 -05:00
Tobias Reinhard
7a5119e324
Nightly build of Nov 14, 2022 broke old proof for vTaskCreate. Ignoring these proofs for now.
2022-11-15 09:31:56 -05:00
Tobias Reinhard
a470fec6d0
Added automatic deletion of void casts (used to suppress warnings) and linked to filed VeriFast issue 335.
2022-11-13 14:46:17 -05:00
Tobias Reinhard
1e2acf6139
Linked const pointer rewrite to filed VeriFast issue 333.
2022-11-13 14:35:02 -05:00
Tobias Reinhard
0a31349be3
Added automatic rewrite to remove const qualifiers occurring before a star.
2022-11-11 15:37:24 -05:00
Tobias Reinhard
49f0dc1f04
Added preprocessing out dir to .gitignore.
2022-11-11 15:11:44 -05:00
Tobias Reinhard
e33d940357
Stopped tracking preprocecssing output.
2022-11-11 15:09:27 -05:00
Tobias Reinhard
d746a27233
Added missing task-ISR lock invariant to post condition of acquision lemma.
2022-11-11 15:07:01 -05:00
Tobias Reinhard
29e14be203
Verified minimal contract for xTaskGetCurrentTaskHandle.
2022-11-10 14:36:04 -05:00
Tobias Reinhard
7e75d7aa8f
Refined lock predicates and contracts for lock macros to match expected locking discipline.
2022-11-10 12:50:48 -05:00
Tobias Reinhard
3d4ad64692
Switched to new verification target vTaskSwitchContext.
2022-11-07 14:42:11 -05:00
Tobias Reinhard
c4f5c09a81
Altered config to ensure that we don't accidentally rely on a concrete small number of cores.
2022-11-07 14:34:54 -05:00
Tobias Reinhard
91eb6eefaa
Included reference to core ID in interrupt predicates and added distinction between global and core local variables.
2022-11-07 14:21:42 -05:00
Tobias Reinhard
06d2611aa9
Made config macros from FreeRTOSConfig.h available to VeriFast proof.
2022-11-04 16:16:08 -04:00
Tobias Reinhard
8897e3fe6e
Added specification for enabling and disabling interrupts.
2022-11-04 15:49:24 -04:00
Tobias Reinhard
66d71c5b47
Started to verify taskENTER_CRITICAL.
2022-11-04 14:23:39 -04:00
Tobias Reinhard
1e4e650650
Removed duplicate macro definition.
2022-11-04 14:22:54 -04:00
Tobias Reinhard
25dda73ef9
Started to define predicates encapsulating access permissions to global variables.
2022-11-04 14:22:11 -04:00
Tobias Reinhard
ac798f9fb5
Added contract for portDISABLE_INTERRUPTS and dummy contracts for lock acquiring macros.
2022-11-04 14:20:58 -04:00
Tobias Reinhard
5c9750eac4
Verified vListInitialiseItem.
2022-11-04 11:24:25 -04:00
Tobias Reinhard
94e0f21574
Added rewrite to remove const qualifiers from pointers.
2022-11-04 11:15:15 -04:00
Tobias Reinhard
2404a2f253
Added flag to skip very expensive part of the proof for prvInitialiseNewTask.
...
When the symbol `VERIFAST_SKIP_BITVECTOR_PROOF__STACK_ALIGNMENT` is defined in the preprocessor script, we skip the verification of the stack alignment. This part of the proof involves bit vector arithmetic and hence takes long to verify.
2022-11-03 15:40:12 -04:00
Tobias Reinhard
01c19a2099
Renamed preprocessed file such that name is legal C identifier.
...
This is necessary for VeriFast to refer to the file as module.
2022-11-03 13:16:10 -04:00
Tobias Reinhard
e064c380d7
Added name tags to assembly dummy macros.
2022-11-03 12:04:57 -04:00
Tobias Reinhard
97c2583eb3
Verified prvInitialiseNewTask.
2022-11-02 16:09:16 -04:00
Tobias Reinhard
0e84d8906f
Updated stack depth requirements in preconditions to match precondition of pxPortInitialiseStack
2022-11-02 14:16:29 -04:00
Tobias Reinhard
249d220ed7
Verified pxPortInitialiseStack for new version of stack predicate.
2022-11-02 14:02:42 -04:00
Tobias Reinhard
f793c96031
Adapted part of pxPortInitialiseStack proof to new stack predicate.
2022-11-02 12:09:15 -04:00
Tobias Reinhard
800a7204bc
Adapted first half of prvInitialiseNewTask to new stack predicate.
2022-11-01 16:06:53 -04:00
Tobias Reinhard
af090b252d
Added new stack predicate that reflects the forced alignment of the stack pointer.
2022-11-01 15:24:42 -04:00
Tobias Reinhard
ead381f413
Verified alignment check of stack top pointer.
2022-10-28 13:59:45 -04:00