| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2018-06-27 | RTS: Add support for __ListConfig | Alastair Reid | |
| 2018-06-27 | RTS: Delete __SetConfig stub function | Alastair Reid | |
| This is now directly supported from SAIL so we can call the SAIL __SetConfig function instead. | |||
| 2018-06-26 | turn on warnings when compiling mips c then dial back ones that are ↵ | Robert Norton | |
| triggered by generated code (probably false positives). Fix some warnings in rts.c | |||
| 2018-06-26 | RTS: implement sleep primitives | Alastair Reid | |
| Note that an alternative implementation choice is just to implement them as SAIL functions manipulating a global variable. Not sure which is better. | |||
| 2018-06-26 | RTS: stub support for -C command line option | Alastair Reid | |
| 2018-06-26 | ELF: Restore error messages in ELF reader | Alastair Reid | |
| 2018-06-25 | Coq: add typeclass based comparison, and instantiate for enums | Brian Campbell | |
| 2018-06-25 | Coq: automatic cast introduction | Brian Campbell | |
| 2018-06-25 | Use getopt rather than argp for Mac compatibility in C runtime | Alasdair Armstrong | |
| Also further tweaks to Sail library for C and include sail lib files for tracing | |||
| 2018-06-25 | flush stdout after putchar for terminal emulation purposes. | Robert Norton | |
| 2018-06-22 | Precise bitvector subrange functions for Coq. | Brian Campbell | |
| Also fix the constraints in the standard prelude files, add a couple of useful cast rewriting lemmas. | |||
| 2018-06-22 | Add coq builtins for MIPS | Brian Campbell | |
| 2018-06-22 | Coq: library updates, esp extending bitvector multiplies, Undefined | Brian Campbell | |
| 2018-06-22 | Coq: project away range types in comparisons | Brian Campbell | |
| 2018-06-21 | Add command line option support for Sail->C compiled models | Alasdair Armstrong | |
| For example, the MIPS model can boot FreeBSD as ./mips_c --binary=0x100000,/path/to/kernel --image=/path/to/simboot.sailbin Or with short options as ./mips_c -b 0x100000,/path/to/kernel -i /path/to/simboot.sailbin The current options are: -e, --elf, which loads an elf file directly -n, --entry, which sets the entry point -i, --image, which loads an image file compiled by "sail -elf" using Linksem -b, --binary, which loads a plain binary image into memory at a specific address -l, --cyclelimit, which means the (new) cycle_count() builtin exits the model after a certain number of calls Also there are the default -? --help and --usage options. | |||
| 2018-06-21 | Follow Sail2 renaming in Isabelle library | Thomas Bauereiss | |
| 2018-06-21 | Merge branch 'sail2' of github.com:rems-project/sail into sail2 | Alasdair Armstrong | |
| 2018-06-21 | add PMP registers to CSR, fix build | Jon French | |
| 2018-06-21 | Merge branch 'tracing' into sail2 | Alasdair Armstrong | |
| 2018-06-21 | Fix MIPS wrt changes to C runtime | Alasdair Armstrong | |
| This plus changes to bitfield internals is enough to run some MIPS tests at 1Mhz. | |||
| 2018-06-21 | Simplify the ANF->IR translation | Alasdair Armstrong | |
| Previously the ANF->IR translation cared too much about how things were allocated in C, so it had to constantly check whether things needed to be allocated on the stack or heap, and generate different cequences of IR instructions depending on either. This change removes the ialloc IR instruction, and changes iinit and idecl so that the code generator now generates different C for the same IR instructions based on the variable types involved. The next change in this vein would be to merge icopy and iconvert at the IR level so that conversions between uint64_t and large-bitvectors are inserted by the code generator. This would be good because it would make the ANF->IR translation more robust to changes in the types of variables caused by flow-typing, and optimization passes could convert large bitvectors to uint64_t as local changes. | |||
| 2018-06-20 | Coq: reverse_endianness | Brian Campbell | |
| 2018-06-20 | Coq: Tidy up libraries, export String | Brian Campbell | |
| 2018-06-20 | Coq: port handling of effectful and/or from Lem backend | Brian Campbell | |
| 2018-06-20 | Coq: a few more ops | Brian Campbell | |
| 2018-06-19 | Coq: library name update (as we did for Lem) | Brian Campbell | |
| 2018-06-19 | Add elf parsing from Alastair | Alasdair Armstrong | |
| 2018-06-19 | Improvements to Sail C for booting Linux | Alasdair Armstrong | |
| 2018-06-18 | Separate bitvector access/update from generic vector access in std prelude | Brian Campbell | |
| (necessary for backends where they're different) Coq uint/sint and related fixes | |||
| 2018-06-18 | Coq: fix up some comparison operations in prelude | Brian Campbell | |
| 2018-06-18 | Coq: update prompt monad wrt Lem | Brian Campbell | |
| 2018-06-15 | Fixes for C RTS for aarch64 no it's split into multiple files | Alasdair Armstrong | |
| Fix a bug involving indentifers on the left hand side of assignment statements not being shadowed correctly within foreach loops. Make the different between different types of integer division explicit in at least the C compilation for now. fdiv_int is division rounding towards -infinity (floor). while tdiv_int is truncating towards zero. Same for fmod_int and tmod_int. | |||
| 2018-06-14 | Refactor C backend, and split RTS into multiple files | Alasdair | |
| 2018-06-13 | Tracing instrumentation for C backend | Alasdair Armstrong | |
| 2018-06-13 | Coq: library updates, informative type errors, fix type aliases | Brian Campbell | |
| (The last bit is to declare type aliases as Type so that Coq uses the type scope for notation, so * is prod, not multiplication). | |||
| 2018-06-12 | Coq: support for range type, along with related existential improvements | Brian Campbell | |
| Plus - Complete solver support for inequalities - Reduce exponentials in solver | |||
| 2018-06-12 | Coq: add more to library | Brian Campbell | |
| 2018-06-11 | More efficient bitfield implementation | Alasdair Armstrong | |
| 2018-06-11 | actually fix exist_pattern test | Jon French | |
| 2018-06-11 | Merge branch 'sail2' into mappings | Jon French | |
| 2018-06-11 | Add string.sail file to lib | Alasdair Armstrong | |
| 2018-06-11 | Merge branch 'sail2' into mappings | Jon French | |
| (involved some manual tinkering with gitignore, type_check, riscv) | |||
| 2018-06-08 | Coq: add destructuring of atom existentials in patterns | Brian Campbell | |
| Plus test case, broken builtin name | |||
| 2018-06-08 | Coq: existential and constraint solving work | Brian Campbell | |
| - add existential unpacking for function arguments - add mechanism for using properties for existentially typed top-level values (useful for the typechecking tests) - support for length_list and In in Coq constraint solving | |||
| 2018-06-08 | Coq: some very basic existential support | Brian Campbell | |
| Only single variable in places, only packed at literals and variables, no unpacking | |||
| 2018-06-08 | Fill in most Coq built-ins | Brian Campbell | |
| 2018-06-08 | Add missing Coq builtin info to vector_inc | Brian Campbell | |
| 2018-06-07 | Fix bug in add_bits optimization | Alasdair Armstrong | |
| 2018-06-07 | Rename some functions in vector_dec library file to avoid clashes with ↵ | Robert Norton | |
| functions in mips spec in prepartion for using this file in mips prelude. Also modify tests that use this header. We should consider prefixing library builtins to avoid name clashes. overload can then be used to provide aliases if desired. | |||
| 2018-06-07 | Fixes and additions to c builtins needed to pass mips test suite. bv_ts ↵ | Robert Norton | |
| should be kept in normal form i.e. a positive mpz_t with no bits higher than len set. | |||
