* atcbContextGet and atcbContextSet where added (just as in ASpec) * asUser is now defined in terms of atcbContext{Get,Set} * arch_tcb is now correctly imported as a datatype not as a type synonym tags: [VER-623][SELFOUR-413] |
||
---|---|---|
.. | ||
ARM | ||
m-skel/ARM | ||
skel | ||
API_H.thy | ||
ArchInterrupt_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 | ||
InterruptDecls_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 | ||
NotificationDecls_H.thy | ||
Notification_H.thy | ||
ObjectInstances_H.thy | ||
Object_H.thy | ||
PSpaceFuns_H.thy | ||
PSpaceStorable_H.thy | ||
PSpaceStruct_H.thy | ||
README.md | ||
RetypeDecls_H.thy | ||
Retype_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.