Miki Tanaka
629ea900b7
arm-hyp execspec: caseconvs for VGIC interface etc.
2017-06-19 14:32:19 +10:00
Miki Tanaka
00f1393c5b
arm-hyp execspec: add caseconvs, fixes in haskell + VCPU_H
2017-06-19 14:32:19 +10:00
Miki Tanaka
0ee19108b5
arm-hyp execspec: VCPU skeleton file, new constructs (arch_tcb, arch_fault, Hypervisor) for ARM_HYP
2017-06-19 14:32:19 +10:00
Miki Tanaka
0741f0d533
arm-hyp execspec/machine: fixing import paths and namespace for multiple architecture
2017-06-19 14:32:19 +10:00
Miki Tanaka
81663c978d
arm-hyp execspec: add skel/ARM_HYP, m-skel/ARM_HYP, make haskell-translator work for ARM_HYP
...
(copied from ARM)
Per-plaform CPP configuration for spec-check and make-spec.
The configuration is still duplicated between the two scripts, but now
the translation/check for ARM_HYP will use correct CPP settings.
2017-06-19 14:31:56 +10:00
Miki Tanaka
8bfc2ac68c
execspec/machine: remove redundant file (ARM)
2017-06-17 16:26:11 +10:00
Miki Tanaka
1f8127c6cc
arm-hyp (abstract/design/machine): add ARM_HYP directories
2017-06-17 16:26:11 +10:00
Miki Tanaka
f7e451b18a
arm-hyp haskell: updates for the rebase (remove recycle/selfour-553/VER-623)
...
* correct asid_high_bits and largePTE/superSectionPDE offsets
* correct copy_global_mappings for ARM_HYP
2017-06-17 16:26:11 +10:00
Miki Tanaka
611d63e4ea
arm-hyp haskell: add prepareThreadDelete
...
this is a function called from finiliseCap to prepare a tcb for deletion
2017-06-17 16:26:11 +10:00
Rafal Kolanski
5898d6c7e3
arm-hyp haskell: get SMMU target to build again
2017-06-17 16:26:11 +10:00
Rafal Kolanski
6356fe57a2
arm-hyp haskell: implement VCPU functionality (except faults)
...
also includes fixes for haskell-translator (SELFOUR-551/555/557), fix the range of vgicLR
2017-06-17 16:26:11 +10:00
Rafal Kolanski
68a8ebd560
arm-hyp haskell: SELFOUR-551: Swap argument order of [di|a]ssociateVcpuTcb
...
Covers pull request #299 . The rest of the changes are either already in
place or concern IO which is not fully specified yet.
2017-06-17 16:26:11 +10:00
Rafal Kolanski
b77476a45e
arm-hyp haskell: incorporate SELFOUR-555/557
...
from pull request #285 :
SELFOUR-555: Rename ksCurCPU->armHSCurVCPU
SELFOUR-557: s/isIOSpaceFrame/isIOSpaceFrameCap/
Other changes in pull request have no effect on current Haskell spec.
2017-06-17 16:26:11 +10:00
Rafal Kolanski
2c58b564d9
arm-hyp haskell: VIRQ inject invocation
2017-06-17 16:26:11 +10:00
Rafal Kolanski
32951a9a87
arm-hyp haskell: rephrase VIRQ inject decode after kernel changes
2017-06-17 16:26:11 +10:00
Rafal Kolanski
39f054220c
arm-hyp haskell: add VGIC interfaces + decode VCPU inject IRQ
2017-06-17 16:26:11 +10:00
Rafal Kolanski
222c2fdf77
arm-hyp haskell: VCPU register read/write (decode+perform)
2017-06-17 16:26:11 +10:00
Rafal Kolanski
0085b67aea
arm-hyp haskell: fix compile for build-arm-hyp-nosmmu
...
Forgot to disable capVPisIOSpace PageCap property when SMMU disabled.
2017-06-17 16:26:11 +10:00
Rafal Kolanski
9dfcec274a
haskell: clean up Makefile, separate build dir per target
2017-06-17 16:26:11 +10:00
Rafal Kolanski
bd8c6d2a72
haskell: add mapMaybe and modifyArchState
...
Utility functions.
2017-06-17 16:26:11 +10:00
Rafal Kolanski
9ea53d6c1f
haskell: make build-arm-hyp-nosmmu the default build target
2017-06-17 16:26:11 +10:00
Rafal Kolanski
7125d4843c
haskell: rename ARM target in Makefile to build-arm
...
"build" is ambiguous
2017-06-17 16:26:11 +10:00
Rafal Kolanski
fa8fc7de7d
haskell: arch-specific faults + split VMFault -> ArchFault
...
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.
2017-06-17 16:26:11 +10:00
Rafal Kolanski
7dc21c9c71
haskell: fix misguided import for ARM platform
2017-06-17 16:26:11 +10:00
Rafal Kolanski
57d800e9c3
arm-hyp haskell: ARMVCPUSetTCB decode+perform
2017-06-17 16:26:11 +10:00
Rafal Kolanski
fb23b8ef21
arm-hyp haskell: make VCPU PSpaceStorable
2017-06-17 16:26:11 +10:00
Rafal Kolanski
8309e0acde
arm-hyp haskell: don't regenerate Structures.lhs-boot
...
Structures.lhs-boot is custom, but there was a general rule that would
clobber it in the Makefile. Override this rule.
2017-06-17 16:26:11 +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
d79c167820
arm-hyp haskell: ArchFault stub for ARM_HYP platform.
2017-06-17 16:26:11 +10:00
Rafal Kolanski
75514f6a05
arm-hyp haskell: resolve circular dependency for VCPUs
...
Done by scattering parts of VCPU all over the place, but in a canonical
fashion.
2017-06-17 16:26:11 +10:00
Rafal Kolanski
25616760bd
arm-hyp haskell: more non-progress in trying to resolve circular imports
2017-06-17 16:26:11 +10:00
Rafal Kolanski
de74d26bbe
arm-hyp haskell: call VCPU functions properly
...
Completely breaks build due to circular dependency problems we can't yet
solve.
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
884586da3f
arm-hyp haskell: addres several FIXMES:
...
- dropped InvokePageIO in favour of capVPisIOSpace flag on PageCap
- converted some objBits (undefined :: ...) to pteBits and pdeBits
- added invalid IOPDEs and IOPTEs encoded to 0
- added IOPTEs and IOPDEs to PSpaceStorable
- adjusted asidHighBits to drop one on enabling MMU
2017-06-17 16:26:11 +10:00
Rafal Kolanski
298d4ea6fe
arm-hyp haskell: changes from meeting
2017-06-17 16:26:11 +10:00
Rafal Kolanski
a35ec59857
arm-hyp haskell: add arm-hyp-nossmu target, make sure it compiles
2017-06-17 16:26:11 +10:00
Rafal Kolanski
77af6dc71e
arm-hyp haskell: compiles, still missing VCPU and IO/IOSpace
...
All missing spots are hopefully tagged now, and there is quite a bit to
discuss tagged with "FIXME ARMHYP".
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
c103dfc31b
haskell: allow underscores in module names in mkhsboot
...
Wasted so much time figuring out this was a problem.
2017-06-17 16:26:11 +10:00
Rafal Kolanski
bdc3c846dd
haskell: base arm-hyp off of arm-kzm
2017-06-17 16:26:11 +10:00
Rafal Kolanski
e080f5c26d
haskell: allow adding extra CPP options for a target
2017-06-17 16:26:11 +10:00
Rafal Kolanski
f5831941ff
haskell: hlint and clean up Setup.hs
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
Alejandro Gomez-Londono
0a31fa7fe4
Remove spec-check test and scripts
2017-05-12 12:50:55 +10:00
Alejandro Gomez-Londono
41f200d5b3
design: Update Makefiles + tests.xml to auto-generate the design spec
...
* It runs the haskell-translator as a dependency, eliminating the
need for "run haskell translator" commits.
2017-05-12 12:50:49 +10:00
Alejandro Gomez-Londono
6fb8f73535
design: Remove files generated by the haskell-translator
2017-05-11 16:26:18 +10:00
Pang Luo
da28d94974
VER-717: refactor tpidrurwRegister and fix corresponding proof
2017-05-05 15:17:41 +10:00
Joel Beeren
71e2db88a4
arm: refactor sanitise_register to take a bool instead of a kernel_object
...
This simplified the sanitise_register logic in CRefine for arm-hyp.
2017-05-03 21:51:57 +10:00
Daniel Matichuk
cccb7033b8
lib/apply_debug: show protected subgoals
...
This overrides the default proof state printing function to also
show any subgoals which have been hidden (protected).
This makes proof states shown during apply_debug more
comprehensible.
2017-04-06 12:11:54 +10:00
Matthew Brecknell
366460e76c
autocorres: prepare packaging scripts for release 1.3
2017-04-03 14:46:53 +10:00