History log of /seL4-l4v-10.1.1/l4v/proof/invariant-abstract/ARM/ArchVSpace_AI.thy
Revision Date Author Comments
# 8173a37c 13-Aug-2018 Mitchell Buckley <mitchell.buckley@data61.csiro.au>

Updated specs and proofs for SELFOUR-1491: control IRQ triggering on ARM.


# 6b9d9d24 09-Jun-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

Isabelle2018: new "op x" syntax; now is "(x)"

(result of "isabelle update_op -m <dir>")


# 011e0845 09-Jun-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

Isabelle2018: new comment syntax

(result of "isabelle update_comments <dirs>")


# 15d6b620 21-Jun-2018 Rafal Kolanski <rafal.kolanski@nicta.com.au>

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.


# 2d0baab4 13-Mar-2018 Corey Lewis <corey.lewis@data61.csiro.au>

Proof update for crunch changes


# 0f38e200 25-Feb-2018 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

Many proof repairs.


# 652cbb96 14-Mar-2018 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

Initial proof updates for combinator changes.


# 4601f2a1 06-Feb-2018 Joel Beeren <joel.beeren@data61.csiro.au>

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.


# 4f68967b 28-Aug-2017 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

Isabelle2017: update AInvs for RC0

* word_eqI is no longer rule_format.

* Updated Isabelle/ML Thm.join_proofs to Thm.consolidate.

* Updated suffix_refl to suffix_order.order.refl.

* Removed some lines of proofs, thanks to improved simplifier.


# 6d8e9170 19-Jul-2017 Miki Tanaka <miki.tanaka@nicta.com.au>

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.


# 392d055e 15-May-2017 Joel Beeren <joel.beeren@nicta.com.au>

SELFOUR-748: rename tlb invalidation functions


# 702bfecd 17-May-2017 Joel Beeren <joel.beeren@nicta.com.au>

ainvs: reintroduce second_level_tables all over the place, update generic Arch_AI and various ArchArch_AI's to match


# 993f6a01 16-May-2017 Miki Tanaka <miki.tanaka@nicta.com.au>

arm ainvs: Updated up to ArchFinalise_AI


# 55421e30 08-Mar-2017 Joel Beeren <joel.beeren@nicta.com.au>

x64: general cleanup, renaming lemmas


# 3dafec7d 25-Jan-2017 Joel Beeren <Joel.Beeren@nicta.com.au>

backport changes to ARM proofs from X64 work in progress

- replace ARM-specific constants and types with aliases which can be
instantiated separately for each architecture.
- expand lib with lemmas used in X64 proofs.
- simplify some proofs.

Also-by: Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>


# b70d6f44 18-Jan-2017 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

x64: get ArchVSpace_AI to check

- Fixed some lemmas and their proofs.
- Marked some others as "sorry".
- Removed some lemmas that don't seem relevant to X64.


# 47119bf4 13-Jan-2017 Gerwin Klein <gerwin.klein@nicta.com.au>

wp_cleanup: update proofs for new wp behaviour

The things that usually go wrong:
- wp fall through: add +, e.g.
apply (wp select_wp) -> apply (wp select_wp)+

- precondition: you can remove most hoare_pre, but wpc still needs it, and
sometimes the wp instance relies on being able to fit a rule to the
current non-schematic precondition. In that case, use "including no_pre"
to switch off the automatic hoare_pre application.

- very rarely there is a schematic postcondition that interferes with the
new trivial cleanup rules, because the rest of the script assumes some
specific state afterwards (shouldn't happen in a reasonable proof, but
not all proofs are reasonable..). In that case, (wp_once ...)+ should
emulate the old behaviour precisely.


# 511c6b2d 03-Nov-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

Isabelle2016-1: rename free variables to avoid capture


# 41d4aa4f 25-Oct-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

Isabelle2016-1: update references to renamed constants and facts


# 63888fa9 16-May-2016 Thomas Sewell <Thomas.Sewell@nicta.com.au>

SELFOUR-444: AInvs proven for preemptible retype.


# 7989fa4f 26-Aug-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

x64: more progress in ArchVSpace_AI


# 8d4a8eb2 21-Sep-2016 Xin,Gao <xin.gao@nicta.com.au>

SELFOUR-421: fix coding style


# 1013e959 30-Jul-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

arch_split: give some vspace concepts more generic names

In particular rename "pd" to "vspace", when the pd represents
an address space.


# 6b6b8786 28-Jul-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

arch_split: move kernel_base and idle_thread_ptr to arch-specific theories


# 6ef4c2d6 06-Jul-2016 Matthew Brecknell <Matthew.Brecknell@nicta.com.au>

arch_split: invariants: split InterruptAcc_AI [VER-606]


# b3c80998 27-Jun-2016 Matthew Brecknell <Matthew.Brecknell@nicta.com.au>

arch_split: invariants: split Ipc_AI [VER-572]


# 322f1023 18-Apr-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

word_lib: adjust theory dependencies


# f0faa90f 17-Apr-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

lib/spec/proof/tools: fix word change fallout


# 9ceed1eb 03-May-2016 Daniel Matichuk <daniel.matichuk@nicta.com.au>

arch_split: fix proofs after removing shadow and unqualify commands and adding fix for crunch. Checks up to DPolicy.


# 1d20b393 26-Apr-2016 Daniel Matichuk <daniel.matichuk@nicta.com.au>

arch_split: replaced sublocale with global_naming


# aa632d48 12-Apr-2016 Matthew Brecknell <Matthew.Brecknell@nicta.com.au>

arch_split: invariants: up to Schedule_AI


# 04362dba 07-Apr-2016 Daniel Matichuk <daniel.matichuk@nicta.com.au>

arch_split: some quick and dirty arch_splitting by selectively interpreting the ARM locale (with FIXMEs)


# ab09d49b 05-Apr-2016 Daniel Matichuk <daniel.matichuk@nicta.com.au>

arch_split: checkpoint. Checks up to ArchVSpace_AI with two sorries (MattB WIP)