summaryrefslogtreecommitdiff
path: root/mips/mips.sail
AgeCommit message (Collapse)Author
2016-03-07Split mips.sail into three file and make use of the new -o option in ↵Robert Norton
preparation for adding cheri support in separate files.
2016-02-23Several fixesKathy Gray
Improve printing for asl to sail readability; Add -o option for selecting the name of file generation; Add additional initial check module for turning generated ast nodes into ready-to-type-check ast nodes
2016-02-11mips.sail: add cast to bit to work around type error recently introduced by ↵Robert Norton
overloading of '^^'
2016-02-10mips.sail: make unimplemented/non-existent throw a reserved instruction ↵Robert Norton
exception as per ISA.
2016-02-10mips.sail: add mfc0 support for some cp0 registers even though they aren't ↵Robert Norton
properly implemented as this allows tests to fail gracefully rather than crashing.
2016-02-10mips.sail: use exit whenever SignalException is called.Robert Norton
2016-02-04Cast to int in DIV instructions to avoid weird undefined results from vector ↵Robert Norton
quot and mod. mod still not quite doing what we want in signed case.
2016-02-04mips.sail: don't set HI and LO to undefined on MUL but just leave them as ↵Robert Norton
they were, allowing us to pass another test.
2016-02-03mips: finish implementing address translation on instruction fetch and ↵Robert Norton
remove temporary hack in TranslateAddr.
2016-02-03mips: add support for LLAddr, a debug register used for ll/sc. Also add ↵Robert Norton
missing psuedo-registers in run_with_elf.
2016-02-02mips.sail: workaround for sail bugRobert Norton
2016-02-02mips.sail: add an 'inBranchDelay' register so that SignalException can set ↵Robert Norton
correct state on exception. branchPending does not work because it is cleared before executing the branch delay.
2016-02-02mips.sail: TranslateAddress hack maps all xkphys addresses to 0x9... regionRobert Norton
2016-02-01mips.sail: fix mfc0 of config register.Robert Norton
2016-02-01mips.sail: fix decode of trap instructions.Robert Norton
2016-02-01mips.sail: workaround oddness in comparison in MOVN and MOVZ. sail bug?Robert Norton
2016-02-01mips.sail: add support for BadVaddr CP0 register.Robert Norton
2016-02-01mips.sail: fix decoding of BEQL instruction.Robert Norton
2016-02-01mips.sail: fix compilation error in mfc0 causeRobert Norton
2016-01-29mips.sail: further filling out CP0 behaviour getting exceptions to sort of ↵Robert Norton
work (NB hack in TranslateAddress until interpreter translates instuction fetches)
2016-01-29mips.sail: it turns out that all sail comparisons are signed contrary to ↵Robert Norton
manual so emulate unsigned comparisons by prepending a zero bit, as in mips spec.
2016-01-28Add test for sltu. Fixed decode function which was returning wrong ast node ↵Robert Norton
but test still does not pass, apparently because sail is doing signed comparison for <
2016-01-28mips.sail: start to fill out TranslateAddress. Change type so that it can be ↵Robert Norton
used by ml to translate fetch address.
2016-01-28mips.sail: fix infamous lwr and ldr (now pass tests).Robert Norton
2016-01-28mips.sail: fix back-to-front operands of DSLLV.Robert Norton
2016-01-28mips.sail: fix incorrect decode of DSLLVRobert Norton
2016-01-28mips.sail: split store cases by word width as sail needs to know which bit ↵Robert Norton
of word to store (probably a bug that it does not complain at runtime).
2016-01-27mips.sail: branches are relative to delay slot PC, not branch! Support ↵Robert Norton
config registers in mfc0.
2016-01-27mips.sail: produce undefined result for division by zero instead of crashing.Robert Norton
2016-01-27actually commit the new mips fileKathy Gray
2016-01-27mips.sail: further support for CP0 registers needed to run tests.Robert Norton
2016-01-26mips.sail: beginning of mfc0 implementation.Robert Norton
2016-01-26mips.sail: fix bugs in DSRL32 and DSRLVRobert Norton
2016-01-26mips.sail: work around sail bug in equality comparing bit vector to integerRobert Norton
2016-01-26mips.sail: 32-bit load linked should sign extend result.Robert Norton
2016-01-26mips: fix encoding of DSRAV.Robert Norton
2016-01-25mips.sail: modify overflow check to do exactly what is described in the ↵Robert Norton
spec. as the overflow flag provided by +_s builtin doesn't seem to do what we want.
2016-01-22mips: revert accidental removal of overflow check from daddi. It is broken ↵Robert Norton
but this is not the fix...
2016-01-22mips: fix PC update logic so branches might work.Robert Norton
2016-01-21mips.sail: fix alignment check for memory accesses.Robert Norton
2016-01-21add another encoding for HCF instruction and add execute clause -> first ↵Robert Norton
complete execution of test mips program!
2016-01-21mips: rename GPRs so that they sort lexicographically for display.Robert Norton
2016-01-20Decoding a mips instruction :)Kathy Gray
Not executing yet as some previous commit has broken the interpreter's local assignment
2016-01-15mips.sail: Add commented out alternative DSLLV implementation using ↵Robert Norton
bitslicing which is closer to what appears in spec. Might want to swap all the SLLs at some point.
2016-01-07make mips.sail pass sail type checker againKathy Gray
2015-12-21Merge branch 'master' of https://bitbucket.org/Peter_Sewell/l2Christopher
2015-12-21fixes, pp progressChristopher
2015-12-17Remove external functions that the library provides, having added them to ↵Kathy Gray
the type environment finally. (Also small cleaning of the new makefile)
2015-11-25non-working sail/mips interpreter integration for kathy to look at and ↵Robert Norton
example mips elf file.
2015-11-20Initial version of mips sail model.Robert Norton