Commit graph

58 commits

Author SHA1 Message Date
Miki Tanaka
c59783ffad haskell updated for SELFOUR-56: Remove diminish rights from IPC 2016-02-24 13:27:45 +11:00
lmondy
51ef223945 Newline for latex compilation. This one isn't strictly required but will clash with the regression test. 2016-02-18 14:20:23 +11:00
lmondy
5b09e084d7 Fix for doc building - latex needs newline after > text 2016-02-17 16:43:47 +11:00
Xin,Gao
0888463110 fix typo, comments and style 2016-02-12 16:37:52 +11:00
Xin,Gao
075f9f1ed9 haskell : minor fix on the input of checkIRQ 2016-02-16 10:21:50 +11:00
Xin,Gao
0a06e7e453 move kernelBase to arch specific files 2016-02-16 10:21:50 +11:00
Gao Xin
6736975081 l4v-proof-porting: make c-parser and haskell translator happy 2016-02-16 10:21:50 +11:00
Xin,Gao
205077d4a6 haskell: change def of InitFailure for haskell translator 2016-02-16 10:21:50 +11:00
Xin,Gao
d9019cc3e3 haskell: more fixes and pass sel4test on haskell-qemu-emulator 2016-02-16 10:21:50 +11:00
Xin,Gao
7f5a6bf786 haskell: MCT added and fixes performance bug of deleteObjects 2016-02-16 10:21:50 +11:00
Xin,Gao
ee215947e3 haskell: misc fixes after rebase 2016-02-16 10:21:49 +11:00
Xin,Gao
b9bf1f3349 haskell: gic pl390 2016-02-16 10:21:49 +11:00
Xin,Gao
45a862d4d3 haskell: Some fixes on kernel init and some progress on multi platform support 2016-02-16 10:21:49 +11:00
lmondy
00d1191368 Fix for latex processing 2016-02-05 15:36:34 +11:00
Adrian Danis
bddd804a6e x86: IOAPIC/MSI syscalls
Restructure the x86 interrupt handling to allow for a more flexible
method of using IOAPIC and MSI interrupts. The essence of this change
is to allow for the user to pick, for both IOAPIC and MSIs, which
CPU vector to use. Additionally there is future support, in the API,
for seL4 to eventually protect MSI interrupts with the vt-d interrupt
routing tables.

API behaviour for legacy systems using the PIC is preserved

Part of SELFOUR-281
2016-02-02 15:58:18 +11:00
Daniel Matichuk
e35adcb52f remove mentions of ARM from arch-independent invocation labels 2016-01-29 12:02:53 +11:00
Daniel Matichuk
1306132c86 refactor haskell to allow for multiple architectures 2016-01-28 18:54:11 +11:00
Adrian Danis
a6aa7472f3 Remove redundant IRQInterruptControl invocation, and replace with a mechanism to actually decode arch specific IRQ invocations
Part of SELFOUR-281
2016-01-18 11:37:52 +11:00
Thomas Sewell
72b4dbb7f6 Final patch to lookupSlot variants. 2015-12-02 09:19:12 +11:00
Thomas Sewell
9785c97767 Hopefully final array change: resolveAddressBits.
The fastpath variant of the resolveAddressBits loop does things out
of order, so we need to do the locateSlotCap early in order to make
sure that the assertion in it is available unconditionally.
2015-12-02 09:19:12 +11:00
Thomas Sewell
3d423689a9 Add gsCNode assertion to locateSlot; clarify.
Splits the locateSlot operation into locateSlotCNode (checks that
there is indeed a CNode present) and locateSlotTCB (does not). Also
add an alias for use where the CNode pointer is immediately grabbed
from a CNode cap.

The IRQ node is treated specially in the proofs at every level, so
another variant avoids any checking.

A new assertion at retype time is to ensure that retyping either
removes CNode arrays or preserves them, but doesn't cut into them.
This is done with an assertion because it's trivial to prove in the
abstract spec (where CNode arrays are single objects) and painful
elsewhere.
2015-12-02 09:19:12 +11:00
Anna Lyons
a99a10408d SELFOUR-279: rename Wait -> Recv, add wrappers for seL4_Poll and seL4_Wait for notification objects.
This commit deprecates seL4_ReplyWait, removes seL4_NBwait completely,
and changes the return type of seL4_Wait to void (seL4_Wait should be
used for notification objects, and seL4_Recv should be used where
seL4_Wait was used previously for endpoints).
2015-11-20 15:28:18 +11:00
Matthew Fernandez
345456548f haskell: Fix typos. 2015-11-10 17:52:07 +11:00
Anna Lyons
54603123e6 SELFOUR-317: rename async endpoint to notification object, and other
fallout.
2015-11-09 17:18:43 +11:00
Rafal Kolanski
7a16bdc110 priority-bitmap: update Haskell 2015-10-21 18:53:19 +11:00
Anna Lyons
d9802d179f Add seL4_NBWait: non blocking wait for notifications and endpoints. 2015-10-21 13:43:39 +11:00
Adrian Danis
97042a0f07 Introduce 'Notification Binding': a new feature which allows a tcb to be bound to a single asynchronous endpoint. 2015-10-09 15:19:58 +11:00
Joel Beeren
f15959a737 SELFOUR-220: only delete reply cap when waiting on sync endpoint 2015-07-23 14:47:30 +10:00
Thomas Sewell
25155caff3 haskell: Add assertion about IRQ handler cap.
Once again, we know in the abstract invariants that these must be
async endpoint caps or null caps, but this is only knowable in
haskell by asserting it.
2015-07-15 14:02:37 +10:00
Thomas Sewell
0512188b86 Fix up minor haskell issues.
Need to be careful about operations that are ambiguous in Haskell
but well-defined in the resulting Isabelle import.
2015-07-14 14:39:09 +10:00
Thomas Sewell
59ea0fe460 Assertions to lean on abstract refinement.
We can't prove that the caller cap must be a reply cap or that
the frames mapped in an arbitrary address space are backed by caps
without appealing to the abstract invariants, which means yet more
assertions in haskell and work in the abstract/haskell refinement.
2015-07-14 14:15:27 +10:00
Thomas Sewell
dcf9707ac9 Immediate bugfix. 2015-07-14 14:15:27 +10:00
Thomas Sewell
d629f07efe New assertion about mapping sizes to be flushed. 2015-07-14 14:15:27 +10:00
Joel Beeren
cf53dfa1e7 removed setCurrentASID 2015-05-27 13:05:28 +10:00
Joel Beeren
e8ef76fe0f Minor change to haskell implementation of armv_contextSwitch 2015-05-27 13:05:27 +10:00
Joel Beeren
4625b65433 Changed haskell kernel to match new fastpath homogenisation changes 2015-05-27 13:05:27 +10:00
Gerwin Klein
2f08fce48b haskell: make latex document build 2015-05-22 15:17:08 +10:00
Gerwin Klein
0d0eb5c868 haskell: tuned boot info docs 2015-05-19 19:24:43 +10:00
Gao Xin
f854c130f3 fix spelling of FIXME and license tag 2015-05-19 19:23:06 +10:00
Gao Xin
6e6e471381 noInitFailure replaces liftE 2015-05-19 19:23:06 +10:00
Xin,Gao
51222516bd explict KernelInitState 2015-05-19 19:23:06 +10:00
Xin,Gao
0eea292555 minor change for haskell translator 2015-05-19 19:23:06 +10:00
Xin,Gao
e26cef4074 expose more api and make haskell translator happy 2015-05-19 19:23:06 +10:00
Gao Xin
4fa55b1ef4 some adjustments based on old version 3725 2015-05-19 19:23:06 +10:00
Gao Xin
8664ae4a18 init commit for imx31-new-qemu support 2015-05-19 19:23:06 +10:00
Gerwin Klein
2d4d520c77 haskell: removed Lyrebird target
Consolidating to one simulator to get simulator builds running again. The
source setup is still for multiple potential targets so it remains reasonably
easy to add different architectures like x86 to the Haskell model if needed.
2014-12-11 16:03:10 +11:00
Gerwin Klein
713387ed03 haskell: removed outdated platforms
HaskellCPU and Alpha implementations have fallen far behind the current
kernel structure, haven't been used for years, and are not included in
the build.

Removing them to avoid confusion.
2014-12-04 09:44:15 +11:00
Gerwin Klein
a5e34f6e59 add support for XN attribute in Haskell 2014-11-26 12:44:06 +11:00
Gerwin Klein
d066331c6f changes for warning-free build with GHC 7.8.3 2014-11-23 15:30:19 +11:00
Joel Beeren
ec02c27ea7 ioapic: fix haskell for new 14 bit FSR 2014-09-02 16:22:40 +10:00