lh-l4v/spec/machine
Gerwin Klein e54d98f025 aarch64 aspec+ainvs: adjust canonical_user to IPA
Since user addresses are intermediate physical addresses in hyp mode,
the concept of canonical_user is different to other architectures.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2022-05-05 09:17:25 +10:00
..
AARCH64 aarch64 aspec+ainvs: adjust canonical_user to IPA 2022-05-05 09:17:25 +10:00
ARM machine: make Kernel_Config available earlier 2022-04-20 09:16:19 +10:00
ARM_HYP machine: make Kernel_Config available earlier 2022-04-20 09:16:19 +10:00
RISCV64 machine: make Kernel_Config available earlier 2022-04-20 09:16:19 +10:00
X64 machine: make Kernel_Config available earlier 2022-04-20 09:16:19 +10:00
Kernel_Config_Lemmas.thy spec+proof: use generated config constants 2021-12-23 14:54:13 +11:00
MachineExports.thy isabelle2021-1 lib: update Lib session, retire wpx 2022-03-29 08:38:25 +11:00
MachineMonad.thy all: remove theory import path references 2020-11-02 10:16:17 +10:00
README.md license: provide documentation under CC-BY-SA-4.0 2020-03-16 14:19:15 +08:00
Setup_Locale.thy isabelle-2021: update Lib 2021-09-30 16:53:17 +10:00

README.md

The Machine Interface Specification of seL4

l4v/spec/machine/

This directory contains the Isabelle sources for the machine interface specification used in the abstract and design specifications of seL4.

Overview

  • ARMMachineTypes: ARM register set and related definitions.
  • MachineOps: definitions for the machine interface functions. Most interface functions are left non-deterministic. Some are assumed not to mutate C-observable state, others are defined in more detail.
  • MachineTypes: entry point to select a machine. Currently ARM only.
  • Platform: word size and other basic platform definitions.

Building

This module is not built in isolation, but included in the ASpec and ExecSpec sessions.

Remarks

  • the theory ARMMachineTypes is generated from Haskell using the tool in tools/haskell-translator and the skeleton file in spec/design/m-skel.