Commit Graph

19 Commits

Author SHA1 Message Date
Matthew Brecknell 238e8b307e x64: merge master 2017-07-21 11:27:12 +10:00
Miki Tanaka d8d1ee014c haskell: unify arm and arm-hyp haskell files
- both ARM and ARM_HYP haskell specs are now generated from the same set of files using cpp
- callbacks and platform files are merged into one directory (ARM)
- remove check-arm-hyp.py now that there are no ARM_HYP.lhs files
2017-07-03 10:30:49 +10:00
Rafal Kolanski 33ec22b7ed haskell: trivial cleanup in SEL4.cabal 2017-06-19 14:32:24 +10:00
Rafal Kolanski 9b29384830 haskell: SEL4.cabal: make x64 a proper flag (ArchX64)
This used to be "if ArchArm then ARM else X64", which did not work for
ARM_HYP.
2017-06-19 14:32:22 +10:00
Rafal Kolanski 54913ba52e haskell: disable warnings on unused imports and variables
Since we are running with -Werror (maybe we shouldn't) and using cpp to
configure whether arguments are used or not depending on the arch (i.e.
ARM vs ARM_HYP), it makes no sense to make unused variables and imports
an error.

Open to ideas on where to go from here.
2017-06-19 14:32:22 +10:00
Miki Tanaka 9123c3635e arm-hyp: changes after rebase (on top of d08ee04e2f) 2017-06-19 14:32:22 +10:00
Rafal Kolanski c5e59e1028 arm-hyp haskell: basic stubs to support recent haskell changes 2017-06-17 16:26:11 +10:00
Rafal Kolanski 663790c1ad arm-hyp haskell: add start of VCPU/ARM_HYP
Currently not working.
2017-06-17 16:26:11 +10:00
Rafal Kolanski b2a1ff6a6a arm-hyp haskell: VSpace compiles with enabled SMMU (stubbed IO for the moment) 2017-06-17 16:26:11 +10:00
Rafal Kolanski 49bf6be16a Haskell: build setup for arm-hyp (arm-tk1 = ARM_HYP + TK1) 2017-06-17 16:26:11 +10:00
Joel Beeren 637f13b994 x64: fix haskell Makefile, get haskell building without VT-d stuff 2017-03-14 17:59:08 +11:00
Rafal Kolanski ce1b60e16e haskell: add Hypervisor module, add concept of Hypervisor exceptions
The kernel gains an entry point for hypervisor exception events, as well
as a way to add arch-specific handlers for these events.

We do this since the hypervisor has its own entry point into the kernel,
and that must be reflected in the top-level kernel entry interface.

For ARM target, which does not have hypervisor support, we add an no-op stub.
2017-02-22 15:26:41 +11:00
Matthew Brecknell aee13996a6 haskell: use stack to obtain suitable GHC and cabal 2017-02-01 17:31:21 +11:00
Joel Beeren 3dafec7d46 backport changes to ARM proofs from X64 work in progress
- replace ARM-specific constants and types with aliases which can be
  instantiated separately for each architecture.
- expand lib with lemmas used in X64 proofs.
- simplify some proofs.

Also-by: Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>
2017-01-27 08:31:07 +11:00
Rafal Kolanski c92baf746d Haskell: arch-specific faults + split VMFault -> ArchFault + ReservedIRQ
Hypervisor extensions add extra fault types which are entirely
arch-specific. While the concept of a VM fault exists on all platforms,
these faults are also arch-specific.

This change adds an ArchFault datatype and constructor to the generic
Faults and Failures, and moves VMFault into ArchFault for the ARM
platform.

NOTE: fault indices have changed (generic goes before arch) as per
  the changes needed for SELFOUR-413, which is the seL4 C equivalent of
  this commit.

* add arch faults and failures to SEL4.cabal

* introduce and handle IRQReserved

  On ARM this does nothing, but on other platforms reserved IRQs are
  actually used.

* split TCB into ArchTCB (userContext)

* changing ArchFault to make haskell-translator to work

  tags: [VER-623][SELFOUR-413]
2016-11-25 13:05:15 +11:00
Japheth Lim 6ae8d712ec haskell: reconstruct lost comment from galois-domains merge 2016-05-24 16:31:03 +10:00
Japheth Lim 3409a92eca haskell: document the package version constraints 2016-05-24 16:31:03 +10:00
Japheth Lim 37fa2f359a haskell: revert minimum cabal-version
GHC 7.8 ships with Cabal 1.18 but the .cabal file asks for >=1.20,
which seems to be unnecessary. This commit reverts to >=1.18.
2016-05-24 14:53:00 +10:00
Japheth Lim ebc7cbe584 haskell: move Haskell kernel into spec/ 2016-05-24 14:18:13 +10:00