| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-11-21 | Implement -cycle-limit option for OCaml emulator similar to one for C. | Robert Norton | |
| 2019-11-20 | Coq: port a couple of definitions from Isabelle for address translation spec | Brian Campbell | |
| 2019-11-14 | Update location of sail2_instr_kinds.lem | Robert Norton | |
| 2019-11-14 | Perform isabelle check only when heap-img rule is used to avoid calling opam ↵ | Robert Norton | |
| (which might not be present). | |||
| 2019-11-13 | Coq: more proof support | Brian Campbell | |
| - add state versions of foreach combinators - support dependent sumbool pattern matching (i.e., those where the property is actually used) - add rewriting congruence rules, state monad lifting rules, and invariant proof rules for these | |||
| 2019-11-04 | Coq: compatiblity with 8.10 as well as 8.9 | Brian Campbell | |
| 2019-10-25 | Coq: make sure solver can't accidentally use recursive definitions | Brian Campbell | |
| 2019-10-24 | Coq: use `abstract` to separate out proofs from definitions | Brian Campbell | |
| - requires fixpoint definitions containing proofs to be processed in proof mode (due to a bug in Coq), so change libraries and pretty printing to do that - adjust some lemmas to avoid extra evars | |||
| 2019-10-18 | Coq: tweak a state monad lifting rule to improve performance | Brian Campbell | |
| 2019-10-17 | Allow generating C that doesn't hard code any libraries | Alasdair Armstrong | |
| 2019-10-16 | Now builds arm address translation with clang -target aarch64-none-eabi | Alasdair Armstrong | |
| Some builtins need properly implementing still Use modified spinlock implementation from hafnium with stdatomic, rather than assembly | |||
| 2019-10-16 | Make nostd Sail arena allocator thread safe (maybe) | Alasdair | |
| 2019-10-15 | More work on bare-metal Sail | Alasdair Armstrong | |
| 2019-10-14 | Add -Ofixed_int and -Ofixed_bits to assume fixed-precision ints and ↵ | Alasdair Armstrong | |
| bitvectors in C Assumes a Sail C library that has functions with the right types to support this. Currently lib/int128 supports the -Ofixed_int option, which was previously -Oint128. Add a version of Sail C library that can be built with -nostdlib and -ffreestanding, assuming the above options. Currently just a header file without any implementation, but with the right types | |||
| 2019-10-02 | Coq: generate decidable equality instances for variant types | Brian Campbell | |
| It only produces them when necessary (because some types do not have decidable equality due to embedded proofs). Also add trivial instance for the unit type. | |||
| 2019-10-02 | Coq: limited support for existentially-typed tuples | Brian Campbell | |
| - in particular at monadic interfaces (i.e., sufficient for instruction ast types) - see commented out part of test/coq/pass/ast_with_dep_tuple.sail for an example that's not currently supported - generate definitions for type-level Bool definitions (i.e., predicates) | |||
| 2019-09-19 | Change Coq Hoare logic rules to produce nicer preconditions | Brian Campbell | |
| In particular, shift state lambdas outside of if/match/let which avoids unnecessary abstraction/applications. Add more rules to the tactic. | |||
| 2019-09-19 | Expand Coq Hoare logic and congruence rules to more operators | Brian Campbell | |
| Also tweak the informative and/or boolean definitions so that they use the same proofs in both monads. | |||
| 2019-09-02 | Coq: add properly checked subrange update, reduce imports | Brian Campbell | |
| 2019-08-29 | Turn the two abs_int declarations into overloads | Brian Campbell | |
| (otherwise Sail uses the type from one and the extern from the other) | |||
| 2019-08-22 | Coq: tactics to do rewrites under state monad, simple wp computation | Brian Campbell | |
| 2019-08-19 | Coq: add bools_of_bits_nondet and friends to library | Brian Campbell | |
| 2019-08-14 | Use bitvector type in mono rewrites | Thomas Bauereiss | |
| Also don't require a previously declared default vector indexing order in vector_dec.sail. | |||
| 2019-08-14 | Fix bug in mono rewrites | Thomas Bauereiss | |
| 2019-08-14 | Coq library work for proofs: | Brian Campbell | |
| * rename state fields to avoid clash with regstate type * use rewriting to automate some proofs | |||
| 2019-08-13 | Coq: definitions for cheri128 model | Brian Campbell | |
| Add count_leading_zeros, and correct a precedence error in min/max. | |||
| 2019-08-02 | Fix up some edge cases with the bitvector/polyvector split | Brian Campbell | |
| Mostly in the Coq backend, plus a few testcases that use bitvector builtins on poly-vectors (which works on some backends, but not Coq). Also handle some additional list inclusion proofs in Coq. | |||
| 2019-08-01 | Merge branch 'sail2' into separate_bv | Alasdair Armstrong | |
| 2019-07-31 | Coq: Update barrier definitions | Brian Campbell | |
| 2019-07-31 | Coq: tweak Hoare proofs a little | Brian Campbell | |
| 2019-07-31 | Coq: reasoning for until loops | Brian Campbell | |
| Loops measures are now abstracted over the variables so that they can be used in proofs. Add total Hoare logic rules for until. | |||
| 2019-07-31 | Merge branch 'sail2' into union_barrier | Alasdair Armstrong | |
| 2019-07-31 | Remove redundant ifdef and run SMT tests by default | Alasdair Armstrong | |
| 2019-07-31 | Change platform_barrier so it doesn't care about it's argument type | Alasdair Armstrong | |
| 2019-07-29 | Coq: add state monad version of while/until loops and lifting results | Brian Campbell | |
| 2019-07-25 | Update Coq barrier definition | Brian Campbell | |
| 2019-07-25 | Basic port of proof machinery to Coq | Brian Campbell | |
| 2019-07-18 | Need to separate out the 0.10 lem library from upcoming 0.11 | Alasdair Armstrong | |
| Unlike the prompt-monad change I don't see a way to do this easily purely on the model side Make sure a64_barrier_type and domain aren't visible for RISC-V isabelle build | |||
| 2019-07-18 | Add a feature flag for barrier type change | Alasdair Armstrong | |
| Fix SMT mem_builtin test case | |||
| 2019-07-18 | Update aarch64_small to build with new barriers | Alasdair Armstrong | |
| Make sure barrier changes don't affect other models for now | |||
| 2019-07-18 | Support DMB/DSB domains | Shaked Flur | |
| 2019-07-16 | Fix all remaining tests for this branch | Alasdair | |
| 2019-07-16 | Merge remote-tracking branch 'origin/sail2' into separate_bv | Alasdair Armstrong | |
| 2019-07-15 | Add a fast path to speed up platform_read_ram: use fast_read_ram if read is ↵ | Robert Norton | |
| 8 bytes or less to avoid cost of using GMP integers (including free/malloc). | |||
| 2019-07-04 | Add coq builtin for concat_str (copied from mips prelude). | Robert Norton | |
| 2019-06-27 | SMT: Add a reverse endianness function and fix some bugs | Alasdair Armstrong | |
| 2019-06-27 | Coq: less constrained version of slice for ARM model | Brian Campbell | |
| 2019-06-21 | Coq: even more robust handling of unknown goals | Brian Campbell | |
| 2019-06-21 | Coq: better handling of unknown constraints | Brian Campbell | |
| Move the tactic forward so that preprocessing can't try silly things, simpl to get rid of embedded proofs. | |||
| 2019-06-20 | Coq: avoid some unnecessary reduction in the constraint solver | Brian Campbell | |
