12fa86863a | ||
---|---|---|
.. | ||
m-skel | ||
skel | ||
API_H.thy | ||
ARMStructures_H.thy | ||
ARM_Structs_B.thy | ||
ArchInterrupt_H.thy | ||
ArchObjInsts_H.thy | ||
ArchRetypeDecls_H.thy | ||
ArchRetype_H.thy | ||
ArchStateData_H.thy | ||
ArchTCB_H.thy | ||
ArchThreadDecls_H.thy | ||
ArchThread_H.thy | ||
ArchTypes_H.thy | ||
ArchVSpaceDecls_H.thy | ||
ArchVSpace_H.thy | ||
AsyncEndpoint_H.thy | ||
CNode_H.thy | ||
CSpaceDecls_H.thy | ||
CSpace_H.thy | ||
Config_H.thy | ||
Delete_H.thy | ||
EndpointDecls_H.thy | ||
Endpoint_H.thy | ||
Event_H.thy | ||
FaultHandlerDecls_H.thy | ||
FaultHandler_H.thy | ||
FaultMonad_H.thy | ||
Fault_H.thy | ||
Hardware_H.thy | ||
Intermediate_H.thy | ||
Interrupt_H.thy | ||
InvocationLabels_H.thy | ||
Invocations_H.thy | ||
KI_Decls_H.thy | ||
KernelInitMonad_H.thy | ||
KernelInit_H.thy | ||
KernelStateData_H.thy | ||
Kernel_H.thy | ||
ObjectInstances_H.thy | ||
Object_H.thy | ||
PSpaceFuns_H.thy | ||
PSpaceStorable_H.thy | ||
PSpaceStruct_H.thy | ||
README.md | ||
RegisterSet_H.thy | ||
RetypeDecls_H.thy | ||
Retype_H.thy | ||
State_H.thy | ||
Structures_H.thy | ||
Syscall_H.thy | ||
TCBDecls_H.thy | ||
TCB_H.thy | ||
ThreadDecls_H.thy | ||
Thread_H.thy | ||
Types_H.thy | ||
Untyped_H.thy | ||
VSpace_H.thy | ||
version |
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
andm-skel
fordesign
andmachine
respectively.