2014-07-28 01:59:57 +00:00
|
|
|
CapDL API Proofs
|
|
|
|
================
|
2014-07-25 01:50:24 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
This proof develops a formal API description for a number of the seL4
|
|
|
|
system calls, of the [capDL](../../spec/capDL/) kernel specification.
|
|
|
|
This API description is a set of lemmas describing the behaviour of
|
|
|
|
various system calls in terms of a [separation logic](../sep-capDL/)
|
|
|
|
defined over that kernel specification.
|
2014-07-25 01:50:24 +00:00
|
|
|
|
|
|
|
When reasoning about system calls this proof treats the kernel like
|
2014-07-28 01:59:57 +00:00
|
|
|
a library invoked directly from user-space and does not reason about
|
|
|
|
scheduling. These proofs are used by the [system initialiser
|
|
|
|
proof](../../sys-init), as described in the [ICFEM '13 paper][Boyton_13]
|
2014-07-25 01:50:24 +00:00
|
|
|
and Andrew Boyton's PhD thesis.
|
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
[Boyton_13]: http://www.nicta.com.au/pub?id=7047 "Formally Verified System Initialisation"
|
2014-07-25 01:50:24 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
Building
|
|
|
|
--------
|
2014-07-25 01:50:24 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
To build from the `l4v/` directory, run:
|
2014-07-25 01:50:24 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
./isabelle/bin/isabelle build -d . -v -b DSpecProofs
|
2014-07-25 01:50:24 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
Important Theories
|
|
|
|
------------------
|
2014-07-25 01:50:24 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
The top-level theory is [`API_DP`](API_DP.thy). The seL4 API and kernel
|
|
|
|
model are located in [`Kernel_DP`](Kernel_DP.thy).
|
2014-07-25 01:50:24 +00:00
|
|
|
|