35 lines
1.3 KiB
Text
35 lines
1.3 KiB
Text
#
|
|
# Copyright 2014, General Dynamics C4 Systems
|
|
#
|
|
# This software may be distributed and modified according to the terms of
|
|
# the GNU General Public License version 2. Note that NO WARRANTY is provided.
|
|
# See "LICENSE_GPLv2.txt" for details.
|
|
#
|
|
# @TAG(GD_GPL)
|
|
#
|
|
|
|
The sources in this directory can be used to build a Haskell Cabal package
|
|
containing an executable model of the seL4 kernel. The model cannot run
|
|
stand-alone; it must be integrated into a simulator that can run user-level
|
|
binaries and generate events that the kernel model can process.
|
|
|
|
To build it:
|
|
- install GHC 6.6 or later
|
|
- install Cabal 1.2 or later. This is included with GHC 6.8. The version
|
|
of Cabal included with GHC 6.6 will work, but only with some minor changes
|
|
in Setup.hs.
|
|
- configure the sources:
|
|
runhaskell Setup.hs configure --with-target=<arch>-<platform> \
|
|
--prefix=<directory>
|
|
The valid target options are currently:
|
|
arm-qemu
|
|
arm-isabuilder
|
|
- build the library:
|
|
runhaskell Setup.hs build
|
|
- install:
|
|
runhaskell Setup.hs install --user
|
|
|
|
After that, you can compile Haskell programs using the simulator by adding
|
|
"-package SEL4" to the ghc command line. Note that the qemu and isabuilder
|
|
targets require some callback functions to be accessible via the FFI, so
|
|
it is not possible to load a model compiled for those targets in GHCi.
|