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
|
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
|
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
|
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
|
94e0f21574
|
Added rewrite to remove const qualifiers from pointers.
|
2022-11-04 11:15:15 -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 |
|
Tobias Reinhard
|
eedbfe3255
|
Typo.
|
2022-10-28 13:26:17 -04:00 |
|
Tobias Reinhard
|
06b924d818
|
Verified alignment properties of stack top pointer.
|
2022-10-28 13:24:01 -04:00 |
|
Tobias Reinhard
|
551d1da628
|
Renamed TCB_p predicate into uninit_TCB_p.
|
2022-10-27 12:58:18 -04:00 |
|
Tobias Reinhard
|
e238d791ab
|
Moved stack predicate and lemmas to separate header.
|
2022-10-27 12:51:24 -04:00 |
|
Tobias Reinhard
|
2b82220cec
|
Refined stack predicate, validated it and verified pxPortInitialiseStack impl from RP2040 port.
|
2022-10-27 12:43:10 -04:00 |
|
Tobias Reinhard
|
b5f0b2f74d
|
Added snippet from RP2040 port.c to verification code base to allow verification of contract from portable.h
|
2022-10-26 10:08:29 -04:00 |
|
Tobias Reinhard
|
40931d229d
|
Justified memset of TCB fields in prvInitialiseNewTask.
Fields: `pxNewTCB->ucNotifyState` and `pxNewTCB->ulNotifiedValue`
|
2022-10-25 16:56:28 -04:00 |
|
Tobias Reinhard
|
8a8f0ab9b1
|
Proved memory safety of name-writing loop in prvInitialiseNewTask.
|
2022-10-25 14:57:26 -04:00 |
|
Tobias Reinhard
|
1042ea8cf8
|
Refined task control block predicate TCB_p such that it can be used to justify memset-ing the stack.
|
2022-10-25 13:22:10 -04:00 |
|
Tobias Reinhard
|
5a7916bff0
|
Added predicates to reason about TCB_t and substructures.
|
2022-10-24 16:17:41 -04:00 |
|
Tobias Reinhard
|
f1a0170309
|
Initialized memory safety proof for xTaskCreate.
|
2022-10-24 12:29:55 -04:00 |
|