2014-07-14 19:32:44 +00:00
|
|
|
(*
|
|
|
|
* Copyright 2014, General Dynamics C4 Systems
|
|
|
|
*
|
2020-03-09 06:18:30 +00:00
|
|
|
* SPDX-License-Identifier: GPL-2.0-only
|
2014-07-14 19:32:44 +00:00
|
|
|
*)
|
|
|
|
|
|
|
|
chapter "Specifications"
|
|
|
|
|
|
|
|
(*
|
|
|
|
* List of rules to make various images.
|
|
|
|
*
|
|
|
|
* Some rules have duplicate targets of the form:
|
|
|
|
*
|
|
|
|
* theories [condition = "MOO", quick_and_dirty]
|
|
|
|
* "foo"
|
|
|
|
* theories
|
|
|
|
* "foo"
|
|
|
|
*
|
|
|
|
* The idea is that if the environment variable "MOO" is defined we
|
|
|
|
* execute the first rule (doing the proof in quick-and-dirty mode), and
|
|
|
|
* then find we need not take any action for the second. Otherwise, we
|
|
|
|
* skip the first rule and only perform the second.
|
|
|
|
*)
|
|
|
|
|
|
|
|
(*
|
|
|
|
* Abstract Specification
|
|
|
|
*)
|
|
|
|
|
2018-02-19 03:49:17 +00:00
|
|
|
(* Session on which most other sessions build. *)
|
2016-04-18 11:24:23 +00:00
|
|
|
session ASpec in "abstract" = Word_Lib +
|
2020-03-27 03:28:19 +00:00
|
|
|
options [document=pdf]
|
2018-06-13 07:55:36 +00:00
|
|
|
sessions
|
|
|
|
"HOL-Library"
|
|
|
|
Lib
|
|
|
|
ExecSpec
|
2020-03-19 13:40:25 +00:00
|
|
|
directories
|
|
|
|
"$L4V_ARCH"
|
2018-02-19 03:49:17 +00:00
|
|
|
theories
|
|
|
|
"Syscall_A"
|
2014-07-14 19:32:44 +00:00
|
|
|
"Intro_Doc"
|
|
|
|
"Glossary_Doc"
|
2017-10-17 03:56:01 +00:00
|
|
|
(* "KernelInit_A" *)
|
2014-08-09 04:58:51 +00:00
|
|
|
document_files
|
2020-03-27 03:28:19 +00:00
|
|
|
"VERSION" (* generated by `make ASpec` *)
|
|
|
|
"git-root.tex" (* generated by `make ASpec` *)
|
2014-08-09 04:58:51 +00:00
|
|
|
"root.tex"
|
|
|
|
"root.bib"
|
|
|
|
"defs.bib"
|
2018-06-24 13:07:30 +00:00
|
|
|
"ulem.sty"
|
2015-05-28 04:03:53 +00:00
|
|
|
"imgs/CDT.pdf"
|
|
|
|
"imgs/seL4-background_01.pdf"
|
|
|
|
"imgs/seL4-background_03.pdf"
|
|
|
|
"imgs/seL4-background_04.pdf"
|
|
|
|
"imgs/sel4objects_01.pdf"
|
|
|
|
"imgs/sel4objects_05.pdf"
|
|
|
|
"imgs/sel4_internals_01.pdf"
|
2018-02-19 03:49:17 +00:00
|
|
|
document_files (in "document/$L4V_ARCH")
|
|
|
|
"ARCH.tex"
|
2014-07-14 19:32:44 +00:00
|
|
|
|
|
|
|
(*
|
|
|
|
* Executable/Design Specification
|
|
|
|
*)
|
|
|
|
|
2020-03-19 11:01:22 +00:00
|
|
|
session ExecSpec in "design" = Word_Lib +
|
2016-02-29 03:52:37 +00:00
|
|
|
options [document = false]
|
2018-06-13 07:55:36 +00:00
|
|
|
sessions
|
|
|
|
Lib
|
|
|
|
"HOL-Eisbach"
|
2020-03-19 13:40:25 +00:00
|
|
|
directories
|
|
|
|
"$L4V_ARCH"
|
|
|
|
"../machine"
|
|
|
|
"../machine/$L4V_ARCH"
|
2014-07-14 19:32:44 +00:00
|
|
|
theories
|
2020-03-19 11:01:22 +00:00
|
|
|
"API_H"
|
|
|
|
"$L4V_ARCH/ArchIntermediate_H"
|
2014-07-14 19:32:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
(*
|
|
|
|
* C Kernel
|
|
|
|
*)
|
|
|
|
|
2020-03-19 11:01:22 +00:00
|
|
|
session CSpec in "cspec" = CKernel +
|
2020-03-27 07:58:14 +00:00
|
|
|
directories
|
|
|
|
"c/build/$L4V_ARCH/generated/arch/object"
|
|
|
|
"c/build/$L4V_ARCH/generated/sel4"
|
2018-08-04 08:38:51 +00:00
|
|
|
theories [condition = "SORRY_MODIFIES_PROOFS", quick_and_dirty]
|
2020-03-19 11:01:22 +00:00
|
|
|
"Substitute"
|
2014-07-14 19:32:44 +00:00
|
|
|
theories [condition = "SORRY_BITFIELD_PROOFS", quick_and_dirty]
|
2020-03-19 11:01:22 +00:00
|
|
|
"KernelInc_C"
|
2014-07-14 19:32:44 +00:00
|
|
|
theories
|
2020-03-19 11:01:22 +00:00
|
|
|
"KernelInc_C"
|
|
|
|
"KernelState_C"
|
2014-07-14 19:32:44 +00:00
|
|
|
|
2020-03-19 11:01:22 +00:00
|
|
|
session CKernel in "cspec/$L4V_ARCH" = CParser +
|
2018-06-13 07:55:36 +00:00
|
|
|
sessions
|
|
|
|
"ExecSpec"
|
|
|
|
"CLib"
|
2018-06-27 12:43:34 +00:00
|
|
|
"AsmRefine"
|
2014-07-14 19:32:44 +00:00
|
|
|
theories [condition = "SORRY_MODIFIES_PROOFS", quick_and_dirty]
|
2020-03-19 11:01:22 +00:00
|
|
|
"Kernel_C"
|
2014-07-14 19:32:44 +00:00
|
|
|
theories
|
2020-03-19 11:01:22 +00:00
|
|
|
"Kernel_C"
|
2014-07-14 19:32:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
(*
|
|
|
|
* CapDL
|
|
|
|
*)
|
|
|
|
|
2018-06-13 07:55:36 +00:00
|
|
|
session DSpec in capDL = Word_Lib +
|
|
|
|
sessions
|
|
|
|
ExecSpec
|
|
|
|
ASpec
|
2014-07-14 19:32:44 +00:00
|
|
|
theories
|
2018-06-13 07:55:36 +00:00
|
|
|
Syscall_D
|
2014-07-14 19:32:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
(*
|
|
|
|
* Take-Grant.
|
|
|
|
*)
|
|
|
|
|
2018-06-13 07:55:36 +00:00
|
|
|
session TakeGrant in "take-grant" = Word_Lib +
|
2014-07-14 19:32:44 +00:00
|
|
|
theories
|
|
|
|
"System_S"
|
|
|
|
"Isolation_S"
|
|
|
|
"Example"
|
|
|
|
"Example2"
|
|
|
|
|
|
|
|
|
2014-08-13 12:08:46 +00:00
|
|
|
(*
|
|
|
|
* Separation Kernel Setup Specification
|
|
|
|
*)
|
|
|
|
|
2020-03-19 11:01:22 +00:00
|
|
|
session ASepSpec in "sep-abstract" = ASpec +
|
2016-02-29 03:52:37 +00:00
|
|
|
options [document = false]
|
2014-08-13 12:08:46 +00:00
|
|
|
theories
|
2020-03-19 11:01:22 +00:00
|
|
|
"Syscall_SA"
|
2014-08-13 12:08:46 +00:00
|
|
|
|