aboutsummaryrefslogtreecommitdiff
path: root/model/riscv_fetch_rvfi.sail
AgeCommit message (Collapse)AuthorFilesLines
2024-02-08Shorten copyright notice at the top of each fileTim Hutt1-65/+3
This script was used to do the modification: ``` from pathlib import Path import re RE_LINE = r"/\*={50,150}\*/\n" RE_MIDDLE = r"/\*.*\*/\n" NEW_TEXT = """/*=======================================================================================*/ /* This Sail RISC-V architecture model, comprising all files and */ /* directories except where otherwise noted is subject the BSD */ /* two-clause license in the LICENSE file. */ /* */ /* SPDX-License-Identifier: BSD-2-Clause */ /*=======================================================================================*/ """ REPLACEMENT = re.compile(rf"^{RE_LINE}(?:{RE_MIDDLE}){{10,100}}{RE_LINE}") def main(): for file in Path("model").glob("**/*.sail"): text = file.read_text(encoding="utf-8") text = REPLACEMENT.sub(NEW_TEXT, text, 1) file.write_text(text, encoding="utf-8") if __name__ == "__main__": main() ```
2024-01-31Update bitfield syntaxAlasdair1-5/+5
Use newer bitfield syntax, which has been part of Sail for a while now. Should in theory be more efficient as it removes a level of indirection for bitfield accesses. It's also much more friendly to `sail -fmt`, which has no idea how to handle the old bitfield syntax.
2023-08-01Rename EXTZ and EXTSAlasdair1-4/+4
Rename EXTZ to zero_extend and EXTS to sign_extend. Two main reasons for doing this - it means that the source more closely follows the descriptions in the documentation with more readable names, and EXTS and EXTZ are visually very close to each other with just the S and Z. They are also following an odd convention where they are ALLCAPS rather than snake_case like other functions in the spec. I think this convention comes from early Power specs in Sail, which influenced Sail MIPS and CHERI-MIPS, but I don't think it's a very good convention we should be keeping in sail-riscv
2023-05-29apply_headers: regenerate copyright headersupdate-copyright-headersPhilipp Tomsich1-1/+3
2023-03-14Use not() instead of ~() for boolean negation (#210)Alexander Richardson1-1/+1
This may be more readable and also matches the sail-cheri-riscv model. For now this keeps ~ overloaded to accept bool, but in the future we may want to consider removing it (which is what I did to find all uses modified in this patch)
2021-07-29Use headache to apply copyright header at request of Peter Sewell.Robert Norton1-0/+68
2021-03-16Also set the IXL field in the RVFI traceAlex Richardson1-0/+1
2021-03-16Report the current privilege level via RVFIAlex Richardson1-0/+1
2021-03-16Initial implementation of new RVFI_DII socket formatAlex Richardson1-8/+3
This is not a finalized trace format yet.
2020-11-09Perform PTE checks on DII fetch (with jrtc27)Peter Rugg1-16/+23
2019-09-10Call ext_fetch_check_pc for rvfi fetch as for normal fetch.Robert Norton1-19/+31
2019-09-06Fix rvfi build for cast free prelude.Robert Norton1-2/+2
2019-07-19Add a new pc access function to get the architectural PC: on CHERI this is ↵master-cleanupRobert Norton1-1/+1
not what is in the PC register because the architectural PC is the offset of PCC and the PC register stores the absolute PC (at present -- may review this decision in future). This allows fix for AUIPC and RVFI reported PC.
2019-06-27Zero extend rather than sign extend rvfi-dii reports (usefull for 32 ↵Alexandre Joannou1-4/+4
rvfi-dii comparisons where upper bits are not expected to have information in them)
2019-05-02rvfi: fixes for RV32Prashanth Mundkur1-4/+4
2019-04-24Add extended model from cheri-merge.Prashanth Mundkur1-0/+21