Commit Graph

1328 Commits

Author SHA1 Message Date
Matthew Brecknell 569cd2822e thydeps: support Perl version 5.24
Perl version 5.24 no longer allows use of $_ as a lexical variable.
2016-10-04 12:04:36 +11:00
Xin Gao 00f64879de Merge pull request #110 in SEL4/l4v from SELFOUR-421-rebased to master
* commit '8d4a8eb238090999b4b41f588d5fa63453d58ae8':
  SELFOUR-421: fix coding style
  SELFOUR-421: fix drefine
  SELFOUR-421: add device bit in UntypedCap and FrameCap in capdl
  SELFOUR-421: infoflow and infoflow_c builds
  SELFOUR-421: crefine builds
  SELFOUR-421: commit before change abstract again
  SELFOUR-421: fix refine
  SELFOUR-421: a defend version before wild changes
  SELFOUR-421: new haskell spec after UserDataDevice changes
  SELFOUR-421: broken crefine after conversation with gerwin
  SELFOUR-421: up to VSpace_C done
  SELFOUR-421: temp work in CSpace_C
  SELFOUR-421: fixed Refine after merge with master
  SELFOUR-421: retranslate haskell after merge with master
  SELFOUR-421: random uncommitted stuff before merge
  SELFOUR-421: retranslate haskell for fixed range check
  SELFOUR-421: refine done
  SELFOUR-421: added check to decoding asid control invocations and stole an asid bit from the high bits not the low ones
  SELFOUR-421: AInvs done, no added invariants yet
  SELFOUR-421: first attempt at abstract spec
2016-09-23 04:17:09 +00:00
Xin,Gao 8d4a8eb238 SELFOUR-421: fix coding style 2016-09-22 19:23:28 +10:00
Xin,Gao 8f3a4dee31 SELFOUR-421: merge with master, fix wholesystem proofs 2016-09-22 19:23:19 +10:00
Xin,Gao 113315d9a6 SELFOUR-421: merge and fix up to ArmConfidentiality proof 2016-09-22 19:21:56 +10:00
Xin,Gao 56dff5a787 SELFOUR-421: fix drefine 2016-09-22 19:11:37 +10:00
Xin,Gao e00e4c4e64 SELFOUR-421: add device bit in UntypedCap and FrameCap in capdl 2016-09-22 19:11:37 +10:00
Xin,Gao 252ce8df4c SELFOUR-421: infoflow and infoflow_c builds 2016-09-22 19:11:37 +10:00
Xin,Gao 328846ee1a SELFOUR-421: crefine builds 2016-09-22 19:11:37 +10:00
Xin,Gao ba03caf644 SELFOUR-421: commit before change abstract again 2016-09-22 19:11:37 +10:00
Xin,Gao 7784e80940 SELFOUR-421: fix refine 2016-09-22 19:11:36 +10:00
Xin,Gao c3be923ca0 SELFOUR-421: a defend version before wild changes 2016-09-22 19:11:36 +10:00
Joel Beeren ec57875566 SELFOUR-421: new haskell spec after UserDataDevice changes 2016-09-22 19:11:36 +10:00
Joel Beeren 99a4c5380c SELFOUR-421: broken crefine after conversation with gerwin 2016-09-22 19:11:36 +10:00
Joel Beeren 5cac23733b SELFOUR-421: up to VSpace_C done 2016-09-22 19:11:36 +10:00
Joel Beeren 1ef5bdf681 SELFOUR-421: temp work in CSpace_C 2016-09-22 19:11:36 +10:00
Joel Beeren 765d8aa88e SELFOUR-421: fixed Refine after merge with master 2016-09-22 19:11:36 +10:00
Joel Beeren 78bd770240 SELFOUR-421: retranslate haskell after merge with master 2016-09-22 19:11:36 +10:00
Joel Beeren 9617e22ce6 SELFOUR-421: random uncommitted stuff before merge 2016-09-22 19:11:36 +10:00
Joel Beeren 773684bcd1 SELFOUR-421: retranslate haskell for fixed range check 2016-09-22 19:11:36 +10:00
Joel Beeren df877769fc SELFOUR-421: refine done 2016-09-22 19:11:36 +10:00
Joel Beeren 0d787cf1c6 SELFOUR-421: added check to decoding asid control invocations and stole an asid bit from the high bits not the low ones 2016-09-22 19:11:36 +10:00
Joel Beeren 3c223b42fe SELFOUR-421: AInvs done, no added invariants yet 2016-09-22 19:11:29 +10:00
Joel Beeren 5e16ec5617 SELFOUR-421: first attempt at abstract spec 2016-09-22 19:11:16 +10:00
Gerwin Klein 67269edb13 docs: update installation instructions
The bitfield generator in seL4/ now also depends on the `six` package.
2016-09-18 16:36:03 +10:00
Michael Norrish 6b5d1b5e5d Allow empty top-level declarations, consisting of bare semi 2016-09-09 14:14:32 +10:00
Alejandro Gomez-Londono 6ed990f1da VER-520: Change (>>) for (>>_)
This is a know issue that was naively solved using `infixl ">>_"`
which effectively does nothing since "_" has an special meaning.
`infixl ">>'_"` was introduced to fix the issue. has a special meaning

  tags: [VER-520]
2016-09-05 16:56:13 +10:00
Matthew Brecknell 28c0c2ed1e merge master into c-parser multi_arch_refactor 2016-09-02 23:40:44 +10:00
Matthew Brecknell 034232a704 trivial: remove debug tracing code 2016-09-02 23:38:40 +10:00
Matthew Brecknell 945ee811c3 CParser multi_arch_refactor: build standalone parser in dir named after arch
Architecture names follow L4V_ARCH-style naming conventions ('ARM', 'FAKE64').
However, the standalone parser does not make use of the L4V_ARCH environment
variable.

The standalone-parser Makefile builds all architectures at once, producing
binaries at 'ARM/c-parser', 'FAKE64/c-parser', and similarly for the tokenizer.

There are also wrapper scripts 'c-parser' and 'tokenizer' in the
standalone-parser directory, which take an architecture on the command line.

The make_munge.sh script calls the appropriate binary parser directly.
2016-09-02 23:38:40 +10:00
Thomas Sewell 2515f8c2e0 Allow use of previous enum values in enums.
This is apparently valid C:
enum {
  One,
  Two = One + 1,
};

It's easy to support this by using the partially modified enum
environment in evaluation of the following right hand sides.
2016-09-02 13:58:57 +10:00
Matthew Brecknell 886fe0ef12 CParser multi_arch_refactor: fix tokenizer build 2016-09-01 12:35:33 +10:00
Matthew Brecknell 5f501b09a9 CParser multi_arch_refactor: add license headers to new files 2016-08-31 16:25:46 +10:00
Matthew Brecknell 86e8cd4a33 CParser multi_arch_refactor: fix broken factorial test
Another case requiring simplification with ucast_id.
2016-08-31 16:24:28 +10:00
Alejandro Gomez-Londono 0c29567bb2 Regression: re-applying [094fb48623] to fix run_tests.py
The changes on [094fb48623] where (for some weird reason) removed from
run_tests.py in the last update, this commit merely re-apply those
changes.
2016-08-29 17:08:34 +10:00
Thomas Sewell 8b2818299a Read extra_tests as relative to dir it is in. 2016-08-26 16:59:27 +10:00
Thomas Sewell 37efb6326a Have run_tests see an extra_tests special file.
The run_tests.py script already searches the directory for all
test.xml files. It will now also note any files named extra_tests,
and also search any directories which appear as lines of those
files.

(Following symlinks would been more obvious but create other issues.)
2016-08-26 16:59:27 +10:00
Thomas Sewell 1449102cc7 Merge pull request #101 in SEL4/l4v from ~TSEWELL/l4v:crunch-refac to master
* commit '9a1ec71a2d53656f4c7eb9c3abb69c323bb38fb3':
  Refactor of crunch.
2016-08-25 07:09:56 +00:00
Thomas Sewell 4c23410f6c Haskell translator: can keep type constructors.
A skeleton line of the form
\#INCLUDE_SETTINGS keep_constructor=asidpool
now ensures that the asidpool type constructor is actually created in
subsequent #INCLUDE_HASKELL declarations. It turns out this feature was already
available, and already used for asidpools, this change just makes it externally
adjustable.
2016-08-25 15:33:19 +10:00
Thomas Sewell 9a1ec71a2d Refactor of crunch.
Substantial adjustments to crunch. Main user changes are:
  - 'lift' and 'unfold' mechanisms replaced by more general 'rule'.
  - some more 'ignores' standardised.
  - crunch has a more principled overall design:
    + discover crunch rule
      * provided or by definition extraction
    + recurse according to rule
    + prove goal based on rule, recursive discoveries, standard tactic
      * wp/simp adjustments tweak tactic
2016-08-24 15:53:53 +10:00
Alejandro Gomez-Londono ef99749ee1 Regression: Added RUN_TESTS_DEFAULT for overwriting the default test set
It is sometimes desirable to overwrite the default set of tests that are
being run in a per execution basis (ex: to allow wrapper scripts to have
a custom default) RUN_TESTS_DEFAULT is an space separated list of tests
that will be run if no specific tests are given.

  tags: [NO_PROOF]
2016-08-24 13:23:33 +10:00
Alejandro Gomez-Londono e110f421d1 Munge test: updates test_munge.sh to support sorted output from c-parser
tags: [VER-624][NO_PROOF]
2016-08-17 13:59:28 +10:00
Michael Norrish 4062decf79 Merge branch 'sort-munge-output' into multi_arch_refactor 2016-08-17 10:42:38 +10:00
Michael Norrish af1c77243b c-parser: fix list sorting to use Isabelle code
This makes the licensing situation clearer than with the code coming
from Moscow ML (which might conceivably be GPL).
2016-08-17 10:38:21 +10:00
Michael Norrish 936caa2e4f c-parser: multi_arch_refactor: merge with master
factorial regression test does not succeed.
2016-08-15 11:30:24 +10:00
Michael Norrish 7da160d23b Create standalone parser per architecture
Also include a wrapper that calls any of them in a completely
straightforward way.
2016-08-13 17:24:49 +10:00
Michael Norrish e321cae1b3 c-parser: sort munge output 2016-08-12 09:41:16 +10:00
Matthew Brecknell c17fffd526 arch_split invariants: TcbAcc_AI
Somehow we missed this on our previous pass.
2016-08-10 18:50:56 +10:00
Alejandro Gomez-Londono fb9122f2ed Munge Test: Adding sorted munge output
tags: [VER-624][NO_PROOF]
2016-08-10 15:30:00 +10:00
Thomas Sewell 7236874353 Support some more signed word cases in asmrefine. 2016-08-09 13:31:29 +10:00