Commit Graph

26 Commits

Author SHA1 Message Date
Gerwin Klein 314158480a
proof: update to Isabelle2023 mapsto syntax
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2023-10-06 14:41:41 +11:00
Corey Lewis 7999632872 proof: update for changes to nondet monad
Signed-off-by: Corey Lewis <corey.lewis@proofcraft.systems>
2023-10-05 11:24:05 +11:00
Rafal Kolanski 11fac22447 isabelle-2021: x64 ainvs update
Signed-off-by: Rafal Kolanski <rafal.kolanski@proofcraft.systems>
2021-09-30 16:53:17 +10:00
Ryan Barry 0d53d6909f lib+ainvs+access+refine: resolve most of the new fixmes
Signed-off-by: Ryan Barry <ryan.barry@unsw.edu.au>
2021-07-22 10:44:43 +10:00
Mitchell Buckley 51ac27ad10 Some improvement to rec_del_termination
* Add comments into proof.
* Unwind some automation to clarify how each subgoal is resolved.
* Remove some "in monad" lemmas about `premption_point`.

Signed-off-by: Mitchell Buckley <Mitchell.Buckley@data61.csiro.au>
2021-05-13 09:52:43 +10:00
Gerwin Klein a45adef66a all: remove theory import path references
In Isabelle2020, when isabelle jedit is started without a session
context, e.g. `isabelle jedit -l ASpec`, theory imports with path
references cause the isabelle process to hang.

Since sessions now declare directories, Isabelle can find those files
without path reference and we therefore remove all such path references
from import statements. With this, `jedit` and `build` should work with
and without explicit session context as before.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-11-02 10:16:17 +10:00
Gerwin Klein a424d55e3e licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
Corey Lewis dd48e0d899 proof: update for wp changes
Updated 'wp_once' to 'wp (once)' and removed several stray uses of 'wp_trace'.
2019-10-14 17:12:18 +11:00
Rafal Kolanski 8d137b4e86 x64 ainvs: update for GrantReply (SELFOUR-6) 2018-12-10 20:01:38 +11:00
Gerwin Klein 6b9d9d24dd Isabelle2018: new "op x" syntax; now is "(x)"
(result of "isabelle update_op -m <dir>")
2018-08-20 09:06:35 +10:00
Joel Beeren f728dd25e8 x64: Add IOPortControlCaps to control IO port allocation
The previous implementation of IOPortCaps has problems with revocability
and determining parency etc. This commit adds IOPortControlCaps which
behave identically to IRQControlCaps -- invoking the IOPortControlCap
allows one to create IOPortCaps with the supplied range.

There now exist invariants to show that there is only one
IOPortControlCap and that all IOPortCaps in the system do not overlap.
Furthermore there is a global record of which IO ports have been
allocated to prevent reissuing the same ports.
2018-04-19 05:27:06 +10:00
Corey Lewis 2d0baab462 Proof update for crunch changes 2018-04-04 14:13:55 +10:00
Thomas Sewell 652cbb966e Initial proof updates for combinator changes. 2018-03-16 14:53:22 +11:00
Joel Beeren 4601f2a1ab Genericise deletion actions that occur after empty_slot
This patch adds a generic "post_cap_deletion" step that is called by
finalise_slot. Previous to this, the only caps which had actions
required at this stage were IRQHandlerCaps -- it was required that the
IRQ bitmap be updated after the cap itself was removed (as the
invariants state that for any existing IRQHandlerCap, the corresponding
bit in the IRQ bitmap must be set).

By genericising this, we add the capacity for new, arch-specific post
cap deletion actions to occur in the future.
2018-02-23 09:12:55 +11:00
Miki Tanaka 07e9bfa417 remove_valid_arch_objs: updates for X64 2017-08-18 09:44:00 +10:00
Matthew Brecknell 2f70a304da ainvs: integrate all architectures 2017-08-09 16:57:39 +10:00
Joel Beeren df94ae6fad x64: aspec/ainvs: miscellaneous updates
* make update_cap_data do nothing for IOPorts
    * return same_aobject_as to previous definition for IOPorts
    * change cap_master_cap for IOPorts to be the identity
2017-03-29 17:23:25 +11:00
Matthew Brecknell bb92e92f52 arch_split x64 arm: make cte_level_bits an arch constant 2017-03-27 19:07:28 +11:00
Joel Beeren 67daaea42a x64: AInvs now done except ArchAInvsPre and KernelInit_AI 2017-03-14 13:16:14 +11:00
Joel Beeren 89b9e3bda4 x64: fixed up ArchCNodeInv_AI 2017-03-09 11:09:46 +11:00
Matthew Brecknell cdc4813228 x64: make same_object_as for IOPortCap behave like UntypedCap 2017-02-15 19:01:58 +11:00
Joel Beeren 6723b58cb7 x64: CnodeInv_AI, ArchCNodeInv_AI now process 2017-02-15 14:11:32 +11:00
Matthew Brecknell e350f1e9db x64: update for Isabelle2016-1 and improved wp 2017-01-25 11:58:32 +11:00
Joel Beeren b5156791a0 x64: fixup ArchTcb_AI 2016-12-14 16:33:12 +11:00
Joel Beeren dc3cf6b9b8 x64: s/ARM/X64/g on invariant proofs, progress in ArchVSpace_AI 2016-10-14 16:46:13 +11:00
Matthew Brecknell 4ca11d83a0 x64 invariants: copy some arch theories from ARM
There is no attempt to adapt these theories to X64 in this commit.
2016-08-24 13:35:48 +10:00