summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2017-09-27oopsShaked Flur
2017-09-26fixesChristopher Pulte
2017-09-26RISC-V: check alignment of atomic memory accesses (and escape when misaligned)Shaked Flur
2017-09-25x86: always perform write for cmpxchg by writing back original value if ↵Robert Norton
comparison fails. This is specified in manual and also helps RMEM with locked writes.
2017-09-22x86: implement get_ea_address function.Robert Norton
2017-09-22x86: remove unnecessary? read modify write of registers.Robert Norton
2017-09-22fix typo where Sz16 write to register was only writing 8 bits.Robert Norton
2017-09-21wibShaked Flur
2017-09-21added a comment to the x86 lock'd read and writeShaked Flur
2017-09-20add support for x86 lock prefix (also remove unused Read/Write_tag kind in ↵Robert Norton
etc/regfp.sail.
2017-09-19fixChristopher Pulte
2017-09-19According to Shaked NIAFP_register can be used to indicate that we don't ↵Robert Norton
know the possible destination of an instruction for memory indirect jumps (the register name is not used).
2017-09-18add regfp for x86 control flow instrucitons. Need more support for memory ↵Robert Norton
indirect jumps.
2017-09-15x86: implement regfp analysis function (no control flow yet)Robert Norton
2017-09-15reinstate deep/shallow conversionChristopher Pulte
2017-09-13add HLT instruction for RMEM integration.Robert Norton
2017-09-11added xml ppShaked Flur
2017-09-07add MFENCERobert Norton
2017-09-06power is builtin in old tc so use it.Robert Norton
2017-09-03added RISC-V strong-acquire/releaseShaked Flur
2017-09-02fix for parsing diy generated testsShaked Flur
2017-09-02check the status of SC before doing the memory writeShaked Flur
2017-08-31add EnumerationType type class: if a type is a member you get Ord membership ↵Christopher Pulte
and Set membership for free
2017-08-31added RISC-V AMOsShaked Flur
2017-08-30typeclass instance Ord(opcode)Christopher Pulte
2017-08-24typoShaked Flur
2017-08-24typoShaked Flur
2017-08-24added barrier-kind for x86 MFENCE;Shaked Flur
fixed some compare functions;