summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-05-08add make rules to (attempt to) build arm and power ml.Robert Norton
2017-05-08add target for building ocaml shallow embed for arm.Robert Norton
2017-05-08add some missing things in sail_values and make big_int version the default ↵Robert Norton
for set_vector_subrange_bit.
2017-05-08add error messages for unhandled pattern match nodes in ocaml pretty printer.Robert Norton
2017-05-08put failwith in brackets to avoid parse error.Robert Norton
2017-05-02docPeter Sewell
2017-04-27avoid out of bounds indicies in cheri128 decompression functions.Robert Norton
2017-04-27also trace memory writes.Robert Norton
2017-04-27remove undefined value from cheri 128 spec. The ocaml shallow embedding ↵Robert Norton
cannot handle undef structs and the value should not be used (could be option type but wanted a similar interface to incCapOffset and setCapOffset).
2017-04-27fix incorrect vector index in cheri128 spec. Should ideally have been caught ↵Robert Norton
by type checker...
2017-04-27fix cheri128 model referring to wrong registers and not capreg printing.Robert Norton
2017-04-27need brackets around try ... with expression.Robert Norton
2017-04-27add command line argument for setting undef values to all zero or all one. ↵Robert Norton
Some tests intentionally produce undefined values (e.g. divide by zero) and this might be required for them to work.
2017-04-27reverse endianness of data when writing UART. Altera jtag uart is ↵Robert Norton
little-endian and this change allows it to work when writing using store word (as done by FreeBSD driver) or sb (as done by cheri helloworld program).
2017-04-25extend the try around call to select to avoid gprof crashing with EINTR.Robert Norton
2017-04-25optimise to_vec_int because it is used by MEMr to convert each byte to vector.Robert Norton
2017-04-25replace memory representation with map of 1MB pages rather than map of ↵Robert Norton
bytes. This makes loading binaries much quicker but doesn't seem to make a big difference to execution speed.
2017-04-25Don't die if stdin gets closed (e.g. when running unit tests).Robert Norton
2017-04-25support loading more than one raw file as anonymous arguments so that we can ↵Robert Norton
load simboot + kernel.
2017-04-25remove unused function.Robert Norton
2017-04-25Add support for uart terminal. Also add read_bit_reg function for faster and ↵Robert Norton
neater access to registers of single bit.
2017-04-24added register_value_for_regShaked Flur
2017-04-21it turns out zarith has a function for printing big_ints in hex. Remove the ↵Robert Norton
dependency on ocaml uint library by using it.
2017-04-21define some big_int literals in sail_values.ml to avoid lots of calls to ↵Robert Norton
bit_int_of_int. Likely very little performance benefit but slightly more readable.
2017-04-21Revert change to check in type_check.ml.Alasdair Armstrong
2017-04-21Fixes stack overflow in sail caused by list append in type_internal.ml.Alasdair Armstrong
Also makes the check function in type_check tail recursive.
2017-04-21remove unnecessary cast in incrementCP0Count (run every instruction) for ↵Robert Norton
potential speedup.
2017-04-21implement to_vec_big using zarith extract for some speedup.Robert Norton
2017-04-21suppress register field tracing if not enabled (missed in previous commit)Robert Norton
2017-04-21add make variable for setting ocaml compilation options (e.g. set to -p to ↵Robert Norton
enable gprof profiling)
2017-04-20more library optimisation. Implement int_of_bit_array using shift, avoiding ↵Robert Norton
need to use power.
2017-04-20implement vector subrange using Array.sub for approx 10% speedup.Robert Norton
2017-04-20remove unnecessary lemlib include in compile.Robert Norton
2017-04-20work around ocaml shallow embedding problem with matching on big_ints by ↵Robert Norton
restructuing switch as if
2017-04-20add support for cheri128 ocaml shallow embeddingRobert Norton
2017-04-20add brackets around integer literals so that ocaml parses them correctly and ↵Robert Norton
doesn't mistake the - for minus operator
2017-04-20build a single run_embed.native with mips and cheri models linked and choose ↵Robert Norton
between them using a command line switch.
2017-04-20remove unsed code for elf file loading in run_embed.Robert Norton
2017-04-20return zero for uninitialised memory in ocaml shallow embedding model. ↵Robert Norton
Necessary to pass test_cp2_tagmem test. TODO make this configurable.
2017-04-20add support for tagged memory functions in mips_extras_mlRobert Norton
2017-04-20XXX remove pattern match not handled correctly by ocaml embedding.Robert Norton
2017-04-20attempt to optimise performance if not tracing writes.Robert Norton
2017-04-20add missing min and max functions, overriding built-in ocaml ones. Also ↵Robert Norton
neq_range.
2017-04-20add missing KD_nabbrev support in ocaml shallow embedding.Robert Norton
2017-04-20support assert in ocaml shallow embedding.Robert Norton
2017-04-20use mangled field name when accessing record field.Robert Norton
2017-04-20add name to register representation and print it on write.Robert Norton
2017-04-18change to spec. of CLC instruction -- clear tag instead of exception if ↵Robert Norton
permit_load_cap not set.
2017-04-18add workaround for sail shallow embedding problem concerning semantisc of ↵Robert Norton
register reads.
2017-04-18make ocaml embedding of foreach use (now universal) big_ints.Robert Norton