lh-l4v/spec/design
Gerwin Klein cfec9ea0db Merge branch 'master' into 2015 2015-05-28 11:45:13 +10:00
..
m-skel fewer warnings 2015-05-16 19:52:49 +10:00
skel Merge branch 'master' into 2015 2015-05-28 11:45:13 +10:00
API_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
ARMStructures_H.thy spec: Remove excessive strings of newlines. 2014-10-21 10:42:43 +11:00
ARM_Structs_B.thy fewer warnings 2015-05-16 19:52:49 +10:00
ArchInterrupt_H.thy Import release snapshot. 2014-07-14 21:32:44 +02:00
ArchObjInsts_H.thy Merge branch 'master' into 2015 2015-05-28 11:45:13 +10:00
ArchRetypeDecls_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
ArchRetype_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
ArchStateData_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
ArchTCB_H.thy Import release snapshot. 2014-07-14 21:32:44 +02:00
ArchThreadDecls_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
ArchThread_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
ArchTypes_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
ArchVSpaceDecls_H.thy Merge branch 'master' into 2015 2015-05-28 11:45:13 +10:00
ArchVSpace_H.thy small fixes on haskell translator and haskell spec templates 2015-05-28 11:30:22 +10:00
AsyncEndpoint_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
CNode_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
CSpaceDecls_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
CSpace_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
Config_H.thy updated translated haskell spec 2015-05-28 11:30:22 +10:00
Delete_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
EndpointDecls_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
Endpoint_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
Event_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
FaultHandlerDecls_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
FaultHandler_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
FaultMonad_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
Fault_H.thy Merge branch 'master' into 2015 2015-05-28 11:45:13 +10:00
Hardware_H.thy import Haskell version of XN patch 2014-11-28 08:58:57 +11:00
Intermediate_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
Interrupt_H.thy small fixes on haskell translator and haskell spec templates 2015-05-28 11:30:22 +10:00
InvocationLabels_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
Invocations_H.thy ioapic: finished up to InfoFlowC 2014-08-28 15:56:26 +10:00
KI_Decls_H.thy Merge branch 'master' into 2015 2015-05-28 11:45:13 +10:00
KernelInitMonad_H.thy Merge branch 'master' into 2015 2015-05-28 11:45:13 +10:00
KernelInit_H.thy Merge branch 'master' into 2015 2015-05-28 11:45:13 +10:00
KernelStateData_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
Kernel_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
ObjectInstances_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
Object_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
PSpaceFuns_H.thy Merge branch 'master' into 2015 2015-05-28 11:45:13 +10:00
PSpaceStorable_H.thy Import release snapshot. 2014-07-14 21:32:44 +02:00
PSpaceStruct_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
README.md misc: Proofing and formatting of README.md files. 2014-07-28 13:15:48 +10:00
RegisterSet_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
RetypeDecls_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
Retype_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
State_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
Structures_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
Syscall_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
TCBDecls_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
TCB_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
ThreadDecls_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
Thread_H.thy Merge branch 'master' into 2015 2015-05-28 11:45:13 +10:00
Types_H.thy Merge branch 'master' into 2015 2015-05-28 11:45:13 +10:00
Untyped_H.thy fewer warnings 2015-05-16 19:52:49 +10:00
VSpace_H.thy updated translated haskell spec 2015-05-28 11:30:22 +10:00
version small fixes on haskell translator and haskell spec templates 2015-05-28 11:30:22 +10:00

README.md

The Executable Design Specification of seL4

l4v/spec/design/

This directory contains the Isabelle sources of the executable design specification for seL4.

Most theory files in this directory are tool-generated, do not edit!

The files here are also not particularly well suited for human consumption, it is recommended to directly read the corresponding Haskell code in seL4/haskell instead.

Top-Level Theory

The top-level theory file that draws the whole specification together is API_H, the top-level function in that theory is callKernel.

Similarly to the abstract specification, this top-level function is later in the proofs further wrapped in an automaton that describes system behaviour on this level of abstraction.

Building

The corresponding Isabelle session is ExecSpec. Build in l4v/spec/ with

make ExecSpec

Remarks

  • for regenerating the design spec from Haskell sources, go to directory l4v/tools/haskell-translator and run

       ./make_spec.sh
    
  • skeleton files that define which parts of which Haskell files get mapped to which Isabelle theories are found in the sub directories skel and m-skel for design and machine respectively.