#
b5cdf470 |
|
13-Jun-2018 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
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.
|
#
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.
|
#
065f4d25 |
|
15-Jul-2018 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
x64 aspec: resolve vtd_pt_bits; check IOPageTabelCap functions Currently unused, but will be relevant for VT-d
|
#
908787f3 |
|
15-Jul-2018 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
aspec/haskell: clean out resolved FIXMEs
|
#
0b978bae |
|
06-May-2018 |
Michael Sproul <michael.sproul@data61.csiro.au> |
x64: spec: changes for IRQ invocations (VER-879)
|
#
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
|
#
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.
|
#
d9c08fc7 |
|
12-Feb-2018 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
aspec/haskell/machine: refactor user_context interface - remove separate abstract set_/get_register implementation, directly use machine op - make interface aware that user_context does not always need to equal (register => machine_word) - introduce FPU state on x64
|
#
1fbcf1d3 |
|
07-Jan-2018 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
x64 spec: remove unused x64_asid_map
|
#
2f540e80 |
|
17-Dec-2017 |
Matthew Brecknell <Matthew.Brecknell@data61.csiro.au> |
add constant definitions for bounds on untyped object sizes
|
#
48b3a8b4 |
|
04-Oct-2017 |
Matthew Brecknell <Matthew.Brecknell@data61.csiro.au> |
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.
|
#
61a60886 |
|
07-Apr-2017 |
Joel Beeren <joel.beeren@nicta.com.au> |
x64: rename setCurrentCR3 et al to use underscores for abstract spec
|
#
f26ba5ce |
|
28-Mar-2017 |
Matthew Brecknell <Matthew.Brecknell@data61.csiro.au> |
arch_split: make cte_level_bits_def work with existing proofs Many generic proofs make use of cte_level_bits_def. Although the definition is architecture specific, the proofs work for any reasonable value of cte_level_bits, so it's fine to expose the definition to generic proofs.
|
#
6f3efc50 |
|
27-Mar-2017 |
Matthew Brecknell <Matthew.Brecknell@data61.csiro.au> |
arch_split x64 arm: make endpoint_bits and ntfn_bits arch constants
|
#
bb92e92f |
|
26-Mar-2017 |
Matthew Brecknell <Matthew.Brecknell@data61.csiro.au> |
arch_split x64 arm: make cte_level_bits an arch constant
|
#
981e05d5 |
|
22-Mar-2017 |
Joel Beeren <joel.beeren@nicta.com.au> |
x64: abstract: remove spurious VMPML4E from vm_map_type
|
#
1a129267 |
|
20-Mar-2017 |
Joel Beeren <joel.beeren@nicta.com.au> |
x64: use generic VMMapType from haskell rather than redefine in abstract
|
#
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
|
#
b07d971a |
|
24-Nov-2016 |
Joel Beeren <joel.beeren@nicta.com.au> |
x64: machine: move word_size_bits definition to MachineTypes. Furthermore, create generic library of word lemmas that require the Arch context to prove, but can be proven with the same proof in all architectures. These lemmas can then be used safely in generic theory files. This library is in spec/machine/WordExports.thy
|
#
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
|
#
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.
|
#
9d58764b |
|
31-May-2016 |
Joel Beeren <joel.beeren@nicta.com.au> |
x64: Invariants_AI now processes, removed some arch-specific types
|
#
d4f54686 |
|
30-May-2016 |
Joel Beeren <joel.beeren@nicta.com.au> |
x64: ArchInvariants_AI passes except 1 sorried lemma - valid_arch_objs_alt
|
#
b95f452a |
|
26-May-2016 |
Joel Beeren <joel.beeren@nicta.com.au> |
x64: progress in ArchInvariants_AI, up to valid_arch_objs_alt
|
#
21fd8830 |
|
18-May-2016 |
Joel Beeren <joel.beeren@nicta.com.au> |
x64: up to lemmas in ArchInvariants_AI
|
#
1bc374fb |
|
12-May-2016 |
Joel Beeren <joel.beeren@nicta.com.au> |
x64 invs: up to vs_refs_pages
|
#
73b73156 |
|
05-May-2016 |
Joel Beeren <joel.beeren@nicta.com.au> |
x64: add arch_split'd x64 spec with IOMMU stuff
|