History log of /seL4-l4v-10.1.1/l4v/spec/abstract/X64/ArchVSpace_A.thy
Revision Date Author Comments
# 5ae7cc23 25-Jul-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

aspec: msg_align_bits and related are arch independent

While the numerical value is arch dependent, the definition and symbolic value
are not. This commit factors out the symbolic computation and only unfolds the
numeric value in the architecture dependent spec.


# b383b9a1 05-Aug-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

aspec: move up mask_vm_rights, make arch independent

Strictly speaking vmrights might at some point become architecture dependent,
but all present architectures have precisely the same implementation, and there
are no plans to do anything different in the foreseeable future.


# e5338101 05-Aug-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

x64 aspec: mark vt-d FIXME


# 908787f3 15-Jul-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

aspec/haskell: clean out resolved FIXMEs


# e6ca6883 28-Jun-2018 Joel Beeren <joel.beeren@data61.csiro.au>

x64: spec: fix up definition of decodeX64FrameInvocation to match C


# 02ed965d 07-Jun-2018 Joel Beeren <joel.beeren@data61.csiro.au>

x64: aspec+haskell: reorder attribsFromWord to match C


# b91ee8e4 25-May-2018 Michael Sproul <michael.sproul@data61.csiro.au>

x64: spec+ainvs+refine: add machine ops for nativeThreadUsingFPU and switchFpuOwner


# 89535438 03-May-2018 Joel Beeren <joel.beeren@data61.csiro.au>

x64: ainvs+refine: remove invalidateASIDEntry, simplify with just hwASIDInvalidate


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

x64: CR3 and machine op updates for Meltdown


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

x64: more abstract specs and invariants for ASIDs


# bcac2c84 01-Feb-2018 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

x64: clear some sorry proofs from CSpace_C

Also update some Haskell and abstract specs relating to IO ports.


# f728dd25 18-Mar-2018 Joel Beeren <joel.beeren@data61.csiro.au>

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.


# 02e50965 27-Mar-2018 Joel Beeren <joel.beeren@data61.csiro.au>

x64: VER-917: correct VSpace invocations to update map_type, and add invariants to check that maptype and mapped addresses correspond for PageCaps


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


# 1fbcf1d3 07-Jan-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

x64 spec: remove unused x64_asid_map


# ff5efcd2 24-Apr-2017 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

x64 abstract: make invalidate_asid_entry take a bare vspace pointer


# 61a60886 07-Apr-2017 Joel Beeren <joel.beeren@nicta.com.au>

x64: rename setCurrentCR3 et al to use underscores for abstract spec


# c847b792 04-Apr-2017 Joel Beeren <joel.beeren@nicta.com.au>

x64: AInvs: move invalidate_asid_entry into case for delete_asid


# 38604c12 03-Apr-2017 Joel Beeren <joel.beeren@nicta.com.au>

x64: abstract: reorder arguments in hwASIDInvalidate


# 71118f3e 30-Mar-2017 Joel Beeren <joel.beeren@nicta.com.au>

x64: abstract: updated msg_align_bits to use word_size_bits


# df94ae6f 29-Mar-2017 Joel Beeren <joel.beeren@nicta.com.au>

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


# d564c80b 22-Mar-2017 Joel Beeren <joel.beeren@nicta.com.au>

x64: abstract: tweak spec to match C code


# 981e05d5 22-Mar-2017 Joel Beeren <joel.beeren@nicta.com.au>

x64: abstract: remove spurious VMPML4E from vm_map_type


# 15f32f4d 12-Mar-2017 Joel Beeren <joel.beeren@nicta.com.au>

x64: ASpec builds after merge for ARM, X64


# 07b2241e 15-Feb-2017 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

x64: fix CR3 check in set_vm_root spec


# c3cd2e13 31-Jan-2017 Joel Beeren <joel.beeren@nicta.com.au>

x64: spec: add loop to delete_asid_pool; re-add asid_map updates


# b35c50c4 19-Jan-2017 Joel Beeren <joel.beeren@nicta.com.au>

x64: spec: update machine functions, invocations, set_vm_root for new
kernel version


# 5bdcbe53 09-Jan-2017 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

fix ARM build after merge

Also:
- move some ARM-specific things out of Tcb_AI
- port changes from ARM to X64, up to beginning of ArchVSpace_AI


# a1ab2d90 12-Dec-2016 Joel Beeren <joel.beeren@nicta.com.au>

x64: fix up ArchIPC_AI


# 1a6e3625 25-Oct-2016 Joel Beeren <joel.beeren@nicta.com.au>

x64: added more machine definitions


# b8048726 18-Oct-2016 Joel Beeren <joel.beeren@nicta.com.au>

X64: added dummy VMPML4E to vm_page_entry.

needs to be reviewed


# 991dd301 09-Oct-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

x64: port device-untyped from ARM


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

x64: more progress in ArchVSpace_AI


# 5880a317 18-Aug-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

x64 invariants: CSpace_AI checking

Includes some changes to the abstract spec:
- replace magic numbers with definitions.
- add missing IOPortCap cases to some definitions.

There is one sorry proof, which I think blast could solve if we
gave it enough time. Will need a more subtle approach.


# bbfc1df6 26-Jul-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

x64 abstract spec: add some missing cases in ArchVSpace_A unmap operations

These had been undefined, causing some crunch commands to fail.


# b95f452a 26-May-2016 Joel Beeren <joel.beeren@nicta.com.au>

x64: progress in ArchInvariants_AI, up to valid_arch_objs_alt


# 73b73156 05-May-2016 Joel Beeren <joel.beeren@nicta.com.au>

x64: add arch_split'd x64 spec with IOMMU stuff