Commit Graph

747 Commits

Author SHA1 Message Date
Gerwin Klein eb3f90a815 riscv refine: strengthen word lemmas around mask 2019-11-12 18:28:39 +11:00
Gerwin Klein 66d43a5e91 riscv refine: cleanup in Retype_R 2019-11-12 18:28:39 +11:00
Gerwin Klein eb8370e18e riscv refine: cleanup pass through Invariants_H 2019-11-12 18:28:39 +11:00
Gerwin Klein ec38460345 riscv refine: cleanup pass through ArchAcc_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 7cbe59e67a riscv refine: 0 sorries 2019-11-12 18:28:39 +11:00
Gerwin Klein 04cac93bbe riscv refine: style cleanup in ADT_H
more consistent indentation and definition style;
removed warnings;
removed (most) magic numbers
2019-11-12 18:28:39 +11:00
Gerwin Klein 3d6b5970f7 riscv refine: remove trivial sorry in ADT_H 2019-11-12 18:28:39 +11:00
Gerwin Klein 0ac198fab5 riscv refine: Arch_R sorry-free 2019-11-12 18:28:39 +11:00
Gerwin Klein f55200b9d9 riscv refine: reduced Arch_R to 1 sorry 2019-11-12 18:28:39 +11:00
Gerwin Klein 41d525d1b6 riscv refine: reduce sorries in Arch_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 53198e4fce riscv refine: VSpace_R sorry-free 2019-11-12 18:28:39 +11:00
Gerwin Klein b051b9437d riscv refine: reduce sorries in VSpace_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 3f5aaa6c48 riscv refine: Finalise_R sorry-free 2019-11-12 18:28:39 +11:00
Gerwin Klein be62cf1cfd riscv refine: reduce sorries in VSpace_R and Arch_R 2019-11-12 18:28:39 +11:00
Gerwin Klein ed3d2e1ec2 riscv refine: reduce sorries in VSpace_R 2019-11-12 18:28:39 +11:00
Gerwin Klein e44423d6bb riscv refine: ArchAcc_R sorry-free 2019-11-12 18:28:39 +11:00
Gerwin Klein a612a0e54e riscv refine: reduce ArchAcc_R sorries to 1 2019-11-12 18:28:39 +11:00
Gerwin Klein 939201f782 riscv refine: Retype_R and Detype_R sorry-free 2019-11-12 18:28:39 +11:00
Gerwin Klein cd70459771 riscv refine: reduce sorries in Finalise_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 5ac27afad0 riscv refine: close all sorries in CNodeInv_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 98a3efe16a riscv refine: close all sorries in Ipc_R 2019-11-12 18:28:39 +11:00
Gerwin Klein fe895506cc riscv refine: 0 sorries in Syscall_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 1f539c062c riscv refine: 0 sorries in Refine_R 2019-11-12 18:28:39 +11:00
Gerwin Klein bf83335d78 riscv refine: reduce sorries in Refine 2019-11-12 18:28:39 +11:00
Gerwin Klein 2d9ec1736f riscv refine: set up DomainTime_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein d224325b43 riscv refine: add Orphanage (dummy file)
This file is needed to prevent error messages in ROOT. No-orphans proof is
currently still ARM-only.
2019-11-12 18:28:39 +11:00
Gerwin Klein bd8e032504 riscv refine: sorrying Refine_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 6b2009ac45 riscv refine: set up IncKernelInit, InitLemmas, KernelInit_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein cbe29f527f riscv refine: sorrying ADT_H (3 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 4a5084b46b riscv refine: encode absence of Execute in PTablePTEs in state relation 2019-11-12 18:28:39 +11:00
Gerwin Klein b692a5c81f riscv refine: set up PageTableDuplicates (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein eab8f3e19e riscv refine: set up Syscall_R (3 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 1d9328dbcd riscv refine: set up Tcb_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein d324216454 riscv refine: set up CNodeInv (3 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 0d881171fa riscv refine: set up Interrupt_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 42bd55ea3b riscv refine: simplify assumptions in CSpace_R 2019-11-12 18:28:39 +11:00
Gerwin Klein b1157aef9e riscv refine: sorrying Ipc_R (2 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein bdf9e036a8 riscv refine: sorrying Arch_R (7 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 99b7cc7ceb riscv refine: remove unused assumptions 2019-11-12 18:28:39 +11:00
Gerwin Klein 5ee57f72fc riscv refine: sorrying Finalise_R (3 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 45172e930f riscv refine: basic setup for recursive PTLookup* 2019-11-12 18:28:39 +11:00
Gerwin Klein 76a69cda63 riscv refine: close sorry in KHeap_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 96b3754455 riscv refine: set up IpcCancel (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein e6da934e7d riscv refine: simplify setASIDPool_invs
Does not require valid_asid_pool in weakened invariant setting.
2019-11-12 18:28:39 +11:00
Gerwin Klein e46023fe12 riscv refine: set up Untyped_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 159bf6a50f riscv refine: add valid_arch_cap' to invariants
It turns out that Untyped_R needs the properties of valid_arch_cap' non-locally
for all descendants of the untyped cap it's looking at. This would be a fairly
involved property to assert, and so far only Retype/Detype had any real proof
obligations on valid_cap', i.e. it should be cheap to keep.
2019-11-12 18:28:39 +11:00
Gerwin Klein 854e74a1fd riscv refine: add Invocations_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 4422d1ecca riscv refine: sorried Detype_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 2d9afdf7be riscv refine: storePTE_valid_objs + remove one sorry 2019-11-12 18:28:39 +11:00
Gerwin Klein adf7f7bf03 riscv refine: sorry Retype_R (2 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 01c6c9f7b5 riscv refine: weaken precondition of threadSet_invs_trivialT 2019-11-12 18:28:39 +11:00
Gerwin Klein 4fe875e854 riscv refine: set up Schedule_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein e850ab5ea5 riscv refine: reduce Haskell guards in TcbAcc 2019-11-12 18:28:39 +11:00
Gerwin Klein c40435c4a8 riscv refine: sorried VSpace_R 2019-11-12 18:28:39 +11:00
Gerwin Klein e25631e919 riscv refine: more guard cross-over rules 2019-11-12 18:28:39 +11:00
Gerwin Klein d4932ced42 riscv refine: set up InterruptAcc_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 7fde8b47a0 riscv refine: set up TcbAcc_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein df28d3bdbc riscv refine: set up CSpace_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 3d037d7219 riscv refine: Invariants_H: syntax precedence for parentOf 2019-11-12 18:28:39 +11:00
Gerwin Klein b122d1945a riscv refine: fill in RAB_FN.thy 2019-11-12 18:28:39 +11:00
Gerwin Klein a3dd552343 riscv refine: set up CSpace1_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 6cd1482169 riscv refine: set up CSpace_I (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 1f149e7387 riscv refine: add ArchFrameCap to capSimps and friends 2019-11-12 18:28:39 +11:00
Gerwin Klein 7815e4734a riscv refine: introduce bit_simps' 2019-11-12 18:28:39 +11:00
Gerwin Klein e6fe4420ea riscv refine: sorried ArchAcc_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 318d54a8ca riscv refine: adjustments for page_table_at' in KHeap_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 8b40b334bd riscv refine: rephrase page_table_at' in Invariants_H 2019-11-12 18:28:38 +11:00
Gerwin Klein c4646172b3 riscv refine: set up KHeap_R (1 sorry) and SubMonad_R 2019-11-12 18:28:38 +11:00
Gerwin Klein 6bc51a2562 riscv refine: set up Bits_R, Corres, EmptyFail 2019-11-12 18:28:38 +11:00
Gerwin Klein db8768234c riscv refine: initial state relation 2019-11-12 18:28:38 +11:00
Gerwin Klein 244e8fe32f riscv refine: initial design invariants
upd
2019-11-12 18:28:38 +11:00
Gerwin Klein 8be2ab8484 riscv refine: initial skeleton 2019-11-12 18:28:38 +11:00
Corey Lewis 9846cd42bb proof: update for crunch changes 2019-10-14 17:23:41 +11: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
Victor Phan a6024fb377 x64 refine/crefine: remove vmsz_aligned' 2019-10-10 11:27:31 +11:00
Victor Phan 9100315c86 x64 refine: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:27:10 +11:00
Victor Phan c5b4d0fab5 arm-hyp refine: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:27:10 +11:00
Victor Phan 67d37f8025 arm refine: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:27:10 +11:00
MiladKetabi acbc08b836 clean-ups done during proof update for the jira issue SELFOUR-1187: seL4 setPriority should attempt a direct schedule 2019-10-06 18:31:19 +11:00
MiladKetabi d934d25269 proof update for SELFOUR-1187: seL4 setPriority should attempt a direct schedule
Prior to this commit the kernel would always trigger a full reschedule
on setPriority. This change allows the kernel to attempt a direct
switch, avoiding invoking the scheduler.
2019-10-06 18:31:19 +11:00
Gerwin Klein ab4b3b17c6 refine: adjustments for global None_upd_eq[simp] 2019-07-31 16:55:32 +10:00
Amirreza Zarrabi 4f93ebe608 refine, crefine: update after adding thread id registers to TCB for SELFOUR-1524 2019-06-28 11:48:24 +10:00
Gerwin Klein c34840d09b global: isabelle update_cartouches 2019-06-14 11:41:21 +10:00
Michael McInerney 0025f29417 refine: update for Isabelle2019 2019-06-13 16:22:33 +10:00
Michael McInerney 4463e9750e SELFOUR-1198: update proofs for correct restart PC
Fixes a case where a thread can go from Running->Inactive->Restart and
use a restart PC that is out of date. An out of date restart PC occurs
when a thread was transitioned to running after being in a blocked
state, but was never scheduled and so did not execute the traps code
that updates the restart PC.

This also renames relevant register names for consistency across
architectures (FaultIP and NextIP).
2019-06-13 11:43:50 +10:00
Michael McInerney 4a07af9d9d ainvs refine: update arch-split locale names
Previously, some arch-specific names were qualified with the wrong
architecture abbreviation.
2019-06-13 11:43:50 +10:00
Michael McInerney 9478d5507c refine cleanup: remove unused lemmas 2019-06-13 11:43:50 +10:00
Michael McInerney 6d581b5897 refine: add some lemmas about obj_at' 2019-06-13 11:43:50 +10:00
Edward Pierzchalski c1e9a09e26 lib: move "tl_nat_list_simp" up. 2019-05-28 10:00:10 +10:00
Edward Pierzchalski 14c4722cef refine: remove stray 'thm' commands. 2019-05-28 10:00:10 +10:00
Edward Pierzchalski 59b07ad60d refine: mark "call_kernel_serial" as a theorem. 2019-05-28 10:00:10 +10:00
Edward Pierzchalski 2035f444a0 refine: Remove unused lemmas. 2019-05-28 10:00:10 +10:00
Matthew Brecknell f1901beee0 cleanup: remove duplicates of invs'_invs_no_cicd 2019-05-03 13:52:52 +10:00
Matthew Brecknell eedf3d8fa2 cleanup: remove duplicates of objBitsKO_gt_0 2019-05-03 13:52:52 +10:00
Victor Phan 834dd88681 refine: remove as_user_valid_etcbs from architecture specific files
as_user_valid_etcbs can be reasoned in an architecture generic setting.
2019-04-18 14:32:08 +10:00
Victor Phan 1689dd94fe cleanup
arm ainvs: cleanup

Abbreviate Hoare triples that do not care about the return value and
whose pre and post conditions are the same.

x64 ainvs: cleanup

ainvs: cleanup

x64 ainvs: cleanup

drefine: cleanup
2019-04-18 14:32:08 +10:00
Victor Phan 1fd4c1ab0b x64 refine: update for new definition of set_object 2019-04-18 14:32:08 +10:00
Victor Phan c323da2f5c arm-hyp refine: update for new definition of set_object 2019-04-18 14:32:08 +10:00
Victor Phan d707c97df9 arm refine: update for new definition of set_object 2019-04-18 14:32:08 +10:00
Rafal Kolanski 103fc3656e x64 refine: update for GrantReply (SELFOUR-6) 2018-12-10 20:01:38 +11:00
Rafal Kolanski 0ead52863d arm-hyp refine: update for GrantReply (SELFOUR-6) 2018-12-10 20:01:38 +11:00
Rafal Kolanski c02d0406f5 arm refine: update for GrantReply (SELFOUR-6)
Initial setup and sorrying by Thibaut Perami.
2018-12-10 20:01:37 +11:00
Japheth Lim fd6d4b87ae refactor einvs from Refine and Access into AInvs 2018-11-20 16:34:29 +11:00
Gerwin Klein c53f7850d7 Base ASpec + machine on OptionMonad_ND; fix proof fallout 2018-10-25 12:54:02 +11:00
Gerwin Klein 15bfcdd98b reduce DRefine dependencies from Refine to AInvs
This needs (and includes) some deduplication and moving of lemmas formerly in
refine.
2018-10-22 13:21:11 +11:00
Edward Pierzchalski c4dc578bc3 Fix up proofs after word lemma moves 2018-10-10 14:15:01 +11:00
Edward Pierzchalski d75740201c Remove pure word lemmas from proof/*
Removes redundant lemmas after moving them up to Word_Lib.
2018-10-10 14:15:00 +11:00
Japheth Lim 18e0d934cc refine: move Orphanage to separate session, RefineOrphanage
Previously, the build system conditionally included Orphanage, but only
when built from run_tests. This meant that a plain ‘isabelle jedit’ or
‘make Refine’ would see a different session definition, resulting in a
slow rebuild.

NB: editing Orphanage now requires -l Refine instead of -l BaseRefine.
2018-10-03 19:47:04 +10:00
Mitchell Buckley 331a0ee1c2 Minor adjustments to the patch for selfour-1491.
There were some sloppy last-minute changes that were not properly tested
and managed to evade testing. These contained a single logical omission
and a few typographic mistakes.
2018-09-21 10:09:49 +10:00
Mitchell Buckley 8173a37c2d Updated specs and proofs for SELFOUR-1491: control IRQ triggering on ARM. 2018-09-19 16:18:09 +10:00
Gerwin Klein fa553b8085 aspec/refine: remove redundant captransfer_size definition 2018-08-20 09:06:37 +10:00
Gerwin Klein a7782f4af4 Isabelle2018 x64: Refine 2018-08-20 09:06:36 +10:00
Gerwin Klein 0c407a64d9 Isabelle2018 arm_hyp: Refine 2018-08-20 09:06:36 +10:00
Gerwin Klein 9646c3a315 Isabelle2018 arm: Refine 2018-08-20 09:06:36 +10: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
Gerwin Klein 011e08458e Isabelle2018: new comment syntax
(result of "isabelle update_comments <dirs>")
2018-08-20 09:06:35 +10:00
Gerwin Klein c6981d5556 x64 refine: add IOPortControl to EmptyFail_H 2018-08-20 09:06:34 +10:00
Gerwin Klein 7cd5538934 arm_hyp refine: prove EmptyFail_H
This theory is part of the Refine session, but only used in InfoFlow,
which is why it has been missed so far.
2018-08-20 09:06:34 +10:00
Gerwin Klein b5cdf4703f globally use session-qualified imports; add Lib session
Session-qualified imports will be required for Isabelle2018 and help clarify
the structure of sessions in the build tree.

This commit mainly adds a new set of sessions for lib/, including a Lib
session that includes most theories in lib/ and a few separate sessions for
parts that have dependencies beyond CParser or are separate AFP sessions.
The group "lib" collects all lib/ sessions.

As a consequence, other theories should use lib/ theories by session name,
not by path, which in turns means spec and proof sessions should also refer
to each other by session name, not path, to avoid duplicate theory errors in
theory merges later.
2018-08-20 09:06:34 +10:00
Gerwin Klein ead3e6fdc4 aspec: message_info_to_data is mostly arch independent
Factored out msg_label_bits, which is the only architecture specific part.
2018-08-06 11:22:51 +10:00
Thomas Sewell 26049db669 Repair proofs for wpsimp/crunch changes.
A handle of fiddly proofs change slightly. A common offender involves
tcb_cap_cases, which should be unfolded with the ran_tcb_cap_cases
rule where possible rather than with tcb_cap_cases_def.
2018-08-03 18:25:30 +10:00
Joel Beeren 0f0f46b2b0 x64: refine: fix fallout from decodeX64PageInvocation change 2018-07-05 16:23:15 +10:00
Joel Beeren 2558a7c6e5 x64: crefine: update decodeX64FrameInvocation to not mask with PPTR_USER_TOP 2018-07-05 16:23:15 +10:00
Joel Beeren 7f52da6571 x64: ainvs+refine: fix up proofs for decodeX64FrameInvocation changes 2018-07-05 16:23:15 +10:00
Joel Beeren 5ed7bb16be x64: fix up definition of performPageInvocation for unmapping pages 2018-07-05 16:23:15 +10:00
Joel Beeren 151ca60b9f x64: refine: add new invariant "pspace_in_kernel_mappings'"
This invariant shows that all pointers in ksPSpace are above pptr_base -
that is, in the kernel window. This was never formally proven before, as
had never truly been required (although it is true).
2018-07-05 16:23:15 +10:00
Michael Sproul b91ee8e4d0 x64: spec+ainvs+refine: add machine ops for nativeThreadUsingFPU and switchFpuOwner 2018-07-05 16:23:15 +10:00
Joel Beeren df1c4b1e45 x64: spec+refine: plumb call through perform_ioport_invocation 2018-07-05 16:23:15 +10:00
Michael Sproul e9940dee83 x64: spec+refine: remove VMIOSpaceMap, tighten valid_cap' map type guarantees 2018-07-05 16:23:15 +10:00
Joel Beeren a4a9a9f721 x64: spec: update ensurePortOperationAllowed to better match C 2018-07-05 16:23:15 +10:00
Michael Sproul 43f482ab26 x64: ainvs: refine: changes for IRQ invocations (VER-879) 2018-07-05 16:23:15 +10:00
Michael Sproul c481c7d2df x64: set cteRightsBits to 0 (VER-930) 2018-07-05 16:23:15 +10:00
Joel Beeren 8953543843 x64: ainvs+refine: remove invalidateASIDEntry, simplify with just hwASIDInvalidate 2018-07-05 16:23:15 +10:00
Joel Beeren 8cb2744306 x64: refine: cleanup after ioportcontrol 2018-07-05 16:23:15 +10:00
Matthew Brecknell 4967850316 x64: clear wordFromMessageInfo_spec sorry in VSpace_C 2018-07-05 16:23:15 +10:00
Corey Lewis e7145a693e x64: proof update for crunch changes 2018-07-05 16:23:15 +10:00
Matthew Brecknell f649240cde x64: CR3 and machine op updates for Meltdown 2018-07-05 16:23:15 +10:00
Matthew Brecknell a3de401c09 x64: more abstract specs and invariants for ASIDs 2018-07-05 16:23:15 +10:00
Gerwin Klein 99f2868803 x64 refine: RAB_FN (needed for x64 crefine) 2018-07-05 16:23:14 +10:00
Joel Beeren c12aa74ca3 x64: refine: add valid_pspace' -> pspace_canonical' drule 2018-07-05 16:23:14 +10:00
Matthew Brecknell bcac2c8492 x64: clear some sorry proofs from CSpace_C
Also update some Haskell and abstract specs relating to IO ports.
2018-07-05 16:23:14 +10:00
Joel Beeren b072714ca1 x64: crefine: move pspace_canonical' lemmas to refine 2018-07-05 16:23:14 +10:00
Rafal Kolanski 9159cf7c0d x64 refine: add pspace_canonical' invariant
All kernel objects in the kheap exist at canonical addresses. Additional
constraint needed on Untyped caps: they must refer to a canonical
address in memory, since the Untyped objects themselves do not live in
the kheap.

The invariant is needed to discharge pointer dereference guards in C for
pointers obtained from kernel objects. We managed to prove it without
adding abstract invariants.
2018-07-05 16:23:14 +10:00
Maksym Bortin 9d315cda20 ainvs+refine: update proofs for SetTLSBase (VER-807) 2018-07-03 13:42:19 +10:00
Rafal Kolanski 15d6b62040 arm: address setCurrentPD mismatch between abstract/haskell/C
ARM setCurrentPD was recently refactored as part of multi-VM support for
ARM_HYP. The Haskell was updated correctly, and the C was not.
Unfortunately, setCurrentPD was manually redefined in MachineOps.thy for
ARM hiding the change, making the C look correct when it wasn't.

We scrap the second definition of setCurrentPD, load it from the Haskell,
and have an abstract set_current_pd that's a bit simpler to refine down
from.

The proofs are updated for the above change and the update to the C
setCurrentPD that was breaking on KZM.
2018-06-22 11:59:30 +10:00
Rafal Kolanski 4a3d7a958c arm-hyp: update proofs for SELFOUR-584: running multiple VMs on ARM
As requested by verification, hypervisor registers are now an
enumeration-indexed array rather than individual fields. This cleans up
some of the proof. Additionally, we sweep some non-complexity under the
machine op rug: vcpu_hw_write/read_reg_ccorres is as deep as we go,
rather than specifying every operation and proving that
vcpu_hw_write seL4_VCPUReg_REG calls set_REG for every REG

I took this opportunity to clean up some arm-hyp definitions and proofs,
so some whitespace cleanup got tangled in.
2018-06-15 18:48:47 +10:00
Corey Lewis c686d6e776 lib: Make Crunch more effective at applying supplied rules 2018-06-08 15:48:32 +10:00
Joel Beeren 25125763bd arm-hyp: ioportcontrol: fixes after adding IOPortControlCaps to x64 2018-04-19 05:27:06 +10:00
Joel Beeren 1634608453 arm: ioportcontrol: Fixes after adding IOPortControlCaps to x64 2018-04-19 05:27:06 +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
Gerwin Klein cf601cb3c6 refine+crefine: update proofs for range check change 2018-04-11 08:05:46 +10:00
Rafal Kolanski 9813f6a09f arm-hyp haskell+refine: reorder arch invocation labels to match C 2018-04-07 00:02:51 +10:00
Corey Lewis 2d0baab462 Proof update for crunch changes 2018-04-04 14:13:55 +10:00
Thomas Sewell 0f38e20094 Many proof repairs. 2018-03-16 14:57:51 +11:00
Thomas Sewell 652cbb966e Initial proof updates for combinator changes. 2018-03-16 14:53:22 +11:00
Gerwin Klein 53996e94d9 arm-hyp refine: proof update for user_context refactor 2018-03-08 18:41:28 +11:00
Gerwin Klein 2d9de5b9a6 ARM refine: proof update for user_context refactor 2018-03-08 18:41:28 +11:00
Gerwin Klein 72c4123d10 x64 refine: proof update for user_context refactor 2018-03-08 18:41:28 +11:00
Michael Sproul f0795805d1 SELFOUR-1016: fix confused deputy problem when setting priorities 2018-02-26 11:19:43 +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
Joel Beeren 3d225cde69 VER-910: add msgLabelBits to haskell
message_info structs have 20 bit labels. On 32-bit systems, the label
does not need to be masked as there are no extra padding bits in the
struct, but this is not true for 64-bit systems. As a result, the
haskell needs to mask msgLabelBits (=20) when extracting the label in
messageInfoFromWord.
2018-02-07 10:36:59 +11:00
Matthew Fernandez d675e253ba fix broken README links 2018-01-29 13:24:35 +11:00
Michael Sproul 995b88cefa SELFOUR-707: schedule highest priority thread on setPriority 2018-01-19 16:08:11 +11:00
Gerwin Klein 7c0e7970d6 x64 refine: proof update for ASIDMap removal 2018-01-11 18:48:37 +11:00
Matthew Brecknell 2f540e802c add constant definitions for bounds on untyped object sizes 2017-12-18 12:58:27 +11:00
Miki Tanaka dcca6d496f x64 ainvs/refine: simple_ko setter/getter 2017-12-14 18:03:41 +11:00
Miki Tanaka 6eb2cb74ad arm-hyp: simple_ko setter/getter 2017-12-14 18:03:31 +11:00
Miki Tanaka 2a1beffac1 arm: update for simple_ko getter/setter 2017-12-14 18:02:48 +11:00
Miki Tanaka 3841b6e8ba arm : add AEndpoint and ANTFN a_type simplification
in addition to the a_type ATCB simplification, the following two are now in the simpset:
  "a_type (Endpoint x) = AEndpoint"
  "a_type (Notification v) = ANTFN"
2017-12-14 07:17:27 +11:00
Joel Beeren ffc0640869 VER-853: put arch_check_irq into the Arch locale, and update x64 to match C 2017-12-13 12:13:36 +11:00
Joel Beeren 0c9d7269d4 x64: miscellaneous constant updates (VER-845, VER-852)
Updated syscallMessage register list, maxIRQ to match C code
2017-12-13 12:13:36 +11:00
Joel Beeren b01b341b3c x64: adjust definition of Arch.switchToIdleThread (VER-848) 2017-12-13 12:13:36 +11:00
Joel Beeren a5a5edc832 VER-849: abstractly declare a threads registers have changed
This removes an ifdef present in invokeTCB_(Copy|Write)Registers, and
adds the function Arch_postModifyRegisters which does nothing on any
arch except x86-64.
2017-12-13 12:13:36 +11:00
Rafal Kolanski 2f28bfeaec x64: revise scheduler / fastpath / scheduler bitmaps (SELFOUR-242)
Apply "invert-fastpath" changes to x64 (ainvs, refine, partial crefine).
See main commit for arm for more context.
2017-11-27 22:05:46 +11:00
Rafal Kolanski 7b36283c70 arm-hyp: revise scheduler / fastpath / scheduler bitmaps (SELFOUR-242)
Apply "invert-fastpath" changes to arm-hyp (ainvs, refine, crefine).
See main commit for arm for more context.
2017-11-27 22:05:46 +11:00
Rafal Kolanski 3a22487cf3 arm: revise scheduler / fastpath / scheduler bitmaps (SELFOUR-242)
Colloquially known as "invert-fastpath".

Update verification efforts on ARM for the following seL4 changes:
- scheduling decisions done in possibleSwitchTo are moved to the
  scheduler
  - possibleSwitchTo only checks whether the candidate is valid for a
    fast switch, not its priority, accepting possible candidates
    immmediately as a switch-to scheduler action
  - the scheduler checks the candidate against the current thread and
    against the bitmaps before making a decision
  - attemptSwitchTo and switchIfRequiredTo are gone
  - scheduler is now more complicated, and numerous proofs related to it
    are rewritten from scratch
- fast path now checks ready queues via the scheduler bitmaps
- L2 scheduler bitmap order reversed for better cache locality

Many iterations between the kernel and verification teams were needed
to get this right.
2017-11-27 22:05:34 +11:00
Gerwin Klein 68ae97454e lib: more modifiers for wpsimp (wp_del, simp_del) 2017-11-03 08:09:29 +11:00
Matthew Brecknell 3cb118fe02 Isabelle2017: update Refine for RC0 2017-10-30 12:23:26 +11:00
Matthew Brecknell 48b3a8b4ca update object and field widths for x64, and remove some magic numbers
In X64 update the following to match the C kernel:
  - TCB size-bits (11).
  - Endpoint size-bits (4).
  - Guard bits (58).
  - Message registers.

For all architectures, replace magic numbers with defined constants in
specifications, and as far as possible in proofs:
  - tcb_bits in abstract spec.
  - tcbBlockSizeBits, cteSizeBits, ntfnSizeBits, epSizeBits in Haskell
    spec, Haskell and C refinement proofs.
2017-10-26 14:05:35 +11:00
Miki Tanaka 9bdb47e114 reintroduce Orphanage test (for ARM only)
- Orphanage files in the ARM_HYP and X64 directories are not tested at the moment
- once we finish proving them, we will remove the restriction to ARM
2017-10-24 13:49:21 +11:00
Pang Luo 6b9912c47a manually adjust non-obvious cases of tab to space replacement 2017-10-20 14:22:36 +11:00
Matthew Brecknell 184d6b70b7 remove most tab characters 2017-10-20 14:22:36 +11:00
Joel Beeren 7e915e39bd x64: adjusted abbreviation in ArchAcc_AI to restore global name-clash counter to be consistent between architectures.
A private abbreviation in an anonymous context incidentally incremented
the global counter Variable.max_idxof which is used to avoid
name-collisions in lemmas.

For some reason (not obvious) the abbreviation in question was
incrementing the counter, and because it
was only in an X64 file, this resulted in X64 and the other
architectures getting out of sync. This was file previously, but became
a problem when processing the generic file lib/clib/Corres_C.

This commit adjusts the abbreviation to not increment the counter, and
fixes Refine and SR_lemmas_C to account for this change.
2017-09-19 12:07:02 +10:00
Miki Tanaka 07e9bfa417 remove_valid_arch_objs: updates for X64 2017-08-18 09:44:00 +10:00
Miki Tanaka 6d8e917087 Remove valid_arch_objs
now that we have valid_vspace_objs to express validiy of
vspace objects, we do not need valid_arch_objs: we have
valid_objs to state the validity of non-vspace arch objects.
2017-08-17 22:44:23 +10:00
Joel Beeren 42401684b0 refine: integrate all architectures 2017-08-09 17:02:49 +10:00
Matthew Brecknell 238e8b307e x64: merge master 2017-07-21 11:27:12 +10:00
Daniel Matichuk d38a19f1bb fix ARM_HYP Refine for newest corres method after ARM_HYP rebase
VER-737
2017-07-18 12:19:48 -06:00
Daniel Matichuk c72bece06f fix ARM Refine for newest corres method after ARM_HYP rebase
VER-737
2017-07-18 12:19:27 -06:00
Daniel Matichuk 2d2f2a1e1d fix refine proofs for improved corres_pre
minor fix - verification condition no longer
generated mid-proof

VER-737
2017-07-17 13:09:46 -06:00
Daniel Matichuk 8c7163457a remove explicit use of corres_rv rules
This is now handled by the corres method

VER-737
2017-07-17 13:09:46 -06:00
Daniel Matichuk 206be43920 use correswp and correct corres_rv rules 2017-07-17 13:09:46 -06:00
Daniel Matichuk fa6112378d cleanup refine for latest corres_method
Some fallout from protecting return-value relations

VER-737
2017-07-17 13:09:08 -06:00
Daniel Matichuk 8d454f1deb use new lift_corres_args attribute to abstract function args
This avoids manually rewriting the lemma statements, but puts
the rules in the more general form
2017-07-17 13:08:19 -06:00
Daniel Matichuk 2bc620c670 addressing protect_r -> corres_protect rename 2017-07-17 13:08:19 -06:00
Daniel Matichuk 196e2e2e0a fix corres proofs for corres method
Fixing the fact that ex_abs is slightly rephrased

VER-737
2017-07-17 13:06:55 -06:00
Daniel Matichuk 9ab936e815 fix refine after changes to corres_method 2017-07-17 12:54:08 -06:00
Alejandro Gomez-Londono 796887d9b1 Removes all trailing whitespaces 2017-07-12 15:13:51 +10:00
Joel Beeren 81064fdb55 idle-thread-pd: run idle thread with the global PD all the time.
This avoids the multicore scenario of the idle thread running in the
address space that has been deleted by a thread running on another core.
2017-07-11 11:29:34 +10:00
Miki Tanaka 41fe1a0845 update proofs for SELFOUR-30/291 "Reschedule on self-modification"
- SELFOUR-30 Reschedule when changing own IPC buffer
Previously if you invoked the TCB of the current thread and
changed the IPC buffer frame this would not immediately take
affect, as the kernels view of the current IPC buffer is
updated in Arch_switchToThread. This change forces Arch_switchToThread
to get called, even if we would switch back to the original
thread.

- SELFOUR-291 Reschedule when changing own registers
Previously if you wrote to TCB of the current thread and
changed the TLS_BASE this would not immediately take
affect, as the kernel only updates this register in
Arch_switchToThread. This change forces Arch_switchToThread
to get called, even if we would switch back to the original
thread.
2017-06-26 15:52:35 +10:00
Joel Beeren 392d055e99 SELFOUR-748: rename tlb invalidation functions 2017-06-20 14:05:45 +10:00
Alejandro Gomez-Londono 2d20221396 arm refine: updates for the backport from arm-hyp completed 2017-06-19 14:32:44 +10:00
Alejandro Gomez-Londono b76709967b arm refine: Updating theories for ainvs changes 2017-06-19 14:32:44 +10:00
Miki Tanaka 35f714addf arm-hyp refine: reintroduce valid_global_objs and valid_global_vspace_mappings 2017-06-19 14:32:43 +10:00
Pang Luo a4e9ffa403 arm-hyp: refactor tpidrurwRegister and fix corresponding proofs
See VER-717
2017-06-19 14:32:43 +10:00
Joel Beeren 1f4b9e686a arm-hyp: rename archTCBSanitise, arch_tcb_sanitise_condition, Arch_hasVCPU to be more appropriate 2017-06-19 14:32:43 +10:00
Matthew Brecknell 25ef365531 arm-hyp refine: fix proofs broken by spec updates 2017-06-19 14:32:43 +10:00
Matthew Brecknell 1f5a142096 arm-hyp refine: remove corresK_machine_op from the default corresK set 2017-06-19 14:32:43 +10:00
Miki Tanaka eb967add36 arm-hyp refine: remove remaining sorries for vcpuSave spec change 2017-06-19 14:32:42 +10:00
Miki Tanaka 2e962ff0a3 arm-hyp refine: reduce sorries in VSpace_R for vcpu_save change 2017-06-19 14:32:41 +10:00
Miki Tanaka ea7b95d4dd arm-hyp refine: vcpuSave_corres for the new vcpuSave 2017-06-19 14:32:41 +10:00
Miki Tanaka f6f4d724fe arm-hyp refine: more sorries in CNodeInv_R and Schedule_R for spec updates 2017-06-19 14:32:41 +10:00
Miki Tanaka 131972d498 arm-hyp refine: VSpace_R sorried for spec change fixes 2017-06-19 14:32:41 +10:00
Miki Tanaka 3e65a59f1c arm-hyp refine: fix for makeVIRQ spec change 2017-06-19 14:32:41 +10:00
Joel Beeren 8ae57e7a81 arm-hyp refine: fix breakages from sanitiseRegister_refactor 2017-06-19 14:32:40 +10:00
Alejandro Gomez-Londono d531dc9dc5 arm-hyp refine: fixed invokeVCPUInjectIRQ_corres 2017-06-19 14:32:40 +10:00
Miki Tanaka 6b3528b24d arm-hyp refine: sorry fallouts from invoke_vcpu_inject_irq change 2017-06-19 14:32:40 +10:00
Miki Tanaka a07c41a43b arm-hyp refine: fix fallouts from the spec changes (excluding those in vcpu_save), with 1 sorry in Arch_R 2017-06-19 14:32:39 +10:00
Matthew Brecknell 35df51dd8f arm-hyp refine: prove word lemmas relating to duplicate page table entries 2017-06-19 14:32:39 +10:00
Gerwin Klein 85053b2580 arm-hyp refine: new vs_valid_duplicates
The Haskell invariant now describes the page mappings necessary for LargePage
and SuperSection. Updates to refine/* to repair the corresponding fallout.

This commit moves some of the largePagePTEOffset et al lemmas from CRefine up
into Refine.

A small number of small but fiddly word lemmas are currently still sorried.
2017-06-19 14:32:38 +10:00
Miki Tanaka c132fb331c arm-hyo Refine: fix vcouDisable_corres for spec updates 2017-06-19 14:32:37 +10:00
Gerwin Klein 1e195355d7 arm-hyp refine: invariant: num vgic LR registers has a known maximum 2017-06-19 14:32:35 +10:00
Alejandro Gomez-Londono 766f32320a arm-hyp refine: update for dissociate_vcpu_tcb
* Swapping set_vcpu and arch_thread_set in dissociate_vcpu_tcb to
    match the order in C
2017-06-19 14:32:35 +10:00
Gerwin Klein 9ebaa2c3ea arm-hyp refine: new invariant: VMNoAccess is unused 2017-06-19 14:32:35 +10:00
Alejandro Gomez-Londono a488e8dd44 arm-hyp refine: various fixes and renames for obj_at' related rules 2017-06-19 14:32:34 +10:00
Alejandro Gomez-Londono 2dc5ec8601 arm-hyp refine: update for do_flush/doFlush 2017-06-19 14:32:32 +10:00
Alejandro Gomez-Londono b96877f244 arm-hyp refine: (Fix) Correctly defining setCurrentPD 2017-06-19 14:32:32 +10:00
Rafal Kolanski a8b7b7887d arm-hyp refine: update for asidHighBits change 2017-06-19 14:32:31 +10:00
Miki Tanaka fc74a6440f arm-hyp refine: repair for rebase (new corres)
- fixes the fallout from the updated corres method.
- also includes some fixes by: Daniel Matichuk <daniel.matichuk@data61.csiro.au>
2017-06-19 14:32:31 +10:00
Miki Tanaka bf98897a98 arm-hyp refine: Refine sorry free 2017-06-19 14:32:31 +10:00
Miki Tanaka ca9582a2e8 arm-hyp refine: VSpace_R sorry free 2017-06-19 14:32:31 +10:00
Alejandro Gomez-Londono ddb5c4043c arm-hyp refine: VSpace_R, 2 sorries left 2017-06-19 14:32:31 +10:00
Alejandro Gomez-Londono 34a7c911e2 arm-hyp refine: VSpace_R, 2 sorries left, 1 sorry elsewhere 2017-06-19 14:32:31 +10:00
Gerwin Klein 37ef712322 arm-hyp refine: zobj_refs adjustments; Arch_R sorry-free 2017-06-19 14:32:31 +10:00
Gerwin Klein 0bf8d784b5 arm-hyp refine: zobj_refs' for VCPU (needed for liveness) 2017-06-19 14:32:31 +10:00
Gerwin Klein e48643f785 arm-hyp refine: reduce sorries in Arch_R 2017-06-19 14:32:30 +10:00
Miki Tanaka 19b519ba29 arm-hyp refine: VSpace_R, 4 sorries left 2017-06-19 14:32:30 +10:00
Miki Tanaka 3edf057812 arm-hyp refine: tidying up Schedule_R 2017-06-19 14:32:30 +10:00
Alejandro Gomez-Londono bee7435458 arm-hyp refine: reduce sorries in Arch_R 2017-06-19 14:32:30 +10:00
Gerwin Klein 5e9080c77b arm-hyp refine: Syscall_R sorry-free 2017-06-19 14:32:30 +10:00
Gerwin Klein 501e71adbe arm-hyp refine: CNodeInvs_R sorry-free 2017-06-19 14:32:30 +10:00
Gerwin Klein 8118968a05 arm-hyp refine: remove sorry in Syscall_R 2017-06-19 14:32:30 +10:00
Gerwin Klein c34aef1ee3 arm-hyp refine: DomainTime_R sorry-free 2017-06-19 14:32:30 +10:00
Gerwin Klein 14b0f600ab arm-hyp refine: Finalise_R sorry-free 2017-06-19 14:32:30 +10:00
Gerwin Klein 187611825c arm-hyp refine: dissociateVCPUTCB_invs' 2017-06-19 14:32:30 +10:00
Alejandro Gomez-Londono 31575f1065 arm-hyp refine: reduce sorries in Arch_R 2017-06-19 14:32:30 +10:00
Miki Tanaka ff6da2f76c arm-hyp refine: Retype_R sorry free 2017-06-19 14:32:30 +10:00
Gerwin Klein 6f32ddc7e9 arm-hyp refine: remove setVCPU_invs from wp set.
(The rule will need more preconditions, so we don't want it used
automatically yet.)
2017-06-19 14:32:30 +10:00
Gerwin Klein f727cc983c arm-hyp refine: remove crunch sorries in DomainTime_R
Still two sorries left that depend on vgicMaintenance.
2017-06-19 14:32:30 +10:00
Alejandro Gomez-Londono 23d80dd261 arm-hyp refine: Ipc_R sorry free 2017-06-19 14:32:30 +10:00
Alejandro Gomez-Londono fa5448625b arm-hyp refine: reduce sorries in Arch_R 2017-06-19 14:32:29 +10:00
Miki Tanaka cb5e0bcd7e arm-hyp refine: VSpace_R incremental progress (vcpuSwitch invariants) 2017-06-19 14:32:29 +10:00
Miki Tanaka b74e8c59a2 arm-hyp refine: Schedule_R sorry free
- last few sorries are moved to VSpace_R
2017-06-19 14:32:29 +10:00
Miki Tanaka 774448a7de arm-hyp refine: Untyped_R sorry free 2017-06-19 14:32:29 +10:00
Gerwin Klein 35e751f005 arm-hyp refine: PageTableDuplicates sorry-free 2017-06-19 14:32:29 +10:00
Alejandro Gomez-Londono 10e8973abb arm-hyp refine: reduce sorries in Ipc_R 2017-06-19 14:32:29 +10:00
Alejandro Gomez-Londono 8ccba110a1 arm-hyp refine: reduce (more) sorries in VSpace_R 2017-06-19 14:32:29 +10:00
Alejandro Gomez-Londono 36146506ee arm-hyp refine: reduce sorries in VSpace_R 2017-06-19 14:32:29 +10:00
Gerwin Klein 4067704e99 arm-hyp refine: reduce sorries in PageTableDuplicates 2017-06-19 14:32:29 +10:00
Gerwin Klein 8ae1d84e94 arm-hyp refine: reduce sorries in Finalise_R 2017-06-19 14:32:29 +10:00
Gerwin Klein 96958113ef arm-hyp refine: IPCCancel sorry-free
inlcuding simplification to ep and ntftn state_hyp_refs_of lemmas
2017-06-19 14:32:29 +10:00
Gerwin Klein 1e9d0dc006 arm-hyp refine: completed remaining instances of no_vcpu class 2017-06-19 14:32:29 +10:00
Alejandro Gomez-Londono 2f972cfffd arm-hyp refine: more vcpuSwitch hoare triples 2017-06-19 14:32:29 +10:00
Alejandro Gomez-Londono 69d16699ee arm-hyp refine: Introducing no_vcpu typeclass to avoid duplicated lemmas
* Then idea with this class is to be able to genericaly constrain
    predicates over pspace_storable values to are not of type VCPU,
    this is useful for invariants such as obj_at' that are trivialy
    true (sort of) if the predicate and the function (in the hoare
    triple)
2017-06-19 14:32:29 +10:00
Gerwin Klein 89496b3d90 arm-hyp: valid_arch_state' 2017-06-19 14:32:28 +10:00
Alejandro Gomez-Londono a751e4f798 arm-hyp refine: More invariants for vcpuSwitch and alike 2017-06-19 14:32:28 +10:00
Miki Tanaka d1eef6c026 arm-hyp refine: Detype_R sorry free 2017-06-19 14:32:28 +10:00
Miki Tanaka 511d3f5c40 arm-hyp refine: one sorry left in Detype_R 2017-06-19 14:32:28 +10:00
Miki Tanaka bdd6f9c896 arm-hyp refine: add armUSGlobalPD to global_refs' in Invariants_H 2017-06-19 14:32:28 +10:00
Alejandro Gomez-Londono a6b0559e23 arm-hyp refine: set_vm_root_corres and auxiliary lemmas 2017-06-19 14:32:28 +10:00
Alejandro Gomez-Londono e52c985b4b arm-hyp refine: add valid_arch_tcb' invariant (vcpu_at' for atcbVCPUPtr) 2017-06-19 14:32:28 +10:00
Miki Tanaka 9103207d8a arm-hyp refine: fix storePDE/storePTE sorries in VSpace_R 2017-06-19 14:32:28 +10:00
Miki Tanaka 4260a2c545 arm-hyp refine: new definition of valid_arch_state', with more sorries for now
valid_arch_state' now requires armHSCurVCPU to be a pointer to a live' vcpu
2017-06-19 14:32:28 +10:00
Miki Tanaka aa82471c17 arm-hyp refine: Invariants_H sorry free 2017-06-19 14:32:28 +10:00
Miki Tanaka 1c85326bac arm-hyp refine: new definition of valid_vcpu'
this introduces a more accessible definition of valid_vcpu'
2017-06-19 14:32:27 +10:00
Alejandro Gomez-Londono 4e90b0558f arm-hyp refine: fixing some broken lemmas after the last batch of changes 2017-06-19 14:32:27 +10:00
Alejandro Gomez-Londono b7e754bf1b arm-hyp refine: vcpu{Switch,Save,Enable,etc}_corres + other related lemmas 2017-06-19 14:32:27 +10:00
Alejandro Gomez-Londono 76b02fe736 arm-hyp ainvs: Fixing StateRelation due to some renaming in abstract/haskell 2017-06-19 14:32:27 +10:00
Gerwin Klein 740d606774 refine: closed the Orphanage
Not necessary for CRefine and better proved on the abstract spec now.
To be resurrected (on abstract) in the future.
2017-06-19 14:32:27 +10:00
Gerwin Klein 75acdb3823 arm-hyp refine: add IRQReserved to state relation 2017-06-19 14:32:27 +10:00
Gerwin Klein e2d8a0ae50 arm-hyp refine: Tcb_R sorry free 2017-06-19 14:32:27 +10:00
Gerwin Klein bc40dc4a46 arm-hyp refine: remove unused ADT_H lemma 2017-06-19 14:32:27 +10:00
Gerwin Klein e9d3c3eb54 arm-hyp: remove unused ParityEnabled in aspec; solve sorries in ADT_H
ParityEnabled isn't used in ARM_HYP and we had to prove its absence as
invariant, which in turn makes the abstraction function from Haskell
to abstract partial (only works when invariants hold).

This commit removes that problem by removing ParityEnabled from the
abstract spec. Updated ainv and refine as necessary.
2017-06-19 14:32:27 +10:00
Gerwin Klein 61136c29fd arm-hyp: wp_pre rebase repair 2017-06-19 14:32:27 +10:00
Gerwin Klein f33d584cac arm-hyp refine: proof repair for spec updates 2017-06-19 14:32:26 +10:00
Gerwin Klein 5a03004e2c refine: minor cleanup 2017-06-19 14:32:26 +10:00
Gerwin Klein 29abd9a19e arm-hyp/refine: vgic maintenance updates 2017-06-19 14:32:26 +10:00
Gerwin Klein e4d8bb1d4f arm_hyp/refine: 'getActiveIRQ in_kernel' updates 2017-06-19 14:32:26 +10:00
Alejandro Gomez-Londono e6c70be8a5 arm-hyp refine: Adding vcpuSwitch_corres and similar 2017-06-19 14:32:25 +10:00
Matthew Brecknell 43c742901b arm-hyp refine: trivial: remove spurious Eisbach import 2017-06-19 14:32:25 +10:00
Matthew Brecknell edee892ac0 arch_split: refine: remove spurious reference to ARM namespace 2017-06-19 14:32:25 +10:00
Matthew Brecknell 4d97cdd6a3 arch_split: refine: update DetSchedSchedule_AI imports 2017-06-19 14:32:25 +10:00
Miki Tanaka 56c00ab03a arm-hyp refine: sorrying done 2017-06-19 14:32:25 +10:00
Miki Tanaka 18d76773fa arm-hyp refine: sorrying done upto VSpace_R 2017-06-19 14:32:25 +10:00
Alejandro Gomez-Londono fd79501491 arm-hyp refine: ArchAcc_R done
tags: [VER-696]
2017-06-19 14:32:24 +10:00
Miki Tanaka 881ce3e8cb arm-hyp refine: Invariants_H done for now, sorried up to ArchAcc_R 2017-06-19 14:32:24 +10:00
Miki Tanaka 9060562bfe arm-hyp refine: update refine for the rebase (includes all the changes)
None of these files contain arm-hyp specific changes yet.
2017-06-19 14:32:24 +10:00
Miki Tanaka 00a68d1470 arm-hyp refine: sorrying in progress (now in CSpase_R) 2017-06-19 14:32:23 +10:00
Miki Tanaka 8cf46846b5 arm-hyp refine: Invariants_H and StateRelation updated 2017-06-19 14:32:23 +10:00
Miki Tanaka e3cb71ef04 arm-hyp refine: copy ARM files to ARM_HYP directory, updating invariants in progress 2017-06-19 14:32:23 +10:00