Commit Graph

3919 Commits

Author SHA1 Message Date
Gerwin Klein bb4245d23d riscv haskell: define rest of arch kernel state
Included vspace_uses for refinement proof, and added multiple global PTs.
2019-11-12 18:28:39 +11:00
Gerwin Klein b692a5c81f riscv refine: set up PageTableDuplicates (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein eab8f3e19e riscv refine: set up Syscall_R (3 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 1d9328dbcd riscv refine: set up Tcb_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein d324216454 riscv refine: set up CNodeInv (3 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 0d881171fa riscv refine: set up Interrupt_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 42bd55ea3b riscv refine: simplify assumptions in CSpace_R 2019-11-12 18:28:39 +11:00
Gerwin Klein b1157aef9e riscv refine: sorrying Ipc_R (2 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein bdf9e036a8 riscv refine: sorrying Arch_R (7 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 99b7cc7ceb riscv refine: remove unused assumptions 2019-11-12 18:28:39 +11:00
Gerwin Klein 5ee57f72fc riscv refine: sorrying Finalise_R (3 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 45172e930f riscv refine: basic setup for recursive PTLookup* 2019-11-12 18:28:39 +11:00
Gerwin Klein 76a69cda63 riscv refine: close sorry in KHeap_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 96b3754455 riscv refine: set up IpcCancel (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein e6da934e7d riscv refine: simplify setASIDPool_invs
Does not require valid_asid_pool in weakened invariant setting.
2019-11-12 18:28:39 +11:00
Gerwin Klein e46023fe12 riscv refine: set up Untyped_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 159bf6a50f riscv refine: add valid_arch_cap' to invariants
It turns out that Untyped_R needs the properties of valid_arch_cap' non-locally
for all descendants of the untyped cap it's looking at. This would be a fairly
involved property to assert, and so far only Retype/Detype had any real proof
obligations on valid_cap', i.e. it should be cheap to keep.
2019-11-12 18:28:39 +11:00
Gerwin Klein 854e74a1fd riscv refine: add Invocations_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 6dd45e2d5f riscv aspec: sync max_untyped_size with Haskell/C 2019-11-12 18:28:39 +11:00
Gerwin Klein 4422d1ecca riscv refine: sorried Detype_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 067d1bdcab riscv haskell: object numbers for LargePage and HugePage 2019-11-12 18:28:39 +11:00
Gerwin Klein 2d9afdf7be riscv refine: storePTE_valid_objs + remove one sorry 2019-11-12 18:28:39 +11:00
Gerwin Klein adf7f7bf03 riscv refine: sorry Retype_R (2 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 01c6c9f7b5 riscv refine: weaken precondition of threadSet_invs_trivialT 2019-11-12 18:28:39 +11:00
Gerwin Klein 4fe875e854 riscv refine: set up Schedule_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein e850ab5ea5 riscv refine: reduce Haskell guards in TcbAcc 2019-11-12 18:28:39 +11:00
Gerwin Klein c40435c4a8 riscv refine: sorried VSpace_R 2019-11-12 18:28:39 +11:00
Gerwin Klein e25631e919 riscv refine: more guard cross-over rules 2019-11-12 18:28:39 +11:00
Gerwin Klein d4932ced42 riscv refine: set up InterruptAcc_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 7fde8b47a0 riscv refine: set up TcbAcc_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein df28d3bdbc riscv refine: set up CSpace_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 3d037d7219 riscv refine: Invariants_H: syntax precedence for parentOf 2019-11-12 18:28:39 +11:00
Gerwin Klein b122d1945a riscv refine: fill in RAB_FN.thy 2019-11-12 18:28:39 +11:00
Gerwin Klein a3dd552343 riscv refine: set up CSpace1_R (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 6cd1482169 riscv refine: set up CSpace_I (0 sorries) 2019-11-12 18:28:39 +11:00
Gerwin Klein 1f149e7387 riscv refine: add ArchFrameCap to capSimps and friends 2019-11-12 18:28:39 +11:00
Gerwin Klein 7815e4734a riscv refine: introduce bit_simps' 2019-11-12 18:28:39 +11:00
Gerwin Klein e6fe4420ea riscv refine: sorried ArchAcc_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 318d54a8ca riscv refine: adjustments for page_table_at' in KHeap_R 2019-11-12 18:28:39 +11:00
Gerwin Klein 8b40b334bd riscv refine: rephrase page_table_at' in Invariants_H 2019-11-12 18:28:38 +11:00
Gerwin Klein c4646172b3 riscv refine: set up KHeap_R (1 sorry) and SubMonad_R 2019-11-12 18:28:38 +11:00
Gerwin Klein 6bc51a2562 riscv refine: set up Bits_R, Corres, EmptyFail 2019-11-12 18:28:38 +11:00
Gerwin Klein db8768234c riscv refine: initial state relation 2019-11-12 18:28:38 +11:00
Gerwin Klein 244e8fe32f riscv refine: initial design invariants
upd
2019-11-12 18:28:38 +11:00
Gerwin Klein 8be2ab8484 riscv refine: initial skeleton 2019-11-12 18:28:38 +11:00
Gerwin Klein d72e6b5263 riscv haskell: sync RISCVPageTableUnmap with C and spec
now in sync with seL4 change set f612028b180633dc4e404aaceee656da953f877d
2019-11-12 18:28:38 +11:00
Gerwin Klein ab43338feb riscv haskell: bring lookupPTFromLevel up to date with C and spec 2019-11-12 18:28:38 +11:00
Gerwin Klein 6b30142018 riscv haskell: maxUntypedSize depends on addressable memory
(not on word size)
2019-11-12 18:28:38 +11:00
Gerwin Klein 8e39bbbda9 riscv aspec: provide a constant for ppn word width 2019-11-12 18:28:38 +11:00
Gerwin Klein 430a345aeb riscv aspec: avoid type variable warning and freeindex increase 2019-11-12 18:28:38 +11:00