2020-03-09 06:18:30 +00:00
|
|
|
<!--
|
|
|
|
Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
|
|
|
|
|
2020-03-14 12:13:16 +00:00
|
|
|
SPDX-License-Identifier: CC-BY-SA-4.0
|
2020-03-09 06:18:30 +00:00
|
|
|
-->
|
2020-03-02 08:20:30 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
The Machine Interface Specification of seL4
|
|
|
|
===========================================
|
2014-07-22 23:11:43 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
l4v/spec/machine/
|
2014-07-22 23:11:43 +00:00
|
|
|
|
|
|
|
This directory contains the Isabelle sources for the machine interface
|
|
|
|
specification used in the abstract and design specifications of seL4.
|
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
Overview
|
|
|
|
--------
|
2014-07-22 23:11:43 +00:00
|
|
|
|
|
|
|
* `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.
|
2014-07-28 01:59:57 +00:00
|
|
|
* `Platform`: word size and other basic platform definitions.
|
2014-07-22 23:11:43 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
Building
|
|
|
|
--------
|
2014-07-22 23:11:43 +00:00
|
|
|
|
|
|
|
This module is not built in isolation, but included in the `ASpec` and
|
|
|
|
`ExecSpec` sessions.
|
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
Remarks
|
|
|
|
-------
|
|
|
|
|
2014-07-22 23:11:43 +00:00
|
|
|
* the theory `ARMMachineTypes` is generated from Haskell using the tool in
|
|
|
|
`tools/haskell-translator` and the skeleton file in `spec/design/m-skel`.
|
2014-07-28 01:59:57 +00:00
|
|
|
|