mips
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
This directory contains a MIPS64-style architecture specification written in Sail. To support integration with the CHERI ISA it is split across several files, which must be given to sail in the following order: 1. mips_prelude.sail contains definitions used in the rest of the ISA, including register declarations and helper functions, for example for performing address translation. 2. mips_wrappers.sail contains wrappers and hooks around certain functions. In straight MIPS these are mostly identity functions, but on CHERI they are substituted for functions which implement CHERI-specific behaviour. 3. mips_insts.sail contains descriptions of instructions in the form of AST members, decode and execute function clauses (using Sail's scattered union/function definitions). 4. mips_epilogue.sail just closes the function and AST union definitions. The CHERI sail model extends this model by adding more declarations in a file cheri_prelude.sail, included after mips_prelude.sail, replacing the functions in mips_wrappers.sail and adding new instruction definitions in cheri_insts.sail.