summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-08-15fix incorrect mnemonic for luiRobert Norton
2017-08-15riscv: fix word/half backwards in load.Robert Norton
2017-08-15riscv: limit stores to only relevant bytes.Robert Norton
2017-08-14add risc-v fence instruction as re-using MIPS sync for now. Also place ↵Robert Norton
holders for FENCE.I and ECALL.
2017-08-12Resolve ambiguity between negation of integers and boolsThomas Bauereiss
2017-08-12Fix compilation issue for 32-bit systemsThomas Bauereiss
2017-08-11further riscv rmem integration.Robert Norton
2017-08-08work on integrating risc-v model with rmem (incomplete).Robert Norton
2017-08-08work around missing >=_u in sail.Robert Norton
2017-08-02fix sail library test interpreter glue for API change. Also fix ↵Robert Norton
build_context val spec which was out of dated although lem did not complain for some reason...
2017-08-02add .merlin fileJon French
2017-08-02fix run_with_elf*.ml with changed lem_interp apiJon French
2017-07-27implement RV64I based on version 2.0 user spec.Robert Norton
2017-07-26mips_extras.lem: fix references to Interp.V_fooJon French
2017-07-26Merged in ojno/sail (pull request #1)Jonathan French
Footprint exhaustive evaluation fixes Approved-by: Jonathan French <me@jonathanfrench.net>
2017-07-24interpreter: optionally print debugging tracesJon French
2017-07-24vector parts of interpreter now evaluate all arguments of expression before ↵Jon French
exiting due to one of them being unknown; fixes incorrect exhaustive analysis for footprints
2017-07-24move value type definitions to ott, and introduce new E_internal_value ast ↵Jon French
node for passing around encapsulated evaluated values; change Interp.to_exp to now just wrap values in this node
2017-07-21remove -merge true from ott makefile -- lem at least doesn't build with itJon French
2017-07-21l2.ott: port across additions to base_effect from rmemJon French
2017-07-21l2.ott: factor ocaml 'l' type reference into ott definition of 'l'Jon French
2017-07-21l2.ott, l2_parse.ott: remove unnecessary 'type text = string'Jon French
2017-07-20add new CNEXEQ instruction.Robert Norton
2017-07-19split library tests into separate files to avoid risk of sail compiler stack ↵Robert Norton
overflow.
2017-07-19borrow some of aa's bash code to convert library test suite output to junit ↵Robert Norton
xml for jenkins.
2017-07-06Tests for (almost) all sail builtins. Many interesting things discovered. ↵Robert Norton
Library in need of rationalisation.
2017-07-06fix off by one in type of add_vec builtin function. There are many more ↵Robert Norton
dubious types but will wait for library rationalisation to fix.
2017-07-06fix interpreter version of get_min/max_representable which similarly broken ↵Robert Norton
to ocaml version. TODO: also fix copies in sail_values.lem and sail_values_word.lem.
2017-07-06fix interpreter lteq/gteq for range/vec.Robert Norton
2017-07-06fix interpreter version of != which was broken for vector/range comparisons.Robert Norton
2017-07-06substitute all uses of mod_big_int and div_big_int for Z.rem and Z.div which ↵Robert Norton
have correct rounding behaviour. Missed these when changing quot and mod functions.
2017-07-06implement abs function correctly for ocaml shallow embedding.Robert Norton
2017-07-06fix dodgy get_min/max_representable functions. Looks like an attempt at ↵Robert Norton
optimisation went wrong.
2017-07-04further testing of sail library.Robert Norton
2017-07-04change to cgettype -- returns -1 if not sealed instead of 0.Robert Norton
2017-07-03Update to copytype and ccseal -- now use belt and braces approach when ↵Robert Norton
handling unsealed capabilities by clearing tag and setting cursor to -1. Also CCSeal got an encoding.
2017-06-30add more tests for sail library. Can't compile entire file due to sail ↵Robert Norton
performance bug or infinite loop. Add some missing shallow embedding funcitons.
2017-06-29beginnings of a sail library test suite.Robert Norton
2017-06-22fix three different copies of the hardware_quot function to do proper ↵Robert Norton
trucation towards zero. Previous version was incorrect if result was exact and a<0 and b>0.
2017-06-22add a 'print' built-in function handy for writing sail tests.Robert Norton
2017-06-22fix a typo spotted in CPtrCmp instruction -- CLEU was using signed ↵Robert Norton
comparison instead of unsigned.
2017-06-22revised ccopytype with check for offset being in bounds and clearing tag ↵Robert Norton
instead of using magic value if unsealed. Also corresponding CCSeal instruction which degrades to a cmove if ct.tag is unset.
2017-06-16prefer arithmetic on integers followed by cast to bit[64] in CCopyType.Robert Norton
2017-06-16remove unnecessary local variable definitions copy and pasted from cbuildcap.Robert Norton
2017-06-16fix previous commit so that it builds.Robert Norton
2017-06-16implement new CBuildCap and CCopyType instrucitons for ISAv6.Robert Norton
2017-06-14Add a work-in-progress version of sail_values.lemBrian Campbell
that uses the new Lem machine words library.
2017-06-13Add Makefile and ROOT for Isabelle libraryThomas Bauereiss
2017-06-05Attempt to make Lem-prettyprinting of function clauses more robustThomas Bauereiss
Instead of abusing patterns as expressions, bind patterns to names (if they are more complex than an identifier or literal and don't have a name already) and generate expressions referring to those names (which we then pass as arguments to the auxiliary functions).
2017-06-05Fix pretty-printing of function clauses with wildcards for LemThomas Bauereiss
Before, wildcards sometimes ended up in the arguments to the function call on the RHS, in particular when using vector patterns (which implicitly introduce wildcards for the order and index parameters).