History log of /seL4-l4v-10.1.1/l4v/proof/invariant-abstract/ARM_HYP/ArchArch_AI.thy
Revision Date Author Comments
# d930ef2c 30-Oct-2018 Santiago Bautista <santiago.bautista@data61.csiro.au>

arm-hyp ainvs: prove that the vcpu of the idle thread is always None

* Context :

We would like to prove that, for ARM_HYP architecture,
the current vcpu is always the vcpu associated to the current thread.
See issue https://jira.csiro.au/browse/VER-770
and PR 291 http://bitbucket.keg.ertos.in.nicta.com.au/projects/SEL4/repos/l4v/pull-requests/291

* Intermediate step : the vcpu of the idle thread is always None

In this commit we update the proofs of abstract invariants for
the arm_hyp architecture, so that the new version of `valid_idle`,
stating that the vcpu of the idle thread is always None, holds.


# c4dc578b 17-Sep-2018 Edward Pierzchalski <ed.pierzchalski@data61.csiro.au>

Fix up proofs after word lemma moves


# 590b83ce 23-Jun-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

Isabelle2018 arm: AInvs


# 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>")


# a3de401c 03-Apr-2018 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

x64: more abstract specs and invariants for ASIDs


# 97c24b95 11-Jun-2018 Corey Lewis <corey.lewis@data61.csiro.au>

ainvs: Add itcb_arch to the itcb projection

This allows us to more easily show that arch specific tcb fields are
preserved by many functions of the spec. For ARM_HYP we add a
projection for the tcb_vcpu field.


# 4a3d7a95 13-Jun-2018 Rafal Kolanski <rafal.kolanski@nicta.com.au>

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.


# 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.


# 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.


# 2f70a304 09-Aug-2017 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

ainvs: integrate all architectures


# 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


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

arm-hyp AInvs: reintroduce valid_global_objs and valid_global_vspace_mappings


# 3ef274ec 26-Apr-2017 Miki Tanaka <miki.tanaka@nicta.com.au>

arm-hyp invariants: fix fallouts from invoke_vcpu_inject_irq changey


# f5d073cb 05-Apr-2017 Rafal Kolanski <rafal.kolanski@nicta.com.au>

arm-hyp ainvs: update for asid_high_bits change


# abc195f1 21-Mar-2017 Gerwin Klein <gerwin.klein@data61.csiro.au>

arm-hyp ainvs: add valid_arch_tcb invariant (vcpu_at for tcb_vcpu)


# 7cf0631a 15-Mar-2017 Gerwin Klein <gerwin.klein@data61.csiro.au>

arm-hyp ainvs: proof updates for abstract spec changes

In particular for:
- new global PD
- disable vcpu on switch to idle
- banked registers


# dbbc0d41 25-Feb-2017 Gerwin Klein <gerwin.klein@data61.csiro.au>

arm-hyp: AInvs sorry-free


# 0a052543 16-Feb-2017 Gerwin Klein <gerwin.klein@data61.csiro.au>

ArchFinalise_AI and ArchArch_AI sorry-free


# 19852007 16-Feb-2017 Gerwin Klein <gerwin.klein@data61.csiro.au>

arm-hyp: AInvs checkpoint

- AInvs builds with new definitions of dissociate et al
- fixed most of the fallout of the change, left some as additional sorries
- should now be ready for additional cur_vcp live invariant


# 337a44ee 05-Feb-2017 Alejandro Gomez-Londono <alejandro.gomez@nicta.com.au>

arm-hyp invariants: ArchArch_AI progress

* Most sorries in ArchArch_AI are done
* valid_arch_objs_lift moved to ArchKHeap_AI

tags: [VER-679]


# 7e79b1b7 17-Jan-2017 Miki Tanaka <miki.tanaka@nicta.com.au>

changes after rebasing (for isabelle2016-1 and the new wp)


# d25e2c8d 19-Dec-2016 Alejandro Gomez-Londono <alejandro.gomez@nicta.com.au>

arm-hyp invariants: fixing crunches and invs proofs


# eb0ec4dc 27-Feb-2017 Miki Tanaka <miki.tanaka@nicta.com.au>

arch_splitting, fixing sorries, some more invariants


# 5cabf382 18-Dec-2016 Miki Tanaka <miki.tanaka@nicta.com.au>

arm-hyp invariants: fix arch_splitting/locales

* tcb_arch_ref: definition and invariants (to access obj_refs in tcb_arch in generic contexts)
* fixes related hyp_refs


# c1c30691 12-Dec-2016 Miki Tanaka <miki.tanaka@nicta.com.au>

arm-hyp invariants: incremental progress (sorrying, fixing crunches/alignments, etc.)

* sorry perform_vcpu_invocation invariant statements
* fix pg_entry_align and related statements
* some crunches in ArchFinalise_AI


# 61dffdb6 26-Feb-2017 Miki Tanaka <miki.tanaka@nicta.com.au>

arm-hyp invariants: changes from rebase for ARM_HYP invariants


# 1d4b6e93 26-Aug-2016 Miki Tanaka <miki.tanaka@nicta.com.au>

arm-hyp invariants: updates for vcpu, alignments, valid_vspace_obj, wellformed_arch_obj, etc.


# 0d4e4bd2 23-Nov-2016 Miki Tanaka <miki.tanaka@nicta.com.au>

arm-hyp invariants: copy arch-splitted invariant files from ARM

earlier updates in ArchInvariants are kept


# f0da7d17 06-Dec-2016 Miki Tanaka <miki.tanaka@nicta.com.au>

arm-hyp invariants: add ARM_HYP directory, updating ArchInvariants_AI and Invariants_AI