summaryrefslogtreecommitdiff
path: root/mips
AgeCommit message (Collapse)Author
2017-07-26mips_extras.lem: fix references to Interp.V_fooJon French
2017-06-02Add tag memory to Lem shallow embeddingThomas Bauereiss
2017-05-24fixed missing _tag bitsShaked Flur
2017-05-24Change types of MEMr_tag, MEMval_tag and co. so that tag is separate from ↵Robert Norton
data and invent rmemt and wmvt effects for them. Extend the interpreter context to include lists of tagged memory read and write functions. The memory model must round down the address to the nearest capability aligned address when reading/writing tags. Remove TAGw which is no longer needed as a result.
2017-05-10Add stubs for TAGwThomas Bauereiss
Tagged memory seems to be currently missing in the Lem shallow embedding of (CHERI-)MIPS.
2017-04-27also trace memory writes.Robert Norton
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-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-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-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-21remove unnecessary cast in incrementCP0Count (run every instruction) for ↵Robert Norton
potential speedup.
2017-04-20add support for cheri128 ocaml shallow embeddingRobert Norton
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-18add workaround for sail shallow embedding problem concerning semantisc of ↵Robert Norton
register reads.
2017-04-18remove debug print.Robert Norton
2017-04-07read from uninitialsed memory returns undef (required to pass ↵Robert Norton
test_raw_cache_write_to_use test
2017-04-06add support for address translation and exit handling in mips ocaml shallow ↵Robert Norton
embedding test setup.
2017-04-06Model now assumes memory is little endian so adjust extras file accordingly.Robert Norton
2017-04-06Print registers in test suite compatible way.Robert Norton
2017-04-03Rename TranslateAddress to TranslatePC and remove the accessType argument -- ↵Robert Norton
it is only ever used for translating the PC.
2017-03-29change reqiured to work with little endian interpreter.Robert Norton
2017-03-24Checkpoint work-in-progress mips sequential interpreter using ocaml shallow ↵Robert Norton
embedding.
2017-03-24changes to allow generating ocaml that compiles.Robert Norton
2017-03-23the interpreter/shallow expects little-endian memory-valuesShaked Flur
2017-02-03Now that 128-bit capabilities are supported we must be stricter about MIPS ↵Robert Norton
alignment
2017-02-03fix headersPeter Sewell
2017-01-24first pass at cheri128 sail.Robert Norton
2016-12-09sail changes for making lem embedding Isabelle-friendlierChristopher Pulte
2016-12-08add target for building cheri_notlb.lemRobert Norton
2016-11-30shallow embedding fix, rename 'copy' to 'reset_vector_start', don't print ↵Christopher Pulte
shallow/deep ast conversion type class instances anymore, add herdtools ast / shallow ast conversion functions, add mips ImplementationDefinedStopFetching instruction
2016-11-30add new barrier kind for MIPS (only one for now).Robert Norton
2016-11-28make sail produce prompt and state version of shallow embedding files at the ↵Christopher Pulte
same time with the types both have in common factored out into separate file, rename one mips shallow embedding _extras file as required by this
2016-11-24attempt to preserve signs of immediate where appropriate when translating to ↵Robert Norton
sail->ppcmem (no need to worry about reverse direction).
2016-11-23be consistent about using lower case when parsing/pretty printing MIPS assembly.Robert Norton
2016-11-23add support for symbolic registers in litmus tests.Robert Norton
2016-11-22add mips_extras_sequential_embed.lemChristopher Pulte
2016-11-11mips_regfp: add missing output register for store conditional.Robert Norton
2016-11-09add CP0LLBit and CP0LLAddr to mips register footprintRobert Norton
2016-11-08add mips_extras_embedChristopher Pulte
2016-11-08add mips thread start instruction.Robert Norton