summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-02-08replaced NIA_LR/CTR/register with NIA_indirect;Shaked Flur
removed IK_cond_branch, and added IK_branch
2018-01-31minor renameShaked Flur
2018-01-31changed directory structure after migration to githubShaked Flur
2018-01-18immediate for CIncOffsetImmediate must be treated as signed (fixes ↵Robert Norton
test_cp2_rep_underflow).
2018-01-10wibShaked Flur
2018-01-09the 'imm' of adr/adrp is signedShaked Flur
2017-12-30use linksem as a packageShaked Flur
2017-12-28use ocamlfind to locate lem and zarith (missed this Makefile)Shaked Flur
2017-12-28use ocamlfind to locate lem and zarithShaked Flur
2017-12-16compatibility with OCaml 4.06.0;Shaked Flur
imported new version of PPrint (20171003)
2017-12-13find zarith using ocamlfind instead of using the one in ocaml-lib which is ↵Shaked Flur
no longer there
2017-12-12moved the Power patch (shallow embedding) to ppcmem2Shaked Flur
2017-12-05add EdPeter Sewell
2017-12-05Update header files on masterAlasdair Armstrong
2017-12-04added the Power modelShaked Flur
2017-12-04match what rmem expects from sail/armShaked Flur
2017-12-04renamed hgen to genShaked Flur
2017-11-30match what rmem (ppcmem2) expects from ISA MakefilesShaked Flur
2017-11-23renamingShaked Flur
2017-11-23added RISCV_ prefix to some values to stop Lem from renaming themShaked Flur
2017-11-07RISC-V parser checksShaked Flur
2017-11-02remove a lot of dead code form run_with_elf_cheri*Robert Norton
2017-11-02reset inCCallDelay in code that is not dead.Robert Norton
2017-11-01workaound for another odd interpreter error where top level let variable got ↵Robert Norton
truncated to 64 bits...
2017-11-01added RISC-V "fence r,r"Shaked Flur
2017-10-31work around interpreter crash by adding cast. Likely this kind of thing will ↵Robert Norton
be resolved by merge of new_tc branch.
2017-10-31cheri: throw an exception if there is an attempt to access C26/IDC in the ↵Robert Norton
delay slot of a ccall selector 1 call.
2017-10-31cheri: ccall selector 1 should have a branch delay slot. TODO we need to ↵Robert Norton
throw exception for access to IDC/C26 in branch delay slot.
2017-10-26fixed release acquire semantics of AMOsShaked Flur
2017-10-24fix default cap value on cheri128 following previous changes -- E stored in ↵Robert Norton
registers is no longer xored with 48 so need to initialise it. Also use E and T values used by CHERI hw and adjust decoding functions appropriately. Fix shift functions for ocaml shallow embedding which failed to handle shifts greater than vector length.
2017-10-23cheri: Null capability should have maximum length, because in cheri128 we ↵Robert Norton
want all offsets to be representable. To maintain all-zeros as the in-memory representation of the null capability we xor memory bits with null capability when loading and storing.
2017-10-16add CTestSubset instruction.Robert Norton
2017-10-16add missing new encodings for CJR and CJALR.Robert Norton
2017-10-16implement CMove as an alias for cmovz with zero register.Robert Norton
2017-10-16add support for CIncOffsetImmediate and CSetBoundsImmediate.Robert Norton
2017-10-16add support for capability branch null instructions.Robert Norton
2017-10-13Add support for new cheri instruction encodings. The order of pattern ↵Robert Norton
matching is now significant because register no. fields are re-used as additional function codes in operations with fewer operands so I pulled out all decode clauses to the beginning of file for easier rearranging. Old encodings can co-exist with new encodings as the only overlap is for recently added instructions which already use the new scheme. Eventually the old encodings will go away, however, and the opcode space may be reclaimed."
2017-10-12Work around warning in ocaml shallow embedding of mips caused by buggy code ↵Robert Norton
generation for dubious casting enumeration to int.
2017-10-09add translations for missing read/write kinds.Robert Norton
2017-10-09add translation of IK_mem_rmw interp_inter_imp. TODO: could we get rid of ↵Robert Norton
this and use shallow embedding conversion?
2017-10-09X86: Fix bug in register footprint caused by imperative variable update with ↵Robert Norton
wrong variable name (iK vs. ik). Spotted via compare_analyses.
2017-10-06move nias_of_instruction into RMEM so that it can use shallow embedding ast ↵Robert Norton
and not obsolete interp_interface one.
2017-10-02cheri: fix swapped cmovz and cmovn.Robert Norton
2017-10-01fixed JALR: do the register write first to allow po-later readsShaked Flur
2017-09-29fix those build errorsChristopher Pulte
2017-09-29Merge branch 'master' of https://bitbucket.org/Peter_Sewell/sailChristopher Pulte
2017-09-29fix deep_shallow_convert, stop using interp_interface.instruction for most ↵Christopher Pulte
things, SF and CP bugfixing
2017-09-29x86: add bit set, reset, complement operations.Robert Norton
2017-09-27fixed the RISC-V MakefileShaked Flur
2017-09-27split RISC-V to two Sail files to make it more readableShaked Flur