Gerwin Klein
7b9249fe2a
riscv design: port new asserts into design spec
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
fca56f750b
riscv haskell: additional assertions for CRefine
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
6be8b794ec
riscv haskell: sync order with C enum
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
e650f39de3
riscv crefine: update for C setIRQTrigger changes
...
Update machine op assumption and remove Arch_invokeIRQControl_ccorres sorry.
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
0ee70f00a5
riscv crefine: clear 3 sorries in Invoke_C
...
Resolved via C changes.
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
461fca472d
riscv crefine: sorried Invoke_C
...
Two big ones where crefine machinery leads us astray, and a few small
ones waiting on a spec update on api object enums.
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
917ccdf284
riscv crefine: reduce sorries in VSpace_C and Retype_C
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
8871074809
riscv crefine: another long/demunged name in Machine_C
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
8659e32058
riscv crefine: Recycle_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
64d049f140
riscv crefine: update IsolatedThreadAction for new setVMRoot assertion
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
877aee385c
riscv crefine: sorried Interrupt_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
2e16aae27f
riscv crefine: Retype_C with sorried copyGlobalMappings
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
04b781a79a
riscv crefine: sorried Delete_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
e9e562c33d
riscv crefine: introduce registers_count type abbrev
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
70ee5750f6
riscv haskell+refine: add assertion to setVMRoot
...
The assertion is provable from the abstract invariants, and used in
CRefine to conclude that the test wether the vspace root cap is mapped
can be left out.
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
adf175bc1b
riscv crefine: update for C user exception message change
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
3a71e0d6ad
riscv haskell: update exceptionMessage to conform to C
...
Now contains only FaultIP and SP.
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
6ca33d54e7
riscv crefine: reduce by one sorry in Finalise_C
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
a02357e09e
riscv crefine: machine op parameter name changed
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
eeabaff06e
riscv refine: reduce sorries in Finalise_C
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
cd82381ae2
riscv refine: add irq ~= irqInvalid to valid_cap'
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
5e886c171f
riscv crefine: sorried Ipc_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
85e1fffe83
riscv crefine: IsolatedThreadAction
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
97f292cab9
riscv crefine: sorried Finalise_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
c38fed430f
riscv crefine: IpcCancel_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
67eaeab106
riscv crefine: SyscallArgs_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
040e54c9e6
riscv crefine: StoreWord_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
4e93309925
riscv crefine: reduce warnings in VSpace_C
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
d3e42da647
riscv crefine: clear 4 sorries in VSpace_C
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
f275c2c4c1
riscv crefine: clear sorries in Detype_C
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
61abd075c2
riscv crefine: clear remaining CSpace_C sorry
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
fc4f83a128
riscv crefine: clear CSpace_C sorries up to kernel change
...
cap_get_capIsPhysical needs a C code change for its default case.
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
cdd468fa77
riscv crefine: clear sorry in TcbQueue_C
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Gerwin Klein
c5918e8479
riscv crefine: close sorry in PSpace
...
Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
e4ce4f8945
riscv crefine: sorry VSpace_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
3a2bfe5a93
riscv crefine: sync frame PTE rights with C updates
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
7bec00882e
riscv crefine: sorry Detype_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
df89db9550
riscv crefine: sorry TcbQueue_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
9c5b7fbff6
riscv crefine: sorry PSpace_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
0d582877a1
riscv crefine: StateRelation_C: adjust register_from_H
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
bc7b66e788
riscv crefine: TcbAcc_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
9a86c195ed
riscv crefine: add valid_untyped' to ArchMove_C
...
Opted to use old form of statement and adjust proof, as CRefine proofs
are not aware of mask_range and a cleanup of that sort would take too
long at this time.
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
533dd333ac
riscv crefine: more ArchMove_C lemmas from X64
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
6fc6aeb20c
riscv cspec/crefine: update ctcb_size_bits to 9
...
One bit smaller than X64. Removes FIXME.
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
e93a475bd6
riscv refine: update for tcbBlockSizeBits == 10
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
84fd22524b
design/haskell spec: arch split for tcbBlockSizeBits
...
`tcbBlockSizeBits` was previously defined to be `wordSizeCase 9 11`
universally, but this claim does not hold anymore since it takes the
value 10 on RISCV64. Therefore an arch split for `tcbBlockSizeBits` and
affected definitions are made. The constant and its definition needs to
be requalified so that proofs in Refine can access it through the
constant objBits_defs.
Signed-off-by: Victor Phan <Victor.Phan@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
cc367d61b2
riscv aspec+ainvs: update tcb bits to 10
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
df2c0c30c1
riscv crefine: CSpace_All
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
dd0d36fbe1
riscv crefine: sorry CSpace_RAB_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00
Rafal Kolanski
11d988137b
riscv crefine: sorried CSpace_C
...
Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
2020-06-08 20:41:09 +08:00