Commit Graph

45 Commits

Author SHA1 Message Date
Thomas Sewell 63888fa98d SELFOUR-444: AInvs proven for preemptible retype. 2016-11-02 11:19:08 +11:00
Matthew Brecknell a3714e8190 SELFOUR-276: Finish proofs for maximum controlled priority (MCP)
To finish the proof of refinement to C, the specification for checkPrio
needed strengthening: the checkPrio spec now takes a machine word
argument. In the spec, priorities are still stored as 8-bit quantities,
however. Once the spec was strenthened, it was possible to remove some
redundant checks and mask operations from the C code.

A thread's maximum controlled priority (MCP) determines the maximum
thread priority or MCP it can assign to another thread (or itself).
2016-10-05 02:43:41 +11:00
Sophie Taylor 20539620f9 SELFOUR-276: Add MCP to specs and invariants
A thread's maximum controlled priority (MCP) determines the maximum
thread priority or MCP it can assign to another thread (or itself).
2016-10-05 02:43:41 +11:00
Xin,Gao 8d4a8eb238 SELFOUR-421: fix coding style 2016-09-22 19:23:28 +10:00
Xin,Gao 113315d9a6 SELFOUR-421: merge and fix up to ArmConfidentiality proof 2016-09-22 19:21:56 +10:00
Xin,Gao 252ce8df4c SELFOUR-421: infoflow and infoflow_c builds 2016-09-22 19:11:37 +10:00
Xin,Gao 328846ee1a SELFOUR-421: crefine builds 2016-09-22 19:11:37 +10:00
Xin,Gao 7784e80940 SELFOUR-421: fix refine 2016-09-22 19:11:36 +10:00
Xin,Gao c3be923ca0 SELFOUR-421: a defend version before wild changes 2016-09-22 19:11:36 +10:00
Joel Beeren 3c223b42fe SELFOUR-421: AInvs done, no added invariants yet 2016-09-22 19:11:29 +10:00
Matthew Brecknell 1013e959c1 arch_split: give some vspace concepts more generic names
In particular rename "pd" to "vspace", when the pd represents
an address space.
2016-08-03 14:46:48 +10:00
Matthew Brecknell f9f160ed14 arch_split: replace some fixed word sizes with type aliases
Changed some instances of word32 to machine_word, and "10 word" to irq.
Also introduce a type_synonym for "machine_word_len".
2016-08-03 14:46:23 +10:00
Matthew Brecknell b9313f6d11 arch_split: invariants: tidied 2016-06-15 10:15:26 +10:00
Matthew Brecknell aceb021f88 arch_split: invariants: split Retype_AI [VER-556] 2016-06-08 10:33:09 +10:00
Daniel Matichuk 9ceed1eb12 arch_split: fix proofs after removing shadow and unqualify commands and adding fix for crunch. Checks up to DPolicy. 2016-05-04 15:14:41 +10:00
Matthew Brecknell 4e6369f86d arch_split: invariants: Finalise_AI checking 2016-04-15 15:11:32 +10:00
Matthew Brecknell d683425e0d arch_split: invariants: fixup CSpaceInv_AI, working on Finalise_AI 2016-04-14 19:01:20 +10:00
Daniel Matichuk 04362dba27 arch_split: some quick and dirty arch_splitting by selectively interpreting the ARM locale (with FIXMEs) 2016-04-07 17:05:14 +10:00
Daniel Matichuk ab09d49b59 arch_split: checkpoint. Checks up to ArchVSpace_AI with two sorries (MattB WIP) 2016-04-06 17:57:47 +10:00
Matthew Brecknell 69d7b50dae arch_split: CSpaceInv_AI work-in-progress 2016-04-04 10:49:18 +10:00
Matthew Brecknell f89279e381 arch_split: reworking predicates about arch objects and types 2016-03-24 17:24:14 +11:00
Daniel Matichuk 5e2f9a5e7c arch_split: change caps_of_state to be explicit projection f caps_of_state 2016-03-04 19:03:45 +11:00
Daniel Matichuk cdc0a840fe arch_split: change aobj_at to definition instead of abbreviation 2016-03-02 13:15:15 +11:00
Matthew Brecknell 8cc95bfb8e arch_split: merge master into arch_split 2016-03-01 11:30:47 +11:00
Miki Tanaka 6f6c58168c SELFOUR-56: Remove diminish rights from IPC 2016-02-24 13:24:10 +11:00
Daniel Matichuk d107cb6758 arch_split: halfway into KHeap_AI 2016-02-22 17:48:52 +11:00
Matthew Brecknell 84d2889d45 Isabelle2016: merge master into 2016 2016-02-19 16:17:26 +11:00
Daniel Matichuk df8261c121 arch_split: split up Invariants_AI 2016-02-17 16:36:29 +11:00
Gao Xin bc73b112bd l4v-sabre: change type of irq to be 10 word 2016-02-17 11:18:02 +11:00
Matthew Brecknell c65e290a8b Isabelle2016: merge master into 2016 2016-02-16 12:52:24 +11:00
Daniel Matichuk 1018d01b6f arch_split: More namespacing progress and invariant splitting. Checks halfway into Invariants_AI 2016-02-05 17:00:06 +11:00
Daniel Matichuk 9718f1bda2 arch_split: progress on namespacing abstract spec 2016-02-05 16:59:18 +11:00
Daniel Matichuk ca808130e6 repair ARM proofs up to Refine after factoring out architecture 2016-01-13 12:02:12 +11:00
Daniel Matichuk 3be2eaa7b0 repairing AInvs: checks up to the middle of VSpace_AI 2016-01-12 18:10:36 +11:00
Joel Beeren 457a55a831 add arch_tcb object to C, rename aep -> ntfn 2015-11-20 16:02:13 +11:00
Ramana Kumar 0fb88ea01c Merge branch 'master' into aep-merge
This commit should at least remove merge conflict markers, and the idea
is that at least refine, crefine, drefine, and infoflow (with sorrys)
build. Subsequent commits may be required to fix build issues that I
have not picked up.
2015-09-10 17:06:45 +10:00
Ramana Kumar d88a931ec7 history squashed patch for aep-binding 2015-09-02 15:43:39 +10:00
Gerwin Klein 12fa86863a fewer warnings 2015-05-16 19:52:49 +10:00
Gerwin Klein 17826f9b49 more Isabelle2015 update; AInvs up to (excluding) Syscall_AI
also includes some global replacements
2015-04-18 21:51:26 +01:00
Gerwin Klein 7e7d39c24e enable XN in abstract spec; update AInvs and Refine 2014-11-28 08:58:57 +11:00
Thomas Sewell fc6e57716a Proof updates, working as far as AInvs. 2014-08-11 14:50:56 +10:00
Gerwin Klein 1af1d2b67b some of the global Isabelle2014 renames
option_case -> case_option
sum_case -> case_sum
prod_case -> case_prod
Option.set -> set_option
Option.map -> map_option
option_rel -> rel_option
list_all2_def -> list_all2_iff
map.simps -> list.map
tl.simps -> list.sel(2-3)
the.simps -> option.sel
2014-08-09 15:39:20 +10:00
Gerwin Klein 50dda7708c comment cleanup 2014-07-22 18:10:20 +02:00
Gerwin Klein 84595f4233 release cleanup 2014-07-17 18:22:50 +02:00
Gerwin Klein 2a03e81df4 Import release snapshot. 2014-07-14 21:32:44 +02:00