summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-08-10Fix sizeof code generation to look at parameter boundsKathy Gray
2016-08-09More fixes to resolving nat variables across casesKathy Gray
2016-08-08Fix bug in type checker that ignored some pattern's constraints; fix second ↵Kathy Gray
bug that didn't cope properly with flow sensitive analysis across more than two case branches.
2016-08-06Add duplicate_bits to libKathy Gray
Pull Peter's changes to interp_interface back into the primary repo
2016-08-05Fix list parsing and empty vector parsingKathy Gray
Add div to library functions
2016-08-01Remove raise_c2_exception_v function which is not needed after permissions ↵Robert Norton
merge and no longer appears in spec.
2016-08-01Complete transition to merged perms. We need to take care to keep around the ↵Robert Norton
unused reserved permissions for when copying data, and stragely for candperms too.
2016-07-28Banish exit from the mips/cheri sail except at end of SignalException ↵Robert Norton
function. There is a plan to replace this syntax with something more understandable. Should make no functional difference using sequential interpretor but will need to do some work on exception functions when integrating with ppcmem so that it know register writes are exceptional etc.
2016-07-28Complete another if statement with an empty else.Robert Norton
2016-07-28Use recently introduced 'not' function instead of ~ for boolean negation. ↵Robert Norton
More readable when extracted to manual.
2016-07-27Fix misspelt marker comment.Robert Norton
2016-07-27Add final 'else' to CCheckPerms because Peter pointed out that it is better ↵Robert Norton
this way.
2016-07-27CCall comment out of extracted psuedocode region.Robert Norton
2016-07-27Normalise whitespace in cheri_insts.sail for cleaner extraction of ↵Robert Norton
instructions into manual. Whitespace only.
2016-07-27Add a function 'not' to the library with type bit -> bitKathy Gray
2016-07-26Fix incomplete match warning in run_with*Robert Norton
2016-07-26Increase size of TLB to 64 entries. In theory this should improve FreeBSD ↵Robert Norton
boot time by reducing TLB misses but an apparent reduction in IPS counteracts this. Makes use of foreach and return to implement tlbSearch.
2016-07-26Add support for BERI specific behaviour which permits some unaligned ↵Robert Norton
accesses, for compatibility with clang.
2016-07-26And fix abbrev oversite in interpreterKathy Gray
2016-07-26Fix type abbreviation support oversightKathy Gray
2016-07-26Add minimal support for emulated Altera JTAG UART.Robert Norton
2016-07-26Add support for loading a raw binary file at given location in memory prior ↵Robert Norton
to sequential simulation. This is needed for booting FreeBSD where a minimal bootloader (simboot.elf) runs before jumping into the kernel loaded in memory.
2016-07-26Add Makefile and marker comments in cheri sail file for extracting ↵Robert Norton
individual instructions to go in CHERI documentation.
2016-07-25Fix incorrect register number for CP0Cause in mtc0. The only test which ↵Robert Norton
writes this register also needs software irq, which isn't implemented, so effectively this was untested although it happens quite early in kernel boot.
2016-07-25winKathy Gray
2016-07-25one more goKathy Gray
2016-07-25Actually fix stack for returnKathy Gray
2016-07-25Fix stack for returnKathy Gray
2016-07-25Support return in interpreter pretty printer (also fix typo for default case)Kathy Gray
2016-07-25auto coerce to bit vector from bitKathy Gray
pretty print lret effects into lem
2016-07-24Make sure that all type constructors with unit type have a type union with ↵Kathy Gray
just an id (hopefully fixes Christopher issue).
2016-07-23Add effect annotation for return, and actually keep a return after type check.Kathy Gray
2016-07-23update to remove use of return as variableKathy Gray
2016-07-23Add a return exp form to Sail, supported in type checker and in interpreter.Kathy Gray
TODO: add an event for a return so that rewriters can find and remove them as needed for OCaml and Lem
2016-07-20Make rewriter understand type abbreviations for removing internal_exp instancesKathy Gray
2016-07-13fixChristopher
2016-07-13fixesChristopher
2016-07-12sail-to-lem and lem library fixesChristopher
2016-07-01Add missing case to arith_op_no0Kathy Gray
Add type refinement to arm spec
2016-06-28Munge exception destination PC so we hit the correct address even when ↵Robert Norton
kcc.base is non-zero.
2016-06-27Don't blow up when test suite writes to K0 field of Config0 register.Robert Norton
2016-06-20Fix error in type checker that put some constraints wrongly into conditional ↵Kathy Gray
constraints, breaking power. Also improve reporting of contract constraints, but then turn them off :( to allow power to compile.
2016-06-10Make in-memory format of capabilities conform with that of CHERI which ↵Robert Norton
stores an absolute cursor instead of offset relative to base as a uarch optimisation. This is now part of the ISA and there is a test for it.
2016-06-07remove workarounds for sail unable to read fields during PC fetch. Should be ↵Robert Norton
no functional change.
2016-06-07Merge register access violation exception codes. ISA is evolving and is a ↵Robert Norton
little loose at the moment (does not specify what to do with deprecated permission bits).
2016-06-07Preserve padding in capability registers when converting to struct form -- ↵Robert Norton
this is required for copying data via (untagged) capabilities.
2016-06-07Fix issue in accessing fields and slices of registers during translate addressKathy Gray
2016-06-07cheri: implement the csub instruciton (new instruction)Robert Norton
2016-06-07add a test for failing TLB translation during instruction fetch.Robert Norton
2016-06-06remove mips test elf files no longer expected to work due to having ↵Robert Norton
incorrect LMA values (since sail interpreter now translates PC addresses).