Gerwin Klein
41b4824bf7
riscv refine: cleanup in CSpace1_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
4debd4a44c
riscv refine: cleanup in VSpace_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
6cb6814420
riscv refine: cleanup Detype_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
eb3f90a815
riscv refine: strengthen word lemmas around mask
2019-11-12 18:28:39 +11:00
Gerwin Klein
66d43a5e91
riscv refine: cleanup in Retype_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
eb8370e18e
riscv refine: cleanup pass through Invariants_H
2019-11-12 18:28:39 +11:00
Gerwin Klein
ec38460345
riscv refine: cleanup pass through ArchAcc_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
7cbe59e67a
riscv refine: 0 sorries
2019-11-12 18:28:39 +11:00
Gerwin Klein
04cac93bbe
riscv refine: style cleanup in ADT_H
...
more consistent indentation and definition style;
removed warnings;
removed (most) magic numbers
2019-11-12 18:28:39 +11:00
Gerwin Klein
3d6b5970f7
riscv refine: remove trivial sorry in ADT_H
2019-11-12 18:28:39 +11:00
Gerwin Klein
0ac198fab5
riscv refine: Arch_R sorry-free
2019-11-12 18:28:39 +11:00
Gerwin Klein
4a49681bf5
riscv haskell: look up ASID of PT cap, not vspace cap.
...
It is the user-provided cap that needs to be checked for correct ASID and
vspace.
2019-11-12 18:28:39 +11:00
Gerwin Klein
f55200b9d9
riscv refine: reduced Arch_R to 1 sorry
2019-11-12 18:28:39 +11:00
Gerwin Klein
7ce1c0fb21
riscv haskell: force vptr alignment in decodeRISCVPageTableInvocationMap
...
see also JIRA SELFOUR-2162
2019-11-12 18:28:39 +11:00
Gerwin Klein
41d525d1b6
riscv refine: reduce sorries in Arch_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
53198e4fce
riscv refine: VSpace_R sorry-free
2019-11-12 18:28:39 +11:00
Gerwin Klein
b5c47d552e
riscv aspec+ainvs: perform_pg_inv_unmap: update cap in memory
...
The argument cap is the same as the one in memory, but it's less work to not
prove that.
2019-11-12 18:28:39 +11:00
Gerwin Klein
b051b9437d
riscv refine: reduce sorries in VSpace_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
3f5aaa6c48
riscv refine: Finalise_R sorry-free
2019-11-12 18:28:39 +11:00
Gerwin Klein
be62cf1cfd
riscv refine: reduce sorries in VSpace_R and Arch_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
a26c57a825
riscv haskell: needs to unmap, not ignore in finalise
2019-11-12 18:28:39 +11:00
Gerwin Klein
f7bf957c71
riscv ainvs: adjustments for unmap_page change
2019-11-12 18:28:39 +11:00
Gerwin Klein
750746296f
riscv aspec: unmap_page may be called with unmapped ASID
...
This means we can't use gets_the, which asserts, but need find_vspace_for_asid,
which can throw.
2019-11-12 18:28:39 +11:00
Gerwin Klein
ed3d2e1ec2
riscv refine: reduce sorries in VSpace_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
d4f3d7122c
riscv aspec: fix addr conversions in set_vm_root
...
global_pt needs addrFromKPPtr, because it is an address that lives in the
kernel image, other pt's need addrFromPPtr because they are standard
kernel-virtual addresses.
2019-11-12 18:28:39 +11:00
Gerwin Klein
e44423d6bb
riscv refine: ArchAcc_R sorry-free
2019-11-12 18:28:39 +11:00
Gerwin Klein
11bcbc1675
riscv refine: fix ppn handling in checkMappingPPtr
2019-11-12 18:28:39 +11:00
Gerwin Klein
09dbc34a0c
riscv haskell/design: fix lookupPTSlotFromLevel and lookupPTFromLevel
2019-11-12 18:28:39 +11:00
Gerwin Klein
a612a0e54e
riscv refine: reduce ArchAcc_R sorries to 1
2019-11-12 18:28:39 +11:00
Gerwin Klein
c46a641f7f
riscv haskell: globalPT is at maxPTLevel
2019-11-12 18:28:39 +11:00
Gerwin Klein
939201f782
riscv refine: Retype_R and Detype_R sorry-free
2019-11-12 18:28:39 +11:00
Gerwin Klein
c77b2126e0
riscv aspec: initialise SSTATUS register correctly
2019-11-12 18:28:39 +11:00
Gerwin Klein
46398221c9
runtests: enable RISCV64 Refine test
2019-11-12 18:28:39 +11:00
Gerwin Klein
cd70459771
riscv refine: reduce sorries in Finalise_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
5ac27afad0
riscv refine: close all sorries in CNodeInv_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
98a3efe16a
riscv refine: close all sorries in Ipc_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
fe895506cc
riscv refine: 0 sorries in Syscall_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
1f539c062c
riscv refine: 0 sorries in Refine_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
5a7c2ef850
riscv aspec: correct comment for kernel_base; adjust idle_thread_ptr
2019-11-12 18:28:39 +11:00
Gerwin Klein
960636f744
riscv aspec: pick aligned addresses for pptr_base in initial example state.
2019-11-12 18:28:39 +11:00
Gerwin Klein
8ab9888cf4
riscv aspec: set irq type to lowest word length that fits maxIRQ
...
The irq type determines the size of the IRQ CNode in the abstract spec, which
(in C) is the smallest power of two that fits maxIRQ.
2019-11-12 18:28:39 +11:00
Gerwin Klein
bf83335d78
riscv refine: reduce sorries in Refine
2019-11-12 18:28:39 +11:00
Gerwin Klein
2d9ec1736f
riscv refine: set up DomainTime_R (0 sorries)
2019-11-12 18:28:39 +11:00
Gerwin Klein
c764565b51
riscv haskell: fail ArchInv.IRQControlInvocation
...
Use fail instead of error so we don't have to prove unreachability for all
properties.
2019-11-12 18:28:39 +11:00
Gerwin Klein
d224325b43
riscv refine: add Orphanage (dummy file)
...
This file is needed to prevent error messages in ROOT. No-orphans proof is
currently still ARM-only.
2019-11-12 18:28:39 +11:00
Gerwin Klein
bd8e032504
riscv refine: sorrying Refine_R
2019-11-12 18:28:39 +11:00
Gerwin Klein
6b2009ac45
riscv refine: set up IncKernelInit, InitLemmas, KernelInit_R (0 sorries)
2019-11-12 18:28:39 +11:00
Gerwin Klein
cbe29f527f
riscv refine: sorrying ADT_H (3 sorries)
2019-11-12 18:28:39 +11:00
Gerwin Klein
4a5084b46b
riscv refine: encode absence of Execute in PTablePTEs in state relation
2019-11-12 18:28:39 +11:00
Gerwin Klein
688f8b193d
riscv design: make machine op definition available
...
setVSpaceRoot was being shadowed, because setVMRoot was wrongly excluded instead.
2019-11-12 18:28:39 +11:00