From b8b2c6d936bfccd4767069f21debe38f2eb60141 Mon Sep 17 00:00:00 2001 From: Robert Norton Date: Tue, 31 May 2016 16:17:15 +0100 Subject: Add README in mips directory describing file breakdown and remove reference to non-existent mips.sail in top level README. --- mips/README | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 mips/README (limited to 'mips') diff --git a/mips/README b/mips/README new file mode 100644 index 00000000..feaebfde --- /dev/null +++ b/mips/README @@ -0,0 +1,23 @@ +This directory contains a MIPS64-style processor 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. -- cgit v1.2.3