2014-07-17 19:03:59 +00:00
|
|
|
--
|
|
|
|
-- 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)
|
|
|
|
--
|
|
|
|
|
2017-02-01 06:14:31 +00:00
|
|
|
name: SEL4
|
2014-11-20 06:53:54 +00:00
|
|
|
version: 1.4-pre
|
2016-05-24 03:49:50 +00:00
|
|
|
cabal-version: >= 1.18
|
2016-01-28 07:54:11 +00:00
|
|
|
build-type: Custom
|
2015-05-22 05:19:36 +00:00
|
|
|
license: GPL
|
2014-12-11 04:57:56 +00:00
|
|
|
author: Philip Derrin et. al., NICTA
|
2014-07-17 19:03:59 +00:00
|
|
|
synopsis: Executable specification for the seL4 Kernel
|
2014-11-20 06:53:54 +00:00
|
|
|
tested-with: GHC == 7.8.3
|
2014-07-17 19:03:59 +00:00
|
|
|
|
|
|
|
Flag FFI
|
|
|
|
description: Include the C language bindings
|
|
|
|
default: True
|
|
|
|
|
2017-01-26 03:20:48 +00:00
|
|
|
Flag ArchArm
|
2016-05-30 07:15:04 +00:00
|
|
|
description: Include ARM modules and platforms
|
|
|
|
default: False
|
|
|
|
|
|
|
|
Flag ArchArmHyp
|
|
|
|
description: Include ARM (with Hypervisor Extensions) modules and platforms
|
|
|
|
default: False
|
2017-01-26 03:20:48 +00:00
|
|
|
|
2017-02-06 08:13:10 +00:00
|
|
|
Flag ArchX64
|
|
|
|
description: Include x86 64-bit modules and platforms
|
2017-03-14 05:55:24 +00:00
|
|
|
default: False
|
2017-01-26 03:20:48 +00:00
|
|
|
|
2014-07-17 19:03:59 +00:00
|
|
|
Library
|
|
|
|
exposed-modules: SEL4
|
|
|
|
SEL4.Machine.Target
|
2016-05-24 04:07:04 +00:00
|
|
|
-- Newer mtl's cause old APIs to be deprecated, which fails -Werror.
|
|
|
|
-- base-4.8 (ghc 7.10) exports conflicting name Prelude.Word.
|
|
|
|
build-depends: mtl==2.1.3.1, base==4.7.*, array, containers, transformers
|
2017-01-26 03:20:48 +00:00
|
|
|
|
2014-07-17 19:03:59 +00:00
|
|
|
if flag(FFI)
|
2016-05-24 04:07:53 +00:00
|
|
|
-- FFIBindings currently relies on POSIX signal handlers. This could
|
2014-07-17 19:03:59 +00:00
|
|
|
-- be fixed.
|
|
|
|
build-depends: unix
|
|
|
|
exposed-modules: Simulation.FFIBindings
|
|
|
|
include-dirs: include
|
2015-11-19 08:20:30 +00:00
|
|
|
install-includes: sel4model.h gic.h
|
2014-07-17 19:03:59 +00:00
|
|
|
dist/build/Simulation/FFIBindings_stub.h
|
2017-01-26 03:20:48 +00:00
|
|
|
else
|
|
|
|
build-depends: unix
|
|
|
|
include-dirs: include
|
2014-07-17 19:03:59 +00:00
|
|
|
|
|
|
|
other-modules: SEL4.API
|
|
|
|
SEL4.API.Syscall
|
|
|
|
SEL4.API.Faults
|
|
|
|
SEL4.API.Failures
|
|
|
|
SEL4.API.Types
|
|
|
|
SEL4.API.Types.Universal
|
|
|
|
SEL4.API.Invocation
|
2016-01-28 07:54:11 +00:00
|
|
|
SEL4.API.InvocationLabels
|
2014-07-17 19:03:59 +00:00
|
|
|
SEL4.Kernel
|
2014-12-23 03:27:04 +00:00
|
|
|
SEL4.Kernel.BootInfo
|
2014-07-17 19:03:59 +00:00
|
|
|
SEL4.Kernel.VSpace
|
|
|
|
SEL4.Kernel.CSpace
|
|
|
|
SEL4.Kernel.Init
|
|
|
|
SEL4.Kernel.Thread
|
|
|
|
SEL4.Kernel.FaultHandler
|
2016-07-16 13:41:10 +00:00
|
|
|
SEL4.Kernel.Hypervisor
|
2014-07-17 19:03:59 +00:00
|
|
|
SEL4.Object
|
|
|
|
SEL4.Object.ObjectType
|
|
|
|
SEL4.Object.CNode
|
|
|
|
SEL4.Object.Endpoint
|
|
|
|
SEL4.Object.TCB
|
|
|
|
SEL4.Object.Instances
|
|
|
|
SEL4.Object.Structures
|
|
|
|
SEL4.Object.Interrupt
|
2015-10-19 22:55:03 +00:00
|
|
|
SEL4.Object.Notification
|
2014-07-17 19:03:59 +00:00
|
|
|
SEL4.Object.Untyped
|
|
|
|
SEL4.Model
|
|
|
|
SEL4.Model.StateData
|
|
|
|
SEL4.Model.PSpace
|
|
|
|
SEL4.Model.Failures
|
|
|
|
SEL4.Model.Preemption
|
|
|
|
SEL4.Model.Syscall
|
|
|
|
SEL4.Machine
|
|
|
|
SEL4.Machine.RegisterSet
|
|
|
|
SEL4.Machine.Hardware
|
|
|
|
SEL4.Config
|
|
|
|
Data.BinaryTree
|
|
|
|
Data.Helpers
|
|
|
|
|
2017-01-26 03:20:48 +00:00
|
|
|
SEL4.Machine.Hardware.GICInterface
|
|
|
|
SEL4.Machine.Hardware.MCTInterface
|
|
|
|
SEL4.Machine.Hardware.MPTimerInterface
|
|
|
|
if flag(ArchArm)
|
|
|
|
other-modules:
|
2015-11-17 02:39:00 +00:00
|
|
|
SEL4.Machine.Hardware.ARM.KZM
|
|
|
|
SEL4.Machine.Hardware.ARM.Exynos4210
|
|
|
|
SEL4.Machine.Hardware.ARM.Sabre
|
2015-11-19 08:20:30 +00:00
|
|
|
SEL4.Machine.Hardware.ARM.Callbacks
|
2015-05-22 05:19:36 +00:00
|
|
|
|
|
|
|
SEL4.API.Types.ARM
|
2016-01-28 07:54:11 +00:00
|
|
|
SEL4.API.InvocationLabels.ARM
|
2015-05-22 05:19:36 +00:00
|
|
|
SEL4.API.Invocation.ARM
|
2016-07-15 13:55:27 +00:00
|
|
|
SEL4.API.Faults.ARM
|
|
|
|
SEL4.API.Failures.ARM
|
2015-05-22 05:19:36 +00:00
|
|
|
SEL4.Kernel.VSpace.ARM
|
|
|
|
SEL4.Kernel.Thread.ARM
|
2016-07-16 13:41:10 +00:00
|
|
|
SEL4.Kernel.Hypervisor.ARM
|
2015-05-22 05:19:36 +00:00
|
|
|
SEL4.Object.ObjectType.ARM
|
|
|
|
SEL4.Object.Structures.ARM
|
|
|
|
SEL4.Object.Interrupt.ARM
|
|
|
|
SEL4.Object.Instances.ARM
|
|
|
|
SEL4.Object.TCB.ARM
|
|
|
|
SEL4.Model.StateData.ARM
|
|
|
|
SEL4.Machine.RegisterSet.ARM
|
|
|
|
SEL4.Machine.Hardware.ARM
|
2017-01-26 03:20:48 +00:00
|
|
|
|
2016-05-30 07:15:04 +00:00
|
|
|
-- FIXME ideally ARMHYP will share code with the main ARM development,
|
|
|
|
-- but when doing an architecture port we want to make sure we are doing a
|
|
|
|
-- full pass over the Haskell kernel, touching all files
|
|
|
|
-- TODO consolidate later
|
|
|
|
if flag(ArchArmHyp)
|
2017-01-26 03:20:48 +00:00
|
|
|
other-modules:
|
2017-06-28 11:07:46 +00:00
|
|
|
SEL4.Machine.Hardware.ARM.TK1
|
|
|
|
SEL4.Machine.Hardware.ARM.Callbacks
|
2017-01-26 03:20:48 +00:00
|
|
|
|
2017-06-28 11:07:46 +00:00
|
|
|
SEL4.API.Types.ARM
|
|
|
|
SEL4.API.InvocationLabels.ARM
|
|
|
|
SEL4.API.Invocation.ARM
|
|
|
|
SEL4.API.Faults.ARM
|
|
|
|
SEL4.API.Failures.ARM
|
|
|
|
SEL4.Kernel.VSpace.ARM
|
|
|
|
SEL4.Kernel.Thread.ARM
|
|
|
|
SEL4.Kernel.Hypervisor.ARM
|
|
|
|
SEL4.Object.ObjectType.ARM
|
|
|
|
SEL4.Object.Structures.ARM
|
|
|
|
SEL4.Object.Interrupt.ARM
|
|
|
|
SEL4.Object.Instances.ARM
|
|
|
|
SEL4.Object.VCPU.ARM
|
|
|
|
SEL4.Object.TCB.ARM
|
|
|
|
SEL4.Model.StateData.ARM
|
|
|
|
SEL4.Machine.RegisterSet.ARM
|
|
|
|
SEL4.Machine.Hardware.ARM
|
2014-07-17 19:03:59 +00:00
|
|
|
|
2017-02-06 08:13:10 +00:00
|
|
|
if flag(ArchX64)
|
2017-01-26 03:20:48 +00:00
|
|
|
other-modules:
|
|
|
|
|
|
|
|
SEL4.API.Types.X64
|
|
|
|
SEL4.API.InvocationLabels.X64
|
|
|
|
SEL4.API.Invocation.X64
|
|
|
|
SEL4.Kernel.VSpace.X64
|
|
|
|
SEL4.Kernel.Thread.X64
|
2017-03-14 05:55:24 +00:00
|
|
|
SEL4.Kernel.Hypervisor.X64
|
2017-01-26 03:20:48 +00:00
|
|
|
SEL4.Object.ObjectType.X64
|
|
|
|
SEL4.Object.Structures.X64
|
|
|
|
SEL4.Object.Interrupt.X64
|
|
|
|
SEL4.Object.Instances.X64
|
|
|
|
SEL4.Object.IOPort.X64
|
|
|
|
SEL4.Object.TCB.X64
|
|
|
|
SEL4.Model.StateData.X64
|
|
|
|
SEL4.Machine.RegisterSet.X64
|
|
|
|
SEL4.Machine.Hardware.X64
|
|
|
|
|
|
|
|
SEL4.Machine.Hardware.X64.PC99
|
2014-07-17 19:03:59 +00:00
|
|
|
|
|
|
|
hs-source-dirs: src
|
2016-01-11 00:04:17 +00:00
|
|
|
ghc-prof-options: -auto-all -prof -fprof-auto
|
2014-07-17 19:03:59 +00:00
|
|
|
ghc-options: -Wall -Werror -O2 -fno-warn-unused-do-bind
|
|
|
|
-fno-warn-missing-signatures -fno-warn-orphans
|
|
|
|
-fno-spec-constr -fno-warn-name-shadowing
|
|
|
|
-fno-warn-unrecognised-pragmas
|
|
|
|
-fno-warn-unused-binds
|
2017-02-06 08:10:51 +00:00
|
|
|
-fno-warn-unused-imports -fno-warn-unused-matches
|
2015-05-22 05:19:36 +00:00
|
|
|
|
|
|
|
cpp-options:
|
2016-01-28 07:54:11 +00:00
|
|
|
-- set via Setup.hs hook
|
|
|
|
|
2015-02-27 06:02:36 +00:00
|
|
|
Default-Language: Haskell98
|
2014-07-17 19:03:59 +00:00
|
|
|
|