lh-l4v/spec/machine
Matthew Brecknell fd01872121 always use `addrFromKPPtr` for kernel addresses
This verifies a C kernel patch (seL4/seL4#409) which consolidates
translation between virtual and physical addresses, and makes it
consistent across architectures. In particular, we always use
`addrFromKPPtr`, even on architectures that don't use a distinct region
to map the kernel ELF. This will facilitate future improvements which
move the ELF mapping into a distinct virtual address region.

Signed-off-by: Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>
2021-06-25 16:31:22 +10:00
..
ARM always use `addrFromKPPtr` for kernel addresses 2021-06-25 16:31:22 +10:00
ARM_HYP always use `addrFromKPPtr` for kernel addresses 2021-06-25 16:31:22 +10:00
RISCV64 machine+design: update for platform constant changes 2020-11-16 16:52:40 +11:00
X64 machine+design: update for platform constant changes 2020-11-16 16:52:40 +11:00
MachineExports.thy all: remove theory import path references 2020-11-02 10:16:17 +10: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 licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08: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.