diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2020-10-15 16:44:18 +0100 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2020-10-15 16:44:18 +0100 |
commit | 0278effeedd3fc6d2a951983e9d0859f5fbf97c5 (patch) | |
tree | 99e99df5f001516a2eb6a4b7ec2577f7b9f4aa1d | |
parent | 49bc145ce3a1b2d246915061fa0e98726765df44 (diff) | |
download | kernel-tla-0278effeedd3fc6d2a951983e9d0859f5fbf97c5.tar.gz |
fpsimd: Termination added by PlusCal
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-rw-r--r-- | fpsimd.tla | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -972,6 +972,10 @@ thr3(self) == /\ pc[self] = "thr3" thread_(self) == thr1(self) \/ thr2(self) \/ thr3(self) +(* Allow infinite stuttering to prevent deadlock on termination. *) +Terminating == /\ \A self \in ProcSet: pc[self] = "Done" + /\ UNCHANGED vars + Next == (\E self \in ProcSet: \/ kernel_neon_begin(self) \/ kernel_neon_end(self) \/ fpsimd_restore_current_state(self) @@ -981,8 +985,7 @@ Next == (\E self \in ProcSet: \/ kernel_neon_begin(self) \/ do_sve_acc(self) \/ kernel_neon(self) \/ syscall(self)) \/ (\E self \in THREADS: thread_(self)) - \/ (* Disjunct to prevent deadlock on termination *) - ((\A self \in ProcSet: pc[self] = "Done") /\ UNCHANGED vars) + \/ Terminating Spec == Init /\ [][Next]_vars |