From 64631b21c41e78fe3a2a38f3adea61bccc334103 Mon Sep 17 00:00:00 2001 From: William McSpaddden Date: Mon, 1 Aug 2022 14:11:44 -0500 Subject: [PATCH 01/12] Two major commits for two topics: 1) Initial checkin of cookbook with numerous code examples. 2) Integration of libfyaml and a regex library for use in reading RISCV-Config YAML configuration files (for configuration of the Golden Model). --- Makefile | 18 +- README.md | 32 +- c_emulator/riscv_platform_impl.c | 6 + c_emulator/riscv_platform_impl.h | 9 +- c_emulator/riscv_sim.c | 155 +- c_emulator/rv_cfg_func.c | 452 +++ c_emulator/rv_cfg_func.h | 85 + cookbook/doc/Makefile | 80 + cookbook/doc/RISCV_model_FAQ.adoc | 95 + .../doc/TheRISCVSailCookbook_Complete.adoc | 202 ++ .../doc/TheRISCVSailCookbook_Complete.pdf | Bin 0 -> 63137 bytes cookbook/doc/TheRISCVSailCookbook_Main.adoc | 109 + .../br_j_asm/CMakeLists.txt | 40 + .../functional_code_examples/br_j_asm/LICENSE | 202 ++ .../br_j_asm/Makefile | 154 + .../br_j_asm/riscv_test.ld | 76 + .../br_j_asm/riscv_test.ld.spike | 73 + .../functional_code_examples/br_j_asm/test.S | 482 +++ .../platform_configuration/Makefile | 141 + .../platform_configuration/riscv_test.ld | 84 + .../platform_configuration/rv32i_isa.yaml | 3096 +++++++++++++++++ .../rv32i_platform.yaml | 15 + .../platform_configuration/test.S | 162 + handwritten_support/riscv_extras.v | 6 +- model/main.sail | 11 + model/prelude.sail | 5 + model/riscv_step.sail | 5 + model/rv_cfg_func_sigs.sail | 78 + 28 files changed, 5771 insertions(+), 102 deletions(-) create mode 100644 c_emulator/rv_cfg_func.c create mode 100644 c_emulator/rv_cfg_func.h create mode 100644 cookbook/doc/Makefile create mode 100644 cookbook/doc/RISCV_model_FAQ.adoc create mode 100644 cookbook/doc/TheRISCVSailCookbook_Complete.adoc create mode 100644 cookbook/doc/TheRISCVSailCookbook_Complete.pdf create mode 100644 cookbook/doc/TheRISCVSailCookbook_Main.adoc create mode 100644 cookbook/functional_code_examples/br_j_asm/CMakeLists.txt create mode 100644 cookbook/functional_code_examples/br_j_asm/LICENSE create mode 100644 cookbook/functional_code_examples/br_j_asm/Makefile create mode 100644 cookbook/functional_code_examples/br_j_asm/riscv_test.ld create mode 100644 cookbook/functional_code_examples/br_j_asm/riscv_test.ld.spike create mode 100644 cookbook/functional_code_examples/br_j_asm/test.S create mode 100644 cookbook/functional_code_examples/platform_configuration/Makefile create mode 100644 cookbook/functional_code_examples/platform_configuration/riscv_test.ld create mode 100644 cookbook/functional_code_examples/platform_configuration/rv32i_isa.yaml create mode 100644 cookbook/functional_code_examples/platform_configuration/rv32i_platform.yaml create mode 100644 cookbook/functional_code_examples/platform_configuration/test.S create mode 100644 model/rv_cfg_func_sigs.sail diff --git a/Makefile b/Makefile index 8871ec72f..1f279421a 100644 --- a/Makefile +++ b/Makefile @@ -119,8 +119,8 @@ export LEM_DIR C_WARNINGS ?= #-Wall -Wextra -Wno-unused-label -Wno-unused-parameter -Wno-unused-but-set-variable -Wno-unused-function -C_INCS = $(addprefix c_emulator/,riscv_prelude.h riscv_platform_impl.h riscv_platform.h riscv_softfloat.h) -C_SRCS = $(addprefix c_emulator/,riscv_prelude.c riscv_platform_impl.c riscv_platform.c riscv_softfloat.c riscv_sim.c) +C_INCS = $(addprefix c_emulator/,riscv_prelude.h riscv_platform_impl.h riscv_platform.h riscv_softfloat.h rv_cfg_func.h) +C_SRCS = $(addprefix c_emulator/,riscv_prelude.c riscv_platform_impl.c riscv_platform.c riscv_softfloat.c riscv_sim.c rv_cfg_func.c) SOFTFLOAT_DIR = c_emulator/SoftFloat-3e SOFTFLOAT_INCDIR = $(SOFTFLOAT_DIR)/source/include @@ -134,9 +134,13 @@ GMP_FLAGS = $(shell pkg-config --cflags gmp) GMP_LIBS = $(shell pkg-config --libs gmp || echo -lgmp) ZLIB_FLAGS = $(shell pkg-config --cflags zlib) ZLIB_LIBS = $(shell pkg-config --libs zlib) +FYAML_FLAGS = $(shell pkg-config --cflags libfyaml) +FYAML_LIBS = $(shell pkg-config --libs libfyaml) +PCRE2_FLAGS = $(shell pkg-config --cflags) +PCRE2_LIBS = $(shell pkg-config --libs libpcre2-8) -C_FLAGS = -I $(SAIL_LIB_DIR) -I c_emulator $(GMP_FLAGS) $(ZLIB_FLAGS) $(SOFTFLOAT_FLAGS) -fcommon -C_LIBS = $(GMP_LIBS) $(ZLIB_LIBS) $(SOFTFLOAT_LIBS) +C_FLAGS = -I $(SAIL_LIB_DIR) -I c_emulator $(GMP_FLAGS) $(ZLIB_FLAGS) $(SOFTFLOAT_FLAGS) $(FYAML_FLAGS) $(PCRE2_FLAGS)-fcommon +C_LIBS = $(GMP_LIBS) $(ZLIB_LIBS) $(SOFTFLOAT_LIBS) $(FYAML_LIBS) $(PCRE2_LIBS) # The C simulator can be built to be linked against Spike for tandem-verification. # This needs the C bindings to Spike from https://github.com/SRI-CSL/l3riscv @@ -237,7 +241,7 @@ ocaml_emulator/tracecmp: ocaml_emulator/tracecmp.ml generated_definitions/c/riscv_model_$(ARCH).c: $(SAIL_SRCS) model/main.sail Makefile mkdir -p generated_definitions/c - $(SAIL) $(SAIL_FLAGS) -O -Oconstant_fold -memo_z3 -c -c_include riscv_prelude.h -c_include riscv_platform.h -c_no_main $(SAIL_SRCS) model/main.sail -o $(basename $@) + $(SAIL) $(SAIL_FLAGS) -O -Oconstant_fold -memo_z3 -c -c_include riscv_prelude.h -c_include riscv_platform.h -c_include rv_cfg_func.h -c_no_main $(SAIL_SRCS) model/main.sail -o $(basename $@) generated_definitions/c2/riscv_model_$(ARCH).c: $(SAIL_SRCS) model/main.sail Makefile mkdir -p generated_definitions/c2 @@ -275,7 +279,7 @@ rvfi_preserve_fns=-c_preserve rvfi_set_instr_packet \ generated_definitions/c/riscv_rvfi_model_$(ARCH).c: $(SAIL_RVFI_SRCS) model/main.sail Makefile mkdir -p generated_definitions/c - $(SAIL) $(rvfi_preserve_fns) $(SAIL_FLAGS) -O -Oconstant_fold -memo_z3 -c -c_include riscv_prelude.h -c_include riscv_platform.h -c_no_main $(SAIL_RVFI_SRCS) model/main.sail -o $(basename $@) + $(SAIL) $(rvfi_preserve_fns) $(SAIL_FLAGS) -O -Oconstant_fold -memo_z3 -c -c_include riscv_prelude.h -c_include riscv_platform.h -c_include rv_cfg_func.h -c_no_main $(SAIL_RVFI_SRCS) model/main.sail -o $(basename $@) sed -i -e '/^[[:space:]]*$$/d' $@ c_emulator/riscv_rvfi_$(ARCH): generated_definitions/c/riscv_rvfi_model_$(ARCH).c $(C_INCS) $(C_SRCS) $(SOFTFLOAT_LIBS) Makefile @@ -365,7 +369,7 @@ ifndef EXPLICIT_COQ_SAIL EXPLICIT_COQ_SAIL = $(shell if opam config var coq-sail:share >/dev/null 2>/dev/null; then echo no; else echo yes; fi) endif -COQ_LIBS = -R generated_definitions/coq/$(ARCH) '' -R generated_definitions/coq '' -R handwritten_support '' +COQ_LIBS = -R generated_definitions/coq Riscv -R generated_definitions/coq/$(ARCH) $(ARCH) -R handwritten_support Riscv_common ifeq ($(EXPLICIT_COQ_BBV),yes) COQ_LIBS += -Q $(BBV_DIR)/src/bbv bbv endif diff --git a/README.md b/README.md index d51e6473d..7f7010483 100644 --- a/README.md +++ b/README.md @@ -270,6 +270,9 @@ sail-riscv - test // test files - riscv-tests // snapshot of tests from the riscv/riscv-tests github repo - os-boot // information and sample files for booting OS images +- cookbook // RISC-V cookbook examples and documentation + - doc // the asciidoc documentation + - functional_code_examples // code examples ``` Getting started @@ -345,9 +348,33 @@ Some useful options are: configuring whether misaligned accesses trap whether page-table walks update PTE bits (`--enable-dirty-update` for C and `-enable-dirty-update` for OCaml). -### Experimental integration with riscv-config +### Integration with RISCV-Config + +RISCV-Config ( https://github.com/riscv-software-src/riscv-config ) is the +configuration standard used by the RISC-V Architectural Compatability Tests +to specify how a RISC-V core is configured. The RISC-V architecture allows +for many implementation specific configurations such as: + +- Supported (implemented) ISA extensions +- Misaligned address support (ie - HW support or trap) +- Configuration of WARL fields in CSRs +- Memory map + +RISCV-Config utilizes YAML and YAML schemas to describe the configuration. +There are two YAML files that get examined: 1) an ISA YAML file that +describes the configuration of a RISC-V core (ie - supported ISA extensions, +CSR configurations, etc), and 2) a platform YAML file that describes +the platform configurations (ie - reset address, CLIC support, etc). + +Configuration is done at run-time not at compile time. (Note: there +was an earlier PR (PR #43) that integrated RISCV-Config as a compile-time +capability. See: [integration with riscv-config](https://github.com/rems-project/sail-riscv/pull/43) +It was determined that a run-time solution was needed rather than a compile-time solution.) +Command line switches specify the YAML files that are to be used. + +When adding new extensions to the model, corresponding configuration parameters +need to be added to RISCV-Config. -There is also (as yet unmerged) support for [integration with riscv-config](https://github.com/rems-project/sail-riscv/pull/43) to allow configuring the compiled model according to a riscv-config yaml specification. ### Booting OS images @@ -383,6 +410,7 @@ Authors Nathaniel Wesley Filardo, Microsoft; Peter Rugg, University of Cambridge; Scott Johnson, Aril Computer Corp. + William C. McSpadden, RISC-V, International; Funding ------- diff --git a/c_emulator/riscv_platform_impl.c b/c_emulator/riscv_platform_impl.c index b1504a727..fc1f1101f 100644 --- a/c_emulator/riscv_platform_impl.c +++ b/c_emulator/riscv_platform_impl.c @@ -3,6 +3,10 @@ #include /* Settings of the platform implementation, with common defaults. */ +char *RV64ISA = ""; +char *RV32ISA = ""; +char *RV128ISA = ""; + bool rv_enable_pmp = false; bool rv_enable_zfinx = false; bool rv_enable_rvc = true; @@ -14,6 +18,8 @@ bool rv_enable_dirty_update = false; bool rv_enable_misaligned = false; bool rv_mtval_has_illegal_inst_bits = false; +uint64_t rv_reset_address = UINT64_C(0x0); + uint64_t rv_ram_base = UINT64_C(0x80000000); uint64_t rv_ram_size = UINT64_C(0x4000000); diff --git a/c_emulator/riscv_platform_impl.h b/c_emulator/riscv_platform_impl.h index 165fb94d7..a695fe300 100644 --- a/c_emulator/riscv_platform_impl.h +++ b/c_emulator/riscv_platform_impl.h @@ -5,7 +5,12 @@ /* Settings of the platform implementation. */ -#define DEFAULT_RSTVEC 0x00001000 +// #define DEFAULT_RSTVEC 0x00001000 +#define DEFAULT_RSTVEC rv_cfg_c_int("/reset/address") + +extern char *RV64ISA; +extern char *RV32ISA; +extern char *RV128ISA; extern bool rv_enable_pmp; extern bool rv_enable_zfinx; @@ -17,6 +22,8 @@ extern bool rv_enable_dirty_update; extern bool rv_enable_misaligned; extern bool rv_mtval_has_illegal_inst_bits; +extern uint64_t rv_reset_address; + extern uint64_t rv_ram_base; extern uint64_t rv_ram_size; diff --git a/c_emulator/riscv_sim.c b/c_emulator/riscv_sim.c index e908ebbcc..660d6e583 100644 --- a/c_emulator/riscv_sim.c +++ b/c_emulator/riscv_sim.c @@ -1,3 +1,4 @@ +// vim: set tabstop=2 shiftwidth=2 expandtab #include #include #include @@ -10,6 +11,13 @@ #include #include #include +#include + +//This macro must be defined before including pcre2.h. For a program that uses +//only one code unit width, it makes it possible to use generic function names +//such as pcre2_compile(). +#define PCRE2_CODE_UNIT_WIDTH 8 +#include #include "elf.h" #include "sail.h" @@ -21,15 +29,14 @@ #include "riscv_platform_impl.h" #include "riscv_sail.h" +#include "rv_cfg_func.h" + #ifdef ENABLE_SPIKE #include "tv_spike_intf.h" #else struct tv_spike_t; #endif -const char *RV64ISA = "RV64IMAC"; -const char *RV32ISA = "RV32IMAC"; - /* Selected CSRs from riscv-isa-sim/riscv/encoding.h */ #define CSR_STVEC 0x105 #define CSR_SEPC 0x141 @@ -107,15 +114,7 @@ char *sailcov_file = NULL; #endif static struct option options[] = { - {"enable-dirty-update", no_argument, 0, 'd'}, - {"enable-misaligned", no_argument, 0, 'm'}, - {"enable-pmp", no_argument, 0, 'P'}, - {"enable-next", no_argument, 0, 'N'}, - {"ram-size", required_argument, 0, 'z'}, - {"disable-compressed", no_argument, 0, 'C'}, - {"disable-writable-misa", no_argument, 0, 'I'}, - {"disable-fdext", no_argument, 0, 'F'}, - {"mtval-has-illegal-inst-bits", no_argument, 0, 'i'}, +// {"mtval-has-illegal-inst-bits", no_argument, 0, 'i'}, {"device-tree-blob", required_argument, 0, 'b'}, {"terminal-log", required_argument, 0, 't'}, {"show-times", required_argument, 0, 'p'}, @@ -129,7 +128,8 @@ static struct option options[] = { {"trace", optional_argument, 0, 'v'}, {"no-trace", optional_argument, 0, 'V'}, {"inst-limit", required_argument, 0, 'l'}, - {"enable-zfinx", no_argument, 0, 'x'}, + {"platform-config", required_argument, 0, 'y'}, + {"isa-config", required_argument, 0, 'u'}, #ifdef SAILCOV {"sailcov-file", required_argument, 0, 'c'}, #endif @@ -218,70 +218,49 @@ char *process_args(int argc, char **argv) while(true) { c = getopt_long(argc, argv, "a" - "d" - "m" - "P" - "C" - "N" "I" - "F" - "i" +// "i" "s" "p" - "z:" "b:" "t:" "T:" "g" "h" + "y:" + "u:" #ifdef RVFI_DII "r:" #endif "V::" "v::" "l:" - "x" #ifdef SAILCOV "c:" #endif , options, NULL); if (c == -1) break; switch (c) { - case 'a': - report_arch(); - break; - case 'd': - fprintf(stderr, "enabling dirty update.\n"); - rv_enable_dirty_update = true; - break; - case 'm': - fprintf(stderr, "enabling misaligned access.\n"); - rv_enable_misaligned = true; - break; - case 'P': - fprintf(stderr, "enabling PMP support.\n"); - rv_enable_pmp = true; - break; - case 'C': - fprintf(stderr, "disabling RVC compressed instructions.\n"); - rv_enable_rvc = false; - break; - case 'N': - fprintf(stderr, "enabling N extension.\n"); - rv_enable_next = true; - break; - case 'I': - fprintf(stderr, "disabling writable misa CSR.\n"); - rv_enable_writable_misa = false; + case 'y': + if ( rv_cfg_c_build_from_file(RV_CFG_PLATFORM, optarg) == 0 ) { + fprintf(stderr, "unable to build fast-yaml document from %s\n", optarg); + exit(1); + } break; - case 'F': - fprintf(stderr, "disabling floating point (F and D extensions).\n"); - rv_enable_fdext = false; + + case 'u': + if ( rv_cfg_c_build_from_file(RV_CFG_ISA, optarg) == 0 ) { + fprintf(stderr, "unable to build fast-yaml document from %s\n", optarg); + exit(1); + } break; - case 'i': - fprintf(stderr, "enabling storing illegal instruction bits in mtval.\n"); - rv_mtval_has_illegal_inst_bits = true; + case 'a': + report_arch(); break; +// case 'i': +// fprintf(stderr, "enabling storing illegal instruction bits in mtval.\n"); +// rv_mtval_has_illegal_inst_bits = true; +// break; case 's': do_dump_dts = true; break; @@ -289,16 +268,6 @@ char *process_args(int argc, char **argv) fprintf(stderr, "will show execution times on completion.\n"); do_show_times = true; break; - case 'z': - ram_size = atol(optarg); - if (ram_size) { - fprintf(stderr, "setting ram-size to %" PRIu64 " MB\n", ram_size); - rv_ram_size = ram_size << 20; - } else { - fprintf(stderr, "invalid ram-size '%s' provided.\n", optarg); - exit(1); - } - break; case 'b': dtb_file = strdup(optarg); fprintf(stderr, "using %s as DTB file.\n", dtb_file); @@ -334,11 +303,6 @@ char *process_args(int argc, char **argv) case 'l': insn_limit = atoi(optarg); break; - case 'x': - fprintf(stderr, "enabling Zfinx support.\n"); - rv_enable_zfinx = true; - rv_enable_fdext = false; - break; #ifdef SAILCOV case 'c': sailcov_file = strdup(optarg); @@ -470,29 +434,34 @@ void tick_spike() void init_sail_reset_vector(uint64_t entry) { +// TODO: This code is commented out because we don't want the +// the Sail model setting up and executing any code. BUT.... +// the question is: will the Sail model load the .elf file +// into the appropriate place in memory? + #define RST_VEC_SIZE 8 - uint32_t reset_vec[RST_VEC_SIZE] = { - 0x297, // auipc t0,0x0 - 0x28593 + (RST_VEC_SIZE * 4 << 20), // addi a1, t0, &dtb - 0xf1402573, // csrr a0, mhartid - is_32bit_model() ? - 0x0182a283u : // lw t0,24(t0) - 0x0182b283u, // ld t0,24(t0) - 0x28067, // jr t0 - 0, - (uint32_t) (entry & 0xffffffff), - (uint32_t) (entry >> 32) - }; +// uint32_t reset_vec[RST_VEC_SIZE] = { +// 0x297, // auipc t0,0x0 +// 0x28593 + (RST_VEC_SIZE * 4 << 20), // addi a1, t0, &dtb +// 0xf1402573, // csrr a0, mhartid +// is_32bit_model() ? +// 0x0182a283u : // lw t0,24(t0) +// 0x0182b283u, // ld t0,24(t0) +// 0x28067, // jr t0 +// 0, +// (uint32_t) (entry & 0xffffffff), +// (uint32_t) (entry >> 32) +// }; rv_rom_base = DEFAULT_RSTVEC; uint64_t addr = rv_rom_base; - for (int i = 0; i < sizeof(reset_vec); i++) - write_mem(addr++, (uint64_t)((char *)reset_vec)[i]); - - if (dtb && dtb_len) { - for (size_t i = 0; i < dtb_len; i++) - write_mem(addr++, dtb[i]); - } +// for (int i = 0; i < sizeof(reset_vec); i++) +// write_mem(addr++, (uint64_t)((char *)reset_vec)[i]); +// +// if (dtb && dtb_len) { +// for (size_t i = 0; i < dtb_len; i++) +// write_mem(addr++, dtb[i]); +// } #ifdef ENABLE_SPIKE if (dtb && dtb_len) { @@ -526,7 +495,7 @@ void init_sail_reset_vector(uint64_t entry) /* set rom size */ rv_rom_size = rom_end - rv_rom_base; /* boot at reset vector */ - zPC = rv_rom_base; + zPC = rv_reset_address; } void preinit_sail() @@ -975,10 +944,16 @@ void init_logs() int main(int argc, char **argv) { + rv_cfg_c_init(); + char *file = process_args(argc, argv); + // Initialize the RISC-V Configuration elements. + // Must be done after command line arguments are processed in + // order to get RISCV-Config filenames. + rv_cfg_c_configure(); + // Initialize model so that we can check or report its architecture. preinit_sail(); - char *file = process_args(argc, argv); init_logs(); if (gettimeofday(&init_start, NULL) < 0) { diff --git a/c_emulator/rv_cfg_func.c b/c_emulator/rv_cfg_func.c new file mode 100644 index 000000000..c175d1a5c --- /dev/null +++ b/c_emulator/rv_cfg_func.c @@ -0,0 +1,452 @@ +// vim: set tabstop=4 shiftwidth=4 expandtab +// ============================================================================ +// Filename: rv_cfg_func.c +// +// Description: Functions to be called by Sail and C to get values from a yaml file. +// +// Author(s): Bill McSpadden (bill@riscv.org) +// +// Revision: See git log +// ============================================================================ + +#include +#include "rv_cfg_func.h" +#include "string.h" + +/* RISC-V Config YAML configuration support */ +static char *rv_config_platform_file = NULL; +static int rv_config_platform_fd = 0; +static struct fy_document *rv_config_fyd_platform = NULL; + +static char *rv_config_isa_file = NULL; +static int rv_config_isa_fd = 0; +static struct fy_document *rv_config_fyd_isa = NULL; + +// rv_cfg_enum2string_a is built (in rv_cfg_init()) so that the +// array index is the enum value. A poor man's associative array. +static rv_cfg_enum2string_t rv_cfg_enum2string_a[RV_CFG_LAST]; + +#define EXPAND(__ENUM2STR__) { __ENUM2STR__, #__ENUM2STR__ } +static rv_cfg_enum2string_t rv_cfg_enum2string_init_a[] = + { + EXPAND(RV_CFG_ISA), + EXPAND(RV_CFG_PLATFORM), + EXPAND(RV_CFG_DEBUG), + }; + +static rv_cfg_enum2doc_t rv_cfg_enum2doc_a[RV_CFG_LAST]; + +extern int64_t zxlen_val; + +// ============================================================================ +int +rv_cfg_c_init() + { + for (int i = 0; i < RV_CFG_LAST; i++) + { + rv_cfg_enum2string_a[rv_cfg_enum2string_init_a[i].e].e = rv_cfg_enum2string_init_a[i].e; + rv_cfg_enum2string_a[rv_cfg_enum2string_init_a[i].e].s = rv_cfg_enum2string_init_a[i].s; + } + + } + +// ============================================================================ +int +rv_cfg_c_configure(void) + { + char * RV_ISA; + + + // ==================================================================== + // Get the ISA string. Much of the configuration is derived from this + // string. + RV_ISA = rv_cfg_c_string("/hart0/ISA"); + + // ==================================================================== + // Do the configuration. + rv_enable_rvc = rv_cfg_c_ext_enable(RV_ISA, "C"); + rv_enable_fdext = rv_cfg_c_ext_enable(RV_ISA, "F"); + rv_enable_next = rv_cfg_c_ext_enable(RV_ISA, "N"); + rv_enable_zfinx = rv_cfg_c_ext_enable(RV_ISA, "Zfinx"); + rv_enable_dirty_update = rv_cfg_c_ext_enable(RV_ISA, "Ssptead"); //TODO: Use this, .... + //rv_enable_dirty_update = rv_cfg_c_bool_c("/hart0/pte_dirty_update_enable"); // .... not this + + rv_enable_misaligned = rv_cfg_c_bool("/hart0/hw_data_misaligned_support"); + + rv_enable_pmp = ( + (rv_cfg_c_bool("/hart0/pmpaddr0/rv32/accessible") ) || + (rv_cfg_c_bool("/hart0/pmpaddr0/rv64/accessible") ) + ) ; + + rv_ram_size = rv_cfg_c_int("/ram_size") << 20; // Convert to MBs + rv_reset_address = rv_cfg_c_int("/reset/address"); + + rv_enable_writable_misa = rv_cfg_c_path_exists("/hart0/misa/rv32/extensions/type/warl"); + rv_mtval_has_illegal_inst_bits = rv_cfg_c_bool("/hart0/mtval/has_illegal_inst_bits"); + + // ==================================================================== + // Print out the configuration that you just pulled out from the + // RISCV-Config files. Print it out in terms of the Golden Model + // variables that are used in Sail. +#define CFG_STRING_FMT "%-56s" + printf("=================================================================================\n"); + printf("Start: RISC-V Golden Model configuration values.....\n"); + printf(CFG_STRING_FMT "'%s'\n", "RV_ISA: ", RV_ISA); + printf(CFG_STRING_FMT "%s\n", "C ext support (rv_enable_rvc): " , rv_enable_rvc ? "true" : "false"); + printf(CFG_STRING_FMT "%s\n", "F/D ext support (rv_enable_fdext):", rv_enable_fdext ? "true" : "false"); + printf(CFG_STRING_FMT "%s\n", "N ext support (rv_enable_next): ", rv_enable_next ? "true" : "false"); + printf(CFG_STRING_FMT "%s\n", "Zfinx ext support (rv_enable_zfinx): ", rv_enable_zfinx ? "true" : "false"); + printf(CFG_STRING_FMT "%s\n", "enable misaligned support (rv_enable_misaligned): ", rv_enable_misaligned ? "true" : "false"); + printf(CFG_STRING_FMT "%s\n", "enable pmp support (rv_enable_pmp): ", rv_enable_pmp ? "true" : "false"); + printf(CFG_STRING_FMT "%ld MB\n", "ram size (rv_ram_size): ", rv_ram_size >> 20); + printf(CFG_STRING_FMT "0x%lx\n", "reset address (rv_reset_address, zPC): ", rv_reset_address); + printf(CFG_STRING_FMT "%s\n", "PTE dirty update enable (rv_enable_dirty_update): ", rv_enable_dirty_update ? "true" : "false"); + printf(CFG_STRING_FMT "%s\n", "writable misa (rv_enable_writable_misa): ", rv_enable_writable_misa ? "true" : "false"); + printf(CFG_STRING_FMT "%s\n", "mtval: illegal inst (rv_mtval_has_illegal_inst_bits): ", rv_mtval_has_illegal_inst_bits ? "true" : "false"); + printf("End: RISC-V Golden Model configuration values.....\n"); + printf("=================================================================================\n"); + + // ==================================== + // Error checking of configuration. + // Most error checking of allowed configurations is done + // by the RISCV-Config validator script. It is assumed + // that the user has validated his implementation-specific + // config file using the validator script. + // + // TODO: Would it make sense to run the validator script + // here in order to ensure that legal configurations + // are being run? I believe RISCOF already does this + // when running the arch-tests. + +// TODO: Need a method for getting XLEN from the Sail model so +// that we can compare it against the ISA string. +// // ==================================== +// // Error checking of configuration. XLEN +// printf("%s, %d: zxlen_val: %ld\n", __FILE__, __LINE__, zxlen_val); +// if (zxlen_val == 32) +// { +// if (!rv_cfg_c_ext_enable(RV_ISA, "RV32")) +// { +// fprintf(stderr, "%s, %d: incompatable settings for zxlen_val and RV_ISA. both must be 32.", +// __FILE__, __LINE__); +// exit(1); +// } +// RV32ISA = RV_ISA; +// } +// else if (zxlen_val == 64) +// { +// if (!rv_cfg_c_ext_enable(RV_ISA, "RV64")) +// { +// fprintf(stderr, "%s, %d: incompatable settings for zxlen_val and RV_ISA. both must be 64.", +// __FILE__, __LINE__); +// exit(1); +// } +// RV64ISA = RV_ISA; +// } +// else if (zxlen_val == 128) +// { +// if (!rv_cfg_c_ext_enable(RV_ISA, "RV128")) +// { +// fprintf(stderr, "%s, %d: incompatable settings for zxlen_val and RV_ISA. both must be 128.", +// __FILE__, __LINE__); +// exit(1); +// } +// RV128ISA = RV_ISA; +// } +// else +// { +// fprintf(stderr, "%s, %d: invalid setting for zxlen_val: %d.", +// __FILE__, __LINE__, zxlen_val); +// } + + // ==================================== + // Check extension settings for mutual exclusivity + // TODO: should I introduce 'assert' as an error reporting mechanism + // instead of this ad hoc mechanism? + if ((rv_enable_fdext == true) && (rv_enable_zfinx == true)) + { + fprintf(stderr, "%s, %d: incompatable settings for [fd]ext and Zfinx. both cannot be enabled.", + __FILE__, __LINE__); + exit(1); + } + + } + +// ============================================================================ +bool +rv_cfg_c_path_exists(char * path) + { + struct fy_path_parse_cfg cfg; + struct fy_path_parser *fypp; + bool ret; + + cfg.flags = FYPPCF_QUIET; + cfg.userdata = NULL; + cfg.diag = NULL; + + fypp = fy_path_parser_create(&cfg); + ret = (fy_path_parse_expr_from_string(fypp, path, -1) == NULL) ? false : true; + fy_path_parser_destroy(fypp); + + return(ret); + } + +// ============================================================================ +bool +rv_cfg_c_bool(char * key_str) + { + char *s; + + s = rv_cfg_c_string(key_str); + + if ( strcmp("true", s) == 0) + { + return(true); + } + else if ( strcmp("false", s) == 0 ) + { + return(false); + } + else + { + fprintf(stderr, "%s, %d: internal error. '%s' does not appear to be a bool.\n", + __FILE__, __LINE__, key_str); + exit(1); + } + } + +// ============================================================================ +int +rv_cfg_c_ext_enable(char * isa_str, char * ext_pattern) + { + pcre2_code *re; + int errornumber; + PCRE2_SIZE erroroffset; + pcre2_match_data *match_data; + int rc; + + re = pcre2_compile( + ext_pattern, /* the pattern */ + PCRE2_ZERO_TERMINATED, /* indicates pattern is zero-terminated */ + 0, /* default options */ + &errornumber, /* for error number */ + &erroroffset, /* for error offset */ + NULL); /* use default compile context */ + + if (re == NULL) // Compilation failed + { + PCRE2_UCHAR buffer[256]; + pcre2_get_error_message(errornumber, buffer, sizeof(buffer)); + printf("PCRE2 compilation failed at offset %d: %s\n", (int)erroroffset, + buffer); + } + + match_data = pcre2_match_data_create_from_pattern(re, NULL); + + rc = pcre2_match( + re, /* the compiled pattern */ + isa_str, /* the subject string */ + strlen(isa_str), /* the length of the subject */ + 0, /* start at offset 0 in the subject */ + 0, /* default options */ + match_data, /* block for storing the result */ + NULL); /* use default match context */ + + if ((rc == 0) || (rc == -1)) // Does not match + { + return(0); + } + else if (rc == 1) + { + return(1); + } + else + { + fprintf(stderr, "%s, %d: unexpected match return value, %d, for '%s' in ISA string %s\n", + __FILE__, __LINE__, rc, ext_pattern, isa_str); + exit(1); + } + } + +// ============================================================================ +char * +rv_cfg_c_get_string(rv_cfg_e e) + { + return(rv_cfg_enum2string_a[e].s); + } + +// ============================================================================ +rv_cfg_e +rv_cfg_c_get_enum(char * s) + { + for (int i = 0; i < (sizeof(rv_cfg_enum2string_a)/sizeof(rv_cfg_enum2string_t)); i++) + { + if ( strcmp(rv_cfg_enum2string_a[i].s, s) == 0 ) + { + return(rv_cfg_enum2string_a[i].e); + } + } + fprintf(stderr, "%s, %d: error: internal error. bad lookup of '%s'\n", __FILE__, __LINE__, s); + exit(1); + } + + +// ============================================================================ +int +rv_cfg_c_build_from_file(rv_cfg_e rv_cfg_type, char * filename ) + { + struct stat buffer; + struct fy_document *fyd = NULL; + + printf("%s file: %s\n", rv_cfg_c_get_string(rv_cfg_type), filename); + if ( (stat(filename, &buffer) == -1) ) + { + fprintf(stderr, "%s, %d: error: file, %s, does not exist.\n", __FILE__, __LINE__, filename); + return(0); + } + + rv_cfg_enum2doc_a[rv_cfg_type].fyd = fy_document_build_from_file(NULL, filename); + if (! rv_cfg_enum2doc_a[rv_cfg_type].fyd) + { + fprintf(stderr, "unable to build document from %s\n", filename); + return(0); + } + rv_cfg_enum2doc_a[rv_cfg_type].filename = filename; + rv_cfg_enum2doc_a[rv_cfg_type].e = rv_cfg_type; + + printf("%s, %d: rv_cfg file, '%s', loaded successfully as %s.\n", + __FILE__, __LINE__, rv_cfg_enum2doc_a[rv_cfg_type].filename, + rv_cfg_c_get_string(rv_cfg_enum2doc_a[rv_cfg_type].e)); + + return (1); + } + + +// ============================================================================ +unsigned int +rv_cfg_c_int(char * key_str) + { + struct fy_document *fyd = NULL; + //unsigned int yaml_val_int; + int yaml_val_int; + int count; + char *tmp_str; + + + for (int i = 0; i < RV_CFG_LAST; i++) + { + char *conversion_str; + if ( (fyd = rv_cfg_enum2doc_a[i].fyd) == NULL) + { + continue; + } + + conversion_str = " %i"; + tmp_str = malloc(strlen(key_str) + strlen(conversion_str) + 1); + strcpy(tmp_str, key_str); + strcat(tmp_str, conversion_str); + //printf("%s, %d: scanf string: %s\n", __FILE__, __LINE__, tmp_str); + + count = fy_document_scanf(fyd, tmp_str, &yaml_val_int); + if (count == 1) + { + free(tmp_str); + return(yaml_val_int); + } + free(tmp_str); + } + + // If we've gotten to this point, we've gone through each of the + // rv_cfg files and didn't find the pattern OR the pattern + // didn't match the conversion string. In either case, there is + // something wrong. + + fprintf(stderr, "%s, %d: the key, %s, was not found.\n", __FILE__, __LINE__, key_str); + exit(1); + return(0); // Never taken. + } + +// ============================================================================ +char * +rv_cfg_c_string(char * key_str) + { + struct fy_document *fyd = NULL; +// char *yaml_val_string; + char yaml_val_string[1024]; + int count; + char *tmp_str; + char *ret_str_ptr; + + for (int i = 0; i < RV_CFG_LAST; i++) + { + char *conversion_str; + if ( (fyd = rv_cfg_enum2doc_a[i].fyd) == NULL) + { + continue; + } + + //printf("%s, %d: checking yaml file, %s\n", __FILE__, __LINE__, rv_cfg_enum2doc_a[i].filename); + conversion_str = " %1023s"; + tmp_str = malloc(strlen(key_str) + strlen(conversion_str) + 1); + strcpy(tmp_str, key_str); + strcat(tmp_str, conversion_str); + //printf("%s, %d: scanf string: '%s'\n", __FILE__, __LINE__, tmp_str); + + count = fy_document_scanf(fyd, tmp_str, yaml_val_string); + if (count == 1) + { + free(tmp_str); + ret_str_ptr = malloc(strlen(yaml_val_string)); // TODO: where should this be freed? + strcpy(ret_str_ptr, yaml_val_string); + return(ret_str_ptr); + } + free(tmp_str); + } + + // If we've gotten to this point, we've gone through each of the + // rv_cfg files and didn't find the pattern OR the pattern + // didn't match the conversion string. In either case, there is + // something wrong. + + fprintf(stderr, "%s, %d: the key, '%s', was not found.\n", __FILE__, __LINE__, key_str); + exit(1); + return(0); // Never taken. + } + +// ============================================================================ +void +rv_cfg_c_dump_yaml_c(char *yaml_filename) + { + struct fy_document *fyd = NULL; + + fyd = fy_document_build_from_file(NULL, yaml_filename); + fy_emit_document_to_fp(fyd, FYECF_DEFAULT | FYECF_SORT_KEYS, stdout); + free(fyd); + } + +// ============================================================================ +int +rv_cfg_s_int(sail_int *zret_int, char * yaml_key_str) + { +// printf("%s, %d: entering rv_cfg_s_int()\n", __FILE__, __LINE__); + mpz_set_ui(*zret_int, rv_cfg_c_int(yaml_key_str)); + return(1); + } + +// ============================================================================ +int +//rv_cfg_s_string(sail_string **s, char * yaml_key_str) +rv_cfg_s_string(sail_string s, char * yaml_key_str) + { +// printf("%s, %d: entering rv_cfg_string()\n", __FILE__, __LINE__); + s = rv_cfg_c_string(yaml_key_str); + return(1); + } + +// ============================================================================ +unit +rv_cfg_s_dump_yaml(char *yaml_filename) + { + rv_cfg_c_dump_yaml(yaml_filename); + } + diff --git a/c_emulator/rv_cfg_func.h b/c_emulator/rv_cfg_func.h new file mode 100644 index 000000000..036bd76a0 --- /dev/null +++ b/c_emulator/rv_cfg_func.h @@ -0,0 +1,85 @@ +// vim: set tabstop=4 shiftwidth=4 expandtab +// ============================================================================ +// Filename: rv_cfg_func.h +// +// Description: Functions prototype support for rv_cfg +// +// Author(s): Bill McSpadden (bill@riscv.org) +// +// Revision: See git log +// ============================================================================ + +#pragma once + +#include "sail.h" +#include +#include +#include "riscv_platform_impl.h" + +//This macro must be defined before including pcre2.h. For a program that uses +//only one code unit width, it makes it possible to use generic function names +//such as pcre2_compile(). +#define PCRE2_CODE_UNIT_WIDTH 8 +#include + +// ================================================== +// typedefs and structs + +// Keep these in monotonically increasing linear order +// as they are used as indices into an array where the +// index is the enum. +typedef enum + { + RV_CFG_ISA = 0, + RV_CFG_PLATFORM = 1, + RV_CFG_DEBUG = 2, + RV_CFG_LAST = 3 + } rv_cfg_e; + +typedef struct rv_cfg_enum2string_tt + { + rv_cfg_e e; + char * s; + } rv_cfg_enum2string_t; + +typedef struct rv_cfg_enum2doc_tt + { + rv_cfg_e e; + struct fy_document * fyd; + char * filename; + } rv_cfg_enum2doc_t; + +// ================================================== +// Function prototypes just for the C side of things. +// The items in this section should only be used on +// the C side of the simulator. + +int rv_cfg_c_init(void); +char * rv_cfg_c_get_string(rv_cfg_e e); +rv_cfg_e rv_cfg_c_get_enum(char * s); +int rv_cfg_c_build_from_file(rv_cfg_e rv_cfg_type, char * filename ); +unsigned int rv_cfg_c_int(char *); +char * rv_cfg_c_string(char *); +bool rv_cfg_c_bool(char *); +int rv_cfg_c_configure(void); +void rv_cfg_c_dump_yaml(char *); +int rv_cfg_c_ext_enable(char * isa_str, char * ext_pattern); +bool rv_cfg_c_bool(char * key_str); +bool rv_cfg_c_path_exists(char * path); + + + +// ================================================== +// Function prototypes for the Sail interface + +// It doesn't appear that Sail does anything with the +// function's return value. "return values" are done +// by passing a pointer to a return value struct, which +// is the first element in the function's argument list. + +int rv_cfg_s_int(sail_int *, char *); +int rv_cfg_s_string(sail_string , char *); +bool rv_cfg_s_bool(sail_string , char *); +unit rv_cfg_s_dump_yaml(char *); + +//#endif diff --git a/cookbook/doc/Makefile b/cookbook/doc/Makefile new file mode 100644 index 000000000..6ea49d8fd --- /dev/null +++ b/cookbook/doc/Makefile @@ -0,0 +1,80 @@ +# vim: set tabstop=4 shiftwidth=4 noexpandtab +# ================================================================ +# Filename: Makefile +# +# Description: Makefile for building a complete RISC-V Sail cookbook +# +# asciidoctor-reducer needs to be installed +# +# Because github does not handle 'include' directives, +# we use asciidoctor-reducer to pull in the various +# include files into one adoc file which can be +# rendered by github. +# +# NOTE: Some git trickery is needed in order to ensure that +# the complete file has been compiled to the latest +# level and then committed. See the .git/hooks/pre-commit +# and .git/hooks/post-commit so see how this is done. +# +# Author(s): Bill McSpadden (bill@riscv.org) +# +# Revision: See git logs +# +# ================================================================ + +#============== +# Includes +#============== + + +#============== +# Make variables +#============== + +FINAL_ADOC_TARGET := TheRISCVSailCookbook_Complete.adoc +TOP_ADOC_FILE := TheRISCVSailCookbook_Main.adoc +FINAL_PDF_TARGET := TheRISCVSailCookbook_Complete.pdf + +ALL_DEPENDENCIES := +CODE_SNIPPETS_DIR := ../functional_code_examples +ALL_DEPENDENCIES += + +# hello_world example +#HELLO_WORLD_DIR := ${CODE_SNIPPETS_DIR}/hello_world +#HELLO_WORLD_FILES := ${HELLO_WORLD_DIR}/hello_world.sail ${HELLO_WORLD_DIR}/Makefile + +ALL_DEPENDENCIES += ${HELLO_WORLD_FILES} + + +TMP_ADOC := ./tmp.adoc + +#============== +# Targets and rules +#============== +all : ${FINAL_ADOC_TARGET} ${FINAL_PDF_TARGET} + +echo_final_adoc_target : + echo ${FINAL_ADOC_TARGET} ; + + +${FINAL_ADOC_TARGET} : ${TOP_ADOC_FILE} ${ALL_DEPENDENCIES} + asciidoctor-reducer $< -o $@ ; + rm -f ${TMP_ADOC} ; + echo "// =========================================================================" >> ${TMP_ADOC} ; + echo "// DO NOT EDIT. AUTOGENERATED FILE. You probably want to edit $<" >> ${TMP_ADOC} ; + echo "// =========================================================================" >> ${TMP_ADOC} ; + mv $@ $@.tmp ; + cat ${TMP_ADOC} $@.tmp > $@ ; + rm -f $@.tmp ${TMP_ADOC} ; + +${FINAL_PDF_TARGET} : ${FINAL_ADOC_TARGET} + asciidoctor-pdf $< + + +.PHONY: clean +clean: + rm -f ${FINAL_ADOC_TARGET} ${FINAL_PDF_TARGET} ${TMP_ADOC} + + + + diff --git a/cookbook/doc/RISCV_model_FAQ.adoc b/cookbook/doc/RISCV_model_FAQ.adoc new file mode 100644 index 000000000..051816aab --- /dev/null +++ b/cookbook/doc/RISCV_model_FAQ.adoc @@ -0,0 +1,95 @@ +=== Frequently Asked Questions about the Sail RISC-V Golden Model + +<> + +<> + +<> + +<> + +<> + +<> + +<> + +<> + +<> + + +[#q_is_there_support_for_multi_hart_multi_core_simulation] +==== Q: Is there support for multi-HART or multi-Core simulation? + +A: There is no inherent support for multi-HART or multi-Core within the existing RISC-V Sail model. +There are future plans for adding this kind of simulation. It is needed in order to simulate +(in a meaningful way) the atomic memory operations and to evaluate memory consistency +and coherency. + +// ( The following is from email between Bill McSpadden and Martin Berger ) +// ( Subject: RISC-V Sail model questions, round 1: Multi-core, MTIMER, MMIO, main loop) +// ( Date: Feb 15, 2022, 7:20AM) + +The model isn't directly about testing. Testing is a separate +activity. The point of the model is to be as clear as possible. and we +should keep testing and the model separate. + +// ( The following is from email between Bill McSpadden and Martin Berger ) +// ( Subject: RISC-V Sail model questions, round 1: Multi-core, MTIMER, MMIO, main loop) +// ( Date: Feb 15, 2022, 7:20AM) + +[#q_what_are_ml_files__what_are_their_purpose] +==== Q: What are .ml files? What are their purpose? + +A: These are OCaml files. They are to the ocaml emulator what the .c +files are to the c emulator. I question the need for an OCaml emulator +,see also https://github.com/riscv/sail-riscv/issues/138 + +[#q__is_there_any_support_for_MTIMER] +==== Q: Is there any support for MTIMER? + +A: Yes. MTIMER functionality lives in riscv_platform.sail. At this date (2022-05-27) it lives +at a fixed MMIO space as specified by the MCONFIG CSR. In the future, once the Golden Model supports +the RISCV_config YAML structure, the MTIMER can be assigned any address. + +[#q__is_the__main_loop__coded_in_Sail] +==== Q: Is the "main loop" coded in Sail? + +A: The initial answer to this question ("The main execution loop can be found in `main.sail``.") +is incorrect. main.sail is not executed in the RISC-V model, even though it is +compiled into the model. + +The main loop is actually found on the C side in the file `c_emulator/riscv_sim.c` +in the function `run_sail()``. In this function, the Sail function, `zstep()`, is +called (which is the Sail function, `step()` ) + +[#q-can-gdb-attach-to-the-riscv-golden-model-to-debug-riscv-code] +==== Q: Can gdb attach to the RISCV Golden Model to debug RISCV code? + +A: Not at this time (2022-05-27). It is being looked at as an enhancement. + +[#q__why_two_executables] +==== Q: There are two C executables built: riscv_sim_RV32 and riscv_sim_RV64. Is there a reason why we need two executables? Can't XLEN be treated as a run-time setting rather than a compile time setting? + +A: (Response from Martin Berger) I think this would require a redesign of the Sail code because of the way Sail's liquid types work. Currently xlen is a global type constant, that is used, directly or indirectly, everywhere. As a type-constant it is used during type checking. The typing system might (note the subjunctive) be flexible enough to turn this into a type-parameter, but probably not without major code surgery. I think we should ask the Cambridge team why they decided on the current approach. + +[#q___is_there_support_in_the_model_for_misaligned_memory_accesses] +==== Q: Is there support in the model for misaligned memory accesses? + +A: (Response from Martin Berger) Short answer: I don't know. Alignment stuff is distributed all over the code base. riscv_platform.sail has some configuration options for this. Maybe that's a place to start looking? + + +// ( The following is some sample questions based on HGttG,Hitchhikers Guide to the Galax) + +[#q-what-is-the-meaning-of-life-the-universe-and-everything] +==== Q: What is the meaning of life, the universe and everything? + +A: 42 + +[#q-what-does-the-answer-to-what-is-the-meaning-of-life-the-universe-and-everything-mean] +==== Q: What does the answer to "What is the meaning of life, the universe and everything" mean? + +A: One must construct an experimental, organic computer to compute the meaning. +Project 'Earth' is one such computer. Timeframe for an expected answer is... soon. + diff --git a/cookbook/doc/TheRISCVSailCookbook_Complete.adoc b/cookbook/doc/TheRISCVSailCookbook_Complete.adoc new file mode 100644 index 000000000..b2109b558 --- /dev/null +++ b/cookbook/doc/TheRISCVSailCookbook_Complete.adoc @@ -0,0 +1,202 @@ +// ========================================================================= +// DO NOT EDIT. AUTOGENERATED FILE. You probably want to edit TheRISCVSailCookbook_Main.adoc +// ========================================================================= +:doctype: book +:sectids: +The RISCV Sail Golden Model: A Cookbook for the RISCV ISA +============================================== +William C. McSpadden ; Martin Berger +:toc: +:toc-placement: preamble +:toclevels: 2 + +:showtitle: + +// Need some preamble to get TOC +{empty} + + +[#list_of_programming_examples] +== List of programming examples (in increasing complexity) + +The main purpose of this document, is to give the user a set +of programming examples for working on the RISC-V Sail model +(often referred to as the RISC-V Golden Model). The examples +will show the user how to change or extend the model. And it +will also show the user how to write a RISC-V program (in both +assembler and C) and then run it on the Golden Model. + +You should read and utilize this document after you have a good +handle on the Sail programming language. + +<> + + +:sectnums: +== Introduction + + + +== How to contribute (Bill) + + +=== Coding and indentation style + + +=== Brevity + +Program examples should be short, both in terms of number-of-lines and in terms of execution time. +Each example should focus on one simple item. And the execution of the example item should be clear. +The example should be short, standalone and easy to maintain. + + +=== Maintainership (when something breaks) + +We would also ask that if you contribute a code example, that you would maintain it. + +== Sail installation + +TBD + +=== Ubuntu (Bill Mc.) + +TBD + +=== MacOS (Martin) + +TBD + +=== Docker + +Docker is used as a .... + +=== Windows + + +=== Windows: Cygwin (Bill Mc., low priority) + + +=== Other? + + +== Basic description +=== What Sail is +Sail is a programming language that is targetted for + specifying an ISA. Once specified, a set of +instructions (usually found in a .elf file) can then +be executed on the "model" and the results observed. + +The model is a sequential model only; at this time, +there are no semantics allowing for any type of parallel +execution. + +=== What sail is not +Sail is not an RTL (Register Transfer Language). +There is no direct support for timing (as in clock +timing) and there is no support for parallel execution, +all things that an RTL contains. + +=== version management and what to expect +TBD + +[#platform-configuration] +== Platform Configuration example (Bill) + +== FAQs (Frequently Asked Questions) + +Following are a set of FAQs that were generated via set of questions to the Sail developers. + +=== Frequently Asked Questions about the Sail RISC-V Golden Model + +<> + +<> + +<> + +<> + +<> + +<> + +<> + +<> + +<> + + +[#q_is_there_support_for_multi_hart_multi_core_simulation] +==== Q: Is there support for multi-HART or multi-Core simulation? + +A: There is no inherent support for multi-HART or multi-Core within the existing RISC-V Sail model. +There are future plans for adding this kind of simulation. It is needed in order to simulate +(in a meaningful way) the atomic memory operations and to evaluate memory consistency +and coherency. + +// ( The following is from email between Bill McSpadden and Martin Berger ) +// ( Subject: RISC-V Sail model questions, round 1: Multi-core, MTIMER, MMIO, main loop) +// ( Date: Feb 15, 2022, 7:20AM) + +The model isn't directly about testing. Testing is a separate +activity. The point of the model is to be as clear as possible. and we +should keep testing and the model separate. + +// ( The following is from email between Bill McSpadden and Martin Berger ) +// ( Subject: RISC-V Sail model questions, round 1: Multi-core, MTIMER, MMIO, main loop) +// ( Date: Feb 15, 2022, 7:20AM) + +[#q_what_are_ml_files__what_are_their_purpose] +==== Q: What are .ml files? What are their purpose? + +A: These are OCaml files. They are to the ocaml emulator what the .c +files are to the c emulator. I question the need for an OCaml emulator +,see also https://github.com/riscv/sail-riscv/issues/138 + +[#q__is_there_any_support_for_MTIMER] +==== Q: Is there any support for MTIMER? + +A: Yes. MTIMER functionality lives in riscv_platform.sail. At this date (2022-05-27) it lives +at a fixed MMIO space as specified by the MCONFIG CSR. In the future, once the Golden Model supports +the RISCV_config YAML structure, the MTIMER can be assigned any address. + +[#q__is_the__main_loop__coded_in_Sail] +==== Q: Is the "main loop" coded in Sail? + +A: The initial answer to this question ("The main execution loop can be found in `main.sail``.") +is incorrect. main.sail is not executed in the RISC-V model, even though it is +compiled into the model. + +The main loop is actually found on the C side in the file `c_emulator/riscv_sim.c` +in the function `run_sail()``. In this function, the Sail function, `zstep()`, is +called (which is the Sail function, `step()` ) + +[#q-can-gdb-attach-to-the-riscv-golden-model-to-debug-riscv-code] +==== Q: Can gdb attach to the RISCV Golden Model to debug RISCV code? + +A: Not at this time (2022-05-27). It is being looked at as an enhancement. + +[#q__why_two_executables] +==== Q: There are two C executables built: riscv_sim_RV32 and riscv_sim_RV64. Is there a reason why we need two executables? Can't XLEN be treated as a run-time setting rather than a compile time setting? + +A: (Response from Martin Berger) I think this would require a redesign of the Sail code because of the way Sail's liquid types work. Currently xlen is a global type constant, that is used, directly or indirectly, everywhere. As a type-constant it is used during type checking. The typing system might (note the subjunctive) be flexible enough to turn this into a type-parameter, but probably not without major code surgery. I think we should ask the Cambridge team why they decided on the current approach. + +[#q___is_there_support_in_the_model_for_misaligned_memory_accesses] +==== Q: Is there support in the model for misaligned memory accesses? + +A: (Response from Martin Berger) Short answer: I don't know. Alignment stuff is distributed all over the code base. riscv_platform.sail has some configuration options for this. Maybe that's a place to start looking? + + +// ( The following is some sample questions based on HGttG,Hitchhikers Guide to the Galax) + +[#q-what-is-the-meaning-of-life-the-universe-and-everything] +==== Q: What is the meaning of life, the universe and everything? + +A: 42 + +[#q-what-does-the-answer-to-what-is-the-meaning-of-life-the-universe-and-everything-mean] +==== Q: What does the answer to "What is the meaning of life, the universe and everything" mean? + +A: One must construct an experimental, organic computer to compute the meaning. +Project 'Earth' is one such computer. Timeframe for an expected answer is... soon. diff --git a/cookbook/doc/TheRISCVSailCookbook_Complete.pdf b/cookbook/doc/TheRISCVSailCookbook_Complete.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bd1257e4b3d50f3767b49989bd6ee807766b8a0e GIT binary patch literal 63137 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 NkZ5}Phw|cB{{x=HVvhg- literal 0 HcmV?d00001 diff --git a/cookbook/doc/TheRISCVSailCookbook_Main.adoc b/cookbook/doc/TheRISCVSailCookbook_Main.adoc new file mode 100644 index 000000000..5a9890679 --- /dev/null +++ b/cookbook/doc/TheRISCVSailCookbook_Main.adoc @@ -0,0 +1,109 @@ +:doctype: book +:sectids: +The RISCV Sail Golden Model: A Cookbook for the RISCV ISA +============================================== +William C. McSpadden ; Martin Berger + +:toc: +:toc-placement: preamble +:toclevels: 2 + +:showtitle: + +// Need some preamble to get TOC +{empty} + + +[#list_of_programming_examples] +== List of programming examples (in increasing complexity) + +The main purpose of this document, is to give the user a set +of programming examples for working on the RISC-V Sail model +(often referred to as the RISC-V Golden Model). The examples +will show the user how to change or extend the model. And it +will also show the user how to write a RISC-V program (in both +assembler and C) and then run it on the Golden Model. + +You should read and utilize this document after you have a good +handle on the Sail programming language. + +<> + + +:sectnums: +== Introduction + + + +== How to contribute (Bill) + + +=== Coding and indentation style + + +=== Brevity + +Program examples should be short, both in terms of number-of-lines and in terms of execution time. +Each example should focus on one simple item. And the execution of the example item should be clear. +The example should be short, standalone and easy to maintain. + + +=== Maintainership (when something breaks) + +We would also ask that if you contribute a code example, that you would maintain it. + +== Sail installation + +TBD + +=== Ubuntu (Bill Mc.) + +TBD + +=== MacOS (Martin) + +TBD + +=== Docker + +Docker is used as a .... + +=== Windows + + +=== Windows: Cygwin (Bill Mc., low priority) + + +=== Other? + + +== Basic description +=== What Sail is +Sail is a programming language that is targetted for + specifying an ISA. Once specified, a set of +instructions (usually found in a .elf file) can then +be executed on the "model" and the results observed. + +The model is a sequential model only; at this time, +there are no semantics allowing for any type of parallel +execution. + +=== What sail is not +Sail is not an RTL (Register Transfer Language). +There is no direct support for timing (as in clock +timing) and there is no support for parallel execution, +all things that an RTL contains. + +=== version management and what to expect +TBD + +[#platform-configuration] +== Platform Configuration example (Bill) + +== FAQs (Frequently Asked Questions) + +Following are a set of FAQs that were generated via set of questions to the Sail developers. + +include::./RISCV_model_FAQ.adoc[] + + diff --git a/cookbook/functional_code_examples/br_j_asm/CMakeLists.txt b/cookbook/functional_code_examples/br_j_asm/CMakeLists.txt new file mode 100644 index 000000000..8ad406982 --- /dev/null +++ b/cookbook/functional_code_examples/br_j_asm/CMakeLists.txt @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: BSD-2-Clause +# SPDX-FileCopyrightText: Copyright 2019-2021 Siemens. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +cmake_minimum_required(VERSION 3.10 FATAL_ERROR) + +find_program(CMAKE_ASM_COMPILER riscv64-unknown-elf-gcc HINTS /opt/riscv/bin) +set(CMAKE_ASM_LINK_EXECUTABLE " -o ") + +project(br_j_asm ASM) + +add_executable(br_j_asm.riscv test.S) + +set(CONFIG_BASE 0x20010000) +set(CMAKE_ASM_FLAGS -DCONFIG_BASE=${CONFIG_BASE}) +# If using cmake > 3.13 you could use +#add_link_options(-T ${CMAKE_SOURCE_DIR}/riscv_test.ld.spike) +# instead of setting LINK_FLAGS +set_property(TARGET br_j_asm.riscv APPEND_STRING PROPERTY LINK_FLAGS " -T ${CMAKE_SOURCE_DIR}/riscv_test.ld.spike") diff --git a/cookbook/functional_code_examples/br_j_asm/LICENSE b/cookbook/functional_code_examples/br_j_asm/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/cookbook/functional_code_examples/br_j_asm/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/cookbook/functional_code_examples/br_j_asm/Makefile b/cookbook/functional_code_examples/br_j_asm/Makefile new file mode 100644 index 000000000..124b4a8c7 --- /dev/null +++ b/cookbook/functional_code_examples/br_j_asm/Makefile @@ -0,0 +1,154 @@ +# vim: tabstop=4 shiftwidth=4 noexpandtab +# -------------------------------------------------------------------------------------------- +# @file Makefile +# +# LICENSE: +# +# Copyright 2021 Seagate Technology LLC and/or its Affiliates +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +# +# @brief Makefile for building a sample test for stimulating a RISC-V trace encoder +# +# +# History: See git log +# +# @author Bill McSpadden (bill.mcspadden@seagate.com) +# -------------------------------------------------------------------------------------------- + + +# -------------------------------------------------------------------------------------------- +# USER MUST SET THESE TO A PROPER SETTING + +#XLEN := 64 +#TOOL_OPT := elf +XLEN := 32 +TOOL_OPT := linux-gnu +#RISCV := /apps/vlsi/tools/riscv/gnu_toolchain/102020/standard/riscv64-unknown-elf +#RISCV := /opt/riscv +RISCV := /opt/riscv${XLEN} +#CONFIG_BASE := 0x70080 +CONFIG_BASE := 0x80000000 +MARCH := -march=rv32imc -mabi=ilp32 +LD_FILE := ./riscv_test.ld +#RUN_TOOL := /home/billmc/riscv/sail-riscv.git/c_emulator/riscv_sim_RV32 +GIT_ROOT_DIR := /home/billmc/riscv/sail-riscv_br_billmcspadden-riscv.git +RUN_TOOL := ${GIT_ROOT_DIR}/c_emulator/riscv_sim_RV32 + +# USER MUST SET THESE TO A PROPER SETTING +# -------------------------------------------------------------------------------------------- +# +# + +ifndef RISCV +$(error The make variable, RISCV, must be set. It is the path to the compiler tool chain) +endif + +ifndef CONFIG_BASE +$(error The make variable, CONFIG_BASE, is not defined. It is needed for the test variable, also named CONFIG_BASE) +endif + +ifndef MARCH +$(error The make variable, MARCH, must be set.) +endif + +ifndef RUN_TOOL +$(error The make variable, RUN_TOOL, must be set.) +endif + + +BIN := ${RISCV}/bin + +CC := ${BIN}/riscv${XLEN}-unknown-${TOOL_OPT}-gcc +ASM := ${BIN}/riscv${XLEN}-unknown-${TOOL_OPT}-gcc +LD := ${BIN}/riscv${XLEN}-unknown-${TOOL_OPT}-ld +#LD := ${BIN}/riscv${XLEN}-unknown-${TOOL_OPT}-gcc +OBJDUMP := ${BIN}/riscv${XLEN}-unknown-${TOOL_OPT}-objdump + +TARGET := test.elf +DUMP := $(subst .elf,.dump,${TARGET}) + +ASM_SRC := $(wildcard *.S *.s) +ASM_OBJS := $(subst .S,.o,${ASM_SRC}) +ASM_FLAGS := -DCONFIG_BASE=${CONFIG_BASE} ${MARCH} +OBJDUMPFLAGS = -t -Dz + +C_SRC := $(wildcard *.c) +C_OBJS := $(subst .c,.o,${C_SRC}) +C_FLAGS := -DCONFIG_BASE=${CONFIG_BASE} ${MARCH} + +#LD_FLAGS := -T ${LD_FILE} ${MARCH} +LD_FLAGS := -T ${LD_FILE} + +OBJS := ${ASM_OBJS} ${C_OBJS} + +OUT_FILE := ./sim.out + +$(info =================================================================) +$(info Make variable settings....) +$(info RISCV: ${RISCV}) +$(info ASM_SRC: ${ASM_SRC}) +$(info ASM_FLAGS: ${ASM_FLAGS}) +$(info ASM_OBJS: ${ASM_OBJS}) +$(info C_SRC: ${C_SRC}) +$(info C_FLAGS: ${C_FLAGS}) +$(info C_OBJS: ${C_OBJS}) +$(info OBJS: ${OBJS}) +$(info LD_FLAGS: ${LD_FLAGS}) +$(info TARGET: ${TARGET}) +$(info DUMP: ${DUMP}) +$(info =================================================================) + + +all: ${TARGET} ${DUMP} + + + + +${TARGET} : ${OBJS} ${LD_FILE} + ${LD} ${LD_FLAGS} -o $@ ${OBJS} + +${DUMP} : ${TARGET} + ${OBJDUMP} ${OBJDUMPFLAGS} ${TARGET} > $@ + + +%.o : %.S + ${ASM} -c ${ASM_FLAGS} -o $@ $< + +%.o : %.c + ${CC} -c ${C_FLAGS} -o $@ $< + + + +build: ${TARGET} ${DUMP} + +dump: ${DUMP} + +install: + +clean: + rm -f ${OBJS} ${TARGET} ${DUMP} ${OUT_FILE} + + +run: ${TARGET} + ${RUN_TOOL} ${TARGET} 2>&1 | tee ${OUT_FILE} + +clean_all: clean + + + + + + diff --git a/cookbook/functional_code_examples/br_j_asm/riscv_test.ld b/cookbook/functional_code_examples/br_j_asm/riscv_test.ld new file mode 100644 index 000000000..55aa2f541 --- /dev/null +++ b/cookbook/functional_code_examples/br_j_asm/riscv_test.ld @@ -0,0 +1,76 @@ +OUTPUT_ARCH( "riscv" ) +ENTRY(_start) + +/******************************************************************************************* +/// LICENSE: +/// +/// Copyright 2021 Seagate Technology LLC and/or its Affiliates +/// +/// Licensed under the Apache License, Version 2.0 (the "License"); +/// you may not use this file except in compliance with the License. +/// You may obtain a copy of the License at +/// +/// http://www.apache.org/licenses/LICENSE-2.0 +/// +/// Unless required by applicable law or agreed to in writing, software +/// distributed under the License is distributed on an "AS IS" BASIS, +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +/// See the License for the specific language governing permissions and +/// limitations under the License. +********************************************************************************************/ + +/*----------------------------------------------------------------------*/ +/* Sections */ +/*----------------------------------------------------------------------*/ + +SECTIONS +{ + + /* text: test code section */ +/*. = 0x00000040; */ +/*. = 0x00001000; */ + . = 0x80000000; + .text.init : { *(.text.init) } + + .text : { *(.text) } + + /* data segment */ +/*. = 0x00080000; */ + .tohost ALIGN(0x1000) : { *(.tohost) } + .data : { *(.data) } + .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } + .sdata : { + __global_pointer$ = . + 0x800; + *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata*) + *(.sdata .sdata.* .gnu.linkonce.s.*) + } + + /* bss segment */ + .sbss : { + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } + .bss : { *(.bss) } + + /* thread-local data segment */ + .tdata : + { + _tls_data = .; + *(.tdata.begin) + *(.tdata) + *(.tdata.end) + } + .tbss : + { + *(.tbss) + *(.tbss.end) + } + + __malloc_start = .; + . = . + 32768; + + /* End of uninitalized data segement */ + _end = .; + +} + diff --git a/cookbook/functional_code_examples/br_j_asm/riscv_test.ld.spike b/cookbook/functional_code_examples/br_j_asm/riscv_test.ld.spike new file mode 100644 index 000000000..ece1aefe0 --- /dev/null +++ b/cookbook/functional_code_examples/br_j_asm/riscv_test.ld.spike @@ -0,0 +1,73 @@ +OUTPUT_ARCH( "riscv" ) +ENTRY(_start) + +/******************************************************************************************* +/// LICENSE: +/// +/// Copyright 2021 Seagate Technology LLC and/or its Affiliates +/// +/// Licensed under the Apache License, Version 2.0 (the "License"); +/// you may not use this file except in compliance with the License. +/// You may obtain a copy of the License at +/// +/// http://www.apache.org/licenses/LICENSE-2.0 +/// +/// Unless required by applicable law or agreed to in writing, software +/// distributed under the License is distributed on an "AS IS" BASIS, +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +/// See the License for the specific language governing permissions and +/// limitations under the License. +********************************************************************************************/ + +/*----------------------------------------------------------------------*/ +/* Sections */ +/*----------------------------------------------------------------------*/ + +SECTIONS +{ + + /* text: test code section */ + . = 0x80000040; + .text.init : { *(.text.init) } + + .text : { *(.text) } + + /* data segment */ + . = 0x80080000; + .tohost ALIGN(0x1000) : { *(.tohost) } + .data : { *(.data) } + .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } + .sdata : { + __global_pointer$ = . + 0x800; + *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata*) + *(.sdata .sdata.* .gnu.linkonce.s.*) + } + + /* bss segment */ + .sbss : { + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } + .bss : { *(.bss) } + + /* thread-local data segment */ + .tdata : + { + _tls_data = .; + *(.tdata.begin) + *(.tdata) + *(.tdata.end) + } + .tbss : + { + *(.tbss) + *(.tbss.end) + } + + __malloc_start = .; + . = . + 32768; + + /* End of uninitalized data segement */ + _end = .; + +} diff --git a/cookbook/functional_code_examples/br_j_asm/test.S b/cookbook/functional_code_examples/br_j_asm/test.S new file mode 100644 index 000000000..a41ae51bd --- /dev/null +++ b/cookbook/functional_code_examples/br_j_asm/test.S @@ -0,0 +1,482 @@ +// vim: tabstop=2 shiftwidth=2 expandtab +// -------------------------------------------------------------------------------------------- +/// @file test.S +/// +/// LICENSE: +/// +/// Copyright 2021 Seagate Technology LLC and/or its Affiliates +/// +/// Licensed under the Apache License, Version 2.0 (the "License"); +/// you may not use this file except in compliance with the License. +/// You may obtain a copy of the License at +/// +/// http://www.apache.org/licenses/LICENSE-2.0 +/// +/// Unless required by applicable law or agreed to in writing, software +/// distributed under the License is distributed on an "AS IS" BASIS, +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +/// See the License for the specific language governing permissions and +/// limitations under the License. +/// +/// +/// +/// +/// @brief RISC-V asm code for testing code discontinuities with a RISC-V Trace encoder/decoder +/// +/// This is a *simple-and-short* test for providing stimulus to the Trace Encoder Module. +/// Do we get the expected trace messages and can we create the instruction +/// trace from these messages? +/// +/// This test executes roughly 250 instructions. It should generate most of +/// the basic trace messages. It does NOT test the te_support and message_lost +/// messages. +/// +/// The test generates a timer interrupt and a bad-opcode exception to check +/// for proper te_inst format 3 message behaviour. The interrupt handler +/// uses an mret to return. The bad-opcode exception handler does NOT perform +/// an 'mret'; instead it does a jump. +/// +/// Assembly language tests are notoriously difficult to read. This test is +/// worse than usual because I'm interested in testing forward and backward +/// branches and jumps. So, target destinations are placed not for readability, +/// but to test certain aspects of the trace messages. Sorry. +/// +/// No stack is set up for use. +/// +/// Threads are not used, supported or tested. +/// +/// Privilege levels are not changed. Everything is run in machine mode. +/// +/// With the exception of x0 (hardwired zero) and x1 (return address), all +/// registers are treated the same. The programmer is responsible for +/// consistent use of the registers. +/// +/// The convention for this test is to use the 'xN' nomenclature for register +/// names. This is to emphasize the fact that register usage is not +/// defined or enforced. +/// +/// This test utilizes the Berkeley tohost / fromhost convention. The convention +/// uses a pre-defined location in memory (label: 'tohost') to report +/// the success or failure of the test. If M[tohost] == 1, the test passed. +/// If M[tohost] == 1337 (0x539), then the test failed. +/// +/// One more important note: the initialization of Trace module is beyond the +/// scope of this test. The user must properly configure the +/// Trace module in order to get trace messages. +/// +/// +/// +/// @author Bill McSpadden (Seagate Technology) +// -------------------------------------------------------------------------------------------- + +#ifndef CONFIG_BASE +#error The C pre-processor variable, CONFIG_BASE, must be set. +#endif + + +// -------------------------------------------------------- +// Memory-mapped machine timer registers and other support +// for generating a timer interrupt + +//#define MMR_MTIMEL (CONFIG_BASE + 0x0000) +//#define MMR_MTIMEH (CONFIG_BASE + 0x0004) +//#define MMR_MTIMECMPL (CONFIG_BASE + 0x0008) +//#define MMR_MTIMECMPH (CONFIG_BASE + 0x000C) + +#define MMR_MTIMEL (CONFIG_BASE + 0xbff8) +#define MMR_MTIMEH (CONFIG_BASE + 0xbffc) +#define MMR_MTIMECMPL (CONFIG_BASE + 0x4000) +#define MMR_MTIMECMPH (CONFIG_BASE + 0x4004) + +#define TIMER_COUNT (100) +#define WATCHDOG_COUNT (100000) + +#define MSTATUS_MIE 0x00000008 +#define MSTATUS_FS 0x00006000 +#define MSTATUS_XS 0x00018000 + +#define MIE_MTIE 0x80 + + +// -------------------------------------------------------- +// mcause bit definitions + +#define MCAUSE_SUPERVISOR_SOFTWARE_INTERRUPT (0x1 << (__riscv_xlen - 1) + 1) +#define MCAUSE_MACHINE_TIMER_INTERRUPT (0x1 << (__riscv_xlen - 1) + 7) +#define MCAUSE_ILLEGAL_INSTRUCTION (0x0 << (__riscv_xlen - 1) + 2) + +// -------------------------------------------------------- +// Support for tohost/fromhost + +#define PASS_CODE 1 +#define FAIL_CODE 1337 + + +// -------------------------------------------------------- +// Other test support definitions... + +#define BR_LOOP_COUNT 10 // For testing a simple br loop + + +// -------------------------------------------------------- +// Support for 32/64 bit compilation. + +#if __riscv_xlen == 64 +# define LREG ld +# define SREG sd +# define REGBYTES 8 +#else +# define LREG lw +# define SREG sw +# define REGBYTES 4 +#endif + + + +// -------------------------------------------------------- +// Following power-on reset, we start executing at _start. +// We jump to "reset_vector" +// + .section ".text.init" + .globl _start +_start: + la x5, reset_vector + jr x5 +// -------------------------------------------------------- + + +// -------------------------------------------------------- +// This block of code is placed (by placement in the code +// stream, not via the linker/loader) at a low address so +// that we can test a backwards jump (ie - a jump that will +// yield a negative offset). + .section ".text" +j_target_0: + nop + nop + la x5, j_target_2 + jalr x5 +// -------------------------------------------------------- + + +// -------------------------------------------------------- +// Initialization of the processor, starting with the +// register file. +reset_vector: + li x1, 0 + li x2, 0 + li x3, 0 + li x4, 0 + li x5, 0 + li x6, 0 + li x7, 0 + li x8, 0 + li x9, 0 + li x10, 0 + li x11, 0 + li x12, 0 + li x13, 0 + li x14, 0 + li x15, 0 + li x16, 0 + li x17, 0 + li x18, 0 + li x19, 0 + li x20, 0 + li x21, 0 + li x22, 0 + li x23, 0 + li x24, 0 + li x25, 0 + li x26, 0 + li x27, 0 + li x28, 0 + li x29, 0 + li x30, 0 + li x31, 0 + +// -------------------------------------------------------- +// PMP configuration + + # configure pmp to enable all accesses + li t0, 0x1f + csrw pmpcfg0, t0 + li t0, 0xffffffff + csrw pmpaddr0, t0 + +// -------------------------------------------------------- +// initialize machine trap vector + la x5, machine_trap_entry + csrw mtvec, x5 + +// -------------------------------------------------------- +// Initialization complete. Now for a series of branches and jumps. + +br_target_0: + nop + nop + li x5, 0 + beqz x5, br_target_1a // This is a forward branch + nop + nop + +br_target_1a: + li x5, BR_LOOP_COUNT + li x6, 1 +br_target_1: + nop + nop + sub x5, x5, x6 + bnez x5, br_target_1 // This is a backward branch + nop + nop + +// -------------------------------------------------------- +// Simple branches have been tested. Now let's do some simple +// tests of jumps. +br_target_2: + nop + nop + j j_target_1 // forwards jump; tests for positive offset + j j_target_end_fail // should never be taken + +j_target_1: + nop + nop + la x5, j_target_0 // backwards jump; tests for negative offset + jr x5 + j j_target_end_fail // should never be taken + +j_target_2: + nop + nop + la x5, timer_interrupt_test + jalr x5 + j j_target_end_fail // should never be taken + +j_exception_stimulus: + // Now, jump to a location that has an opcode of 0 + // This is an important test condition for RISC-V. The + // spec says that an except'd instruction is not retired. + // Yet, we really need to see the address of 'bad_opcode'. + // The trace spec handles this condition in that the address + // of the except'd instruction gets reported out in a message. + // Let's test it out.... + // + // Note that the excpetion handler for this case will *NOT* do an + // mret. It will jump to 'illegal_instruction_exception_return'. + + la x5, bad_opcode + jr x5 + j j_target_end_fail // should never be taken + +// -------------------------------------------------------- +// PASS: The end of the test, if successful +j_target_end_pass: + // exit code construction + li x10, PASS_CODE + la x13, tohost + sw x10, 0(x13) + la x5, j_target_end_pass + jalr x5 + j j_target_end_fail // should never be taken + +// -------------------------------------------------------- + +// -------------------------------------------------------- +// FAIL: The end of the test, if unsuccessful +j_target_end_fail: + // exit code construction + li x10, FAIL_CODE + la x13, tohost + sw x10, 0(x13) + la x5, j_target_end_fail + jalr x5 + +// -------------------------------------------------------- + +illegal_instruction_exception_return: + la x5, j_target_end_pass + jalr x5 + j j_target_end_fail // should never be taken + +// -------------------------------------------------------- +timer_interrupt_return: + la x5, j_exception_stimulus + jalr x5 + j j_target_end_fail // should never be taken + + +// -------------------------------------------------------- +// Now check to see if we can trace an interrupt. We'll use +// a timer to generate the interrupt. + +timer_interrupt_test: + addi x7, x0, TIMER_COUNT + + lui x8, MMR_MTIMECMPL >> 12 + sw x7, (MMR_MTIMECMPL & 0xfff)(x8) + + lui x8, MMR_MTIMECMPH >> 12 + sw x0, (MMR_MTIMECMPH & 0xfff)(x8) + + addi x7, x0, MIE_MTIE + csrs mie, x7 + + xor x8, x8, x8 // Clear the register + csrr x8, mstatus + + addi x7, x0, MSTATUS_MIE + csrs mstatus, x7 + + # Should get a timer interrupt sometime after setting mstatus.MIE + + li x6, WATCHDOG_COUNT // start count + li x4, 1 // decrement value + +timer_interrupt_long_loop: + + // Check to see if the timer interrupt handler wrote a memory + // location. + la x10, timer_interrupt_flag + lw x10, 0(x10) + li x11, 0x1 + beq x10, x11, timer_interrupt_return // this is the expected way to exit this loop. + // a timer interrupt is taken somewhere in the execution of this loop. + // the ISR for the timer will write the time interrupt flag to 1. + + sub x6, x6, x4 // decrement the loop count + csrr x8, mip // show mip in trace for debug + xor x8, x8, x8 + csrr x9, mstatus // show mstatus in trace for debug + xor x9, x9, x9 + bnez x6, timer_interrupt_long_loop // iterate again..... + + j j_target_end_fail // If we get here, timer_interrupt_flag was never written. + // this is probably due to the timer interrupt service routine + // never being called, which is probably because the interrupt + // never happened. failure + + +// -------------------------------------------------------- +// In support of vectored interrupt, although it's not +// being used in this test. + + .align 4 +machine_trap_entry: + j machine_trap_entry_0 + .align 2 + j machine_trap_entry_1 + .align 2 + j machine_trap_entry_2 + .align 2 + j machine_trap_entry_3 + .align 2 + j machine_trap_entry_4 + .align 2 + j machine_trap_entry_5 + .align 2 + j machine_trap_entry_6 + .align 2 + j machine_trap_entry_7 + .align 2 + j machine_trap_entry_8 + .align 2 + j machine_trap_entry_9 + .align 2 + j machine_trap_entry_10 + .align 2 + j machine_trap_entry_11 +// -------------------------------------------------------- + + +// -------------------------------------------------------- + .align 2 +machine_trap_entry_0: + csrr x7, mcause + li x6, MCAUSE_MACHINE_TIMER_INTERRUPT + bne x7, x6, not_a_timer_interrupt + li x6, 0x1 + la x7, timer_interrupt_flag + sw x6, 0(x7) + + // Turn off timer interrupt. No longer needed + addi x7, x0, MIE_MTIE + csrc mie, x7 + + // Clear interrupt + li x7, MSTATUS_MIE + csrc mstatus, x7 + + // and return + mret + +not_a_timer_interrupt: + // Do not try and correct the opcode, and do not + // do an mret. This should probably be the last + // part of this simple test. + csrr x7, mcause + li x6, MCAUSE_ILLEGAL_INSTRUCTION + beq x7, x6, illegal_instruction_exception_return + j j_target_end_fail +// -------------------------------------------------------- + +// -------------------------------------------------------- +// None of these machine traps should have been taken +// Jump to test failure +machine_trap_entry_1: +machine_trap_entry_2: +machine_trap_entry_3: +machine_trap_entry_4: +machine_trap_entry_5: +machine_trap_entry_6: +machine_trap_entry_7: +machine_trap_entry_8: +machine_trap_entry_9: +machine_trap_entry_10: +machine_trap_entry_11: + csrr x7, mcause // Do the read so that it appears in the log file for debug. + j j_target_end_fail +// -------------------------------------------------------- + + +// -------------------------------------------------------- +// Put a bad opcode (0x0000_0000) in memory as a bad opcode. +bad_opcode: + .word 0 + j j_target_end_fail // Should never get here. +// -------------------------------------------------------- + + + +// -------------------------------------------------------- +// Memory locations for specific usage. +.section ".tdata.begin" +.globl _tdata_begin +_tdata_begin: + +.section ".tdata.end" +.globl _tdata_end +_tdata_end: + +.section ".tbss.end" +.globl _tbss_end +_tbss_end: + +.section ".tohost","aw",@progbits +.align 6 +.globl tohost +tohost: .dword 0 + +.section ".fromhost","aw",@progbits +.align 6 +.globl fromhost +fromhost: .dword 0 + +.align 6 +.global timer_interrupt_flag +timer_interrupt_flag: .dword 0 + + + + diff --git a/cookbook/functional_code_examples/platform_configuration/Makefile b/cookbook/functional_code_examples/platform_configuration/Makefile new file mode 100644 index 000000000..0b078d964 --- /dev/null +++ b/cookbook/functional_code_examples/platform_configuration/Makefile @@ -0,0 +1,141 @@ +# vim: tabstop=4 shiftwidth=4 noexpandtab +# -------------------------------------------------------------------------------------------- +# @file Makefile +# +# LICENSE: +# +# Copyright 2021 Seagate Technology LLC and/or its Affiliates +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +# +# @brief Makefile for building a sample test for stimulating a RISC-V trace encoder +# +# +# History: See git log +# +# @author Bill McSpadden (bill.mcspadden@seagate.com) +# -------------------------------------------------------------------------------------------- + + +# -------------------------------------------------------------------------------------------- +# USER MUST SET THESE TO A PROPER SETTING + +XLEN := 32 +TOOL_OPT := linux-gnu +RISCV := /opt/riscv${XLEN} +CONFIG_BASE := 0x80000000 +MARCH := -march=rv32imc -mabi=ilp32 +LD_FILE := ./riscv_test.ld +RUN_TOOL := ../../../c_emulator/riscv_sim_RV32 + +# USER MUST SET THESE TO A PROPER SETTING +# -------------------------------------------------------------------------------------------- +# +# + +ifndef RISCV +$(error The make variable, RISCV, must be set. It is the path to the compiler tool chain) +endif + +ifndef CONFIG_BASE +$(error The make variable, CONFIG_BASE, is not defined. It is needed for the test variable, also named CONFIG_BASE) +endif + +ifndef MARCH +$(error The make variable, MARCH, must be set.) +endif + +ifndef RUN_TOOL +$(error The make variable, RUN_TOOL, must be set.) +endif + + +BIN := ${RISCV}/bin + +CC := ${BIN}/riscv${XLEN}-unknown-${TOOL_OPT}-gcc +ASM := ${BIN}/riscv${XLEN}-unknown-${TOOL_OPT}-gcc +LD := ${BIN}/riscv${XLEN}-unknown-${TOOL_OPT}-ld +OBJDUMP := ${BIN}/riscv${XLEN}-unknown-${TOOL_OPT}-objdump + +TARGET := test.elf +DUMP := $(subst .elf,.dump,${TARGET}) + +ASM_SRC := $(wildcard *.S *.s) +ASM_OBJS := $(subst .S,.o,${ASM_SRC}) +ASM_FLAGS := -DCONFIG_BASE=${CONFIG_BASE} ${MARCH} +OBJDUMPFLAGS = -t -Dz -Mnumeric + +C_SRC := $(wildcard *.c) +C_OBJS := $(subst .c,.o,${C_SRC}) +C_FLAGS := -DCONFIG_BASE=${CONFIG_BASE} ${MARCH} + +LD_FLAGS := -T ${LD_FILE} + +OBJS := ${ASM_OBJS} ${C_OBJS} + +OUT_FILE := ./sim.out + +$(info =================================================================) +$(info Make variable settings....) +$(info RISCV: ${RISCV}) +$(info ASM_SRC: ${ASM_SRC}) +$(info ASM_FLAGS: ${ASM_FLAGS}) +$(info ASM_OBJS: ${ASM_OBJS}) +$(info C_SRC: ${C_SRC}) +$(info C_FLAGS: ${C_FLAGS}) +$(info C_OBJS: ${C_OBJS}) +$(info OBJS: ${OBJS}) +$(info LD_FLAGS: ${LD_FLAGS}) +$(info TARGET: ${TARGET}) +$(info DUMP: ${DUMP}) +$(info =================================================================) + +all: ${TARGET} ${DUMP} + +${TARGET} : ${OBJS} ${LD_FILE} + ${LD} ${LD_FLAGS} -o $@ ${OBJS} + +${DUMP} : ${TARGET} + ${OBJDUMP} ${OBJDUMPFLAGS} ${TARGET} > $@ + +%.o : %.S + ${ASM} -c ${ASM_FLAGS} -o $@ $< + +%.o : %.c + ${CC} -c ${C_FLAGS} -o $@ $< + +build: ${TARGET} ${DUMP} + +dump: ${DUMP} + +install: + +clean: + rm -f ${OBJS} ${TARGET} ${DUMP} ${OUT_FILE} + +run: ${TARGET} + ${RUN_TOOL} ${TARGET} -y rv32i_platform.yaml -u rv32i_isa.yaml 2>&1 | tee ${OUT_FILE} + +ddd: ${TARGET} + echo "${TARGET} -y rv32i_platform.yaml -u rv32i_isa.yaml" ; + ddd ${RUN_TOOL} + +clean_all: clean + + + + + + diff --git a/cookbook/functional_code_examples/platform_configuration/riscv_test.ld b/cookbook/functional_code_examples/platform_configuration/riscv_test.ld new file mode 100644 index 000000000..d04f359da --- /dev/null +++ b/cookbook/functional_code_examples/platform_configuration/riscv_test.ld @@ -0,0 +1,84 @@ +OUTPUT_ARCH( "riscv" ) +ENTRY(_start) + +/******************************************************************************************* +/// LICENSE: +/// +/// Copyright 2021 Seagate Technology LLC and/or its Affiliates +/// +/// Licensed under the Apache License, Version 2.0 (the "License"); +/// you may not use this file except in compliance with the License. +/// You may obtain a copy of the License at +/// +/// http://www.apache.org/licenses/LICENSE-2.0 +/// +/// Unless required by applicable law or agreed to in writing, software +/// distributed under the License is distributed on an "AS IS" BASIS, +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +/// See the License for the specific language governing permissions and +/// limitations under the License. +********************************************************************************************/ + +/*----------------------------------------------------------------------*/ +/* Sections */ +/*----------------------------------------------------------------------*/ + +SECTIONS +{ + + /* text: test code section */ +/*. = 0x00000040; */ + . = 0x00001000; +/* + . = 0x80000000; +*/ + .rotext.init : { *(.rotext.init) } + + /* + making the symbol, reset_vector, a global, put the + reset vector at 0x80000000 + */ + . = 0x80000000; + .text.begin . : { *(.text.begin) } + + + /* data segment */ +/*. = 0x00080000; */ + .tohost ALIGN(0x1000) : { *(.tohost) } + .data : { *(.data) } + .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } + .sdata : { + __global_pointer$ = . + 0x800; + *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata*) + *(.sdata .sdata.* .gnu.linkonce.s.*) + } + + /* bss segment */ + .sbss : { + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } + .bss : { *(.bss) } + + /* thread-local data segment */ + .tdata : + { + _tls_data = .; + *(.tdata.begin) + *(.tdata) + *(.tdata.end) + } + .tbss : + { + *(.tbss) + *(.tbss.end) + } + + __malloc_start = .; + . = . + 32768; + + /* End of uninitalized data segement */ + _end = .; + +} + diff --git a/cookbook/functional_code_examples/platform_configuration/rv32i_isa.yaml b/cookbook/functional_code_examples/platform_configuration/rv32i_isa.yaml new file mode 100644 index 000000000..68f3c85da --- /dev/null +++ b/cookbook/functional_code_examples/platform_configuration/rv32i_isa.yaml @@ -0,0 +1,3096 @@ +hart_ids: [0] +hart0: &hart0 +# ISA: RV32IMAFCNSHUZicsr_Zifencei + ISA: RV64IMAFCNSHUZicsr_Zifencei_Ssptead + User_Spec_Version: '2.3' + supported_xlen: [32] + physical_addr_sz: 32 + pmp_granularity: 5 + hw_data_misaligned_support : true +# pte_dirty_update_enable : true # TODO: look for Ssptead in ISA string + misa: + reset-val: 0x401431A5 + rv32: + accessible: true + mxl: + implemented: true + type: + warl: + dependency_fields: [] + legal: + + - mxl[1:0] in [0x1] + wr_illegal: + - unchanged + extensions: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - extensions[25:0] in [0x0000000:0x3FFFFFF] + wr_illegal: + - unchanged + mvendorid: + reset-val: 0xdeadbeef + rv32: + accessible: true + type: + ro_constant: 0xdeadbeef + rv64: + accessible: false + mtvec: + reset-val: 0x80010000 + rv32: + accessible: true + base: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - "base[29:0] bitmask [0x3FFFFFFF, 0x00000000]" + wr_illegal: + - "Unchanged" + mode: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - "mode[1:0] in [0x0,0x1]" + wr_illegal: + - "Unchanged" + sstatus: + reset-val: 0x0 + rv32: + accessible: true + uie: + implemented: false + sie: + implemented: true + upie: + implemented: false + spie: + implemented: true + spp: + implemented: true + fs: + implemented: false + xs: + implemented: true + sum: + implemented: true + mxr: + implemented: true + sd: + implemented: true + rv64: + accessible: false + vsstatus: + reset-val: 0x0 + rv32: + accessible: true + uie: + implemented: false + sie: + implemented: true + upie: + implemented: false + spie: + implemented: true + spp: + implemented: true + fs: + implemented: false + xs: + implemented: true + sum: + implemented: true + mxr: + implemented: true + sd: + implemented: true + rv64: + accessible: false + mstatus: + reset-val: 0x0 + rv32: + accessible: true + uie: + implemented: true + sie: + implemented: true + type: + wlrl: [0:1] + mie: + implemented: true + upie: + implemented: true + spie: + implemented: true + type: + wlrl: [0:1] + mpie: + implemented: true + spp: + implemented: true + type: + wlrl: [0:1] + mpp: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - mpp[1:0] in [0x0, 0x3] + wr_illegal: + - Unchanged + fs: + implemented: false + xs: + implemented: true + type: + ro_variable: true + mprv: + implemented: true + type: + wlrl: [0:1] + sum: + implemented: true + type: + wlrl: [0:1] + mxr: + implemented: true + type: + wlrl: [0:1] + tvm: + implemented: true + type: + wlrl: [0:1] + tw: + implemented: false + tsr: + implemented: true + type: + wlrl: [0:1] + sd: + implemented: true + type: + ro_variable: true + rv64: + accessible: false + + mip: + reset-val: 0 + rv32: + accessible: true + usip: + implemented: true + ssip: + implemented: true + msip: + implemented: true + type: + ro_variable: true + utip: + implemented: true + stip: + implemented: true + mtip: + implemented: true + type: + ro_variable: [0x01] + ueip: + implemented: true + seip: + implemented: true + meip: + implemented: true + type: + ro_variable: true + rv64: + accessible: false + hip: + reset-val: 0 + rv32: + accessible: true + vssip: + implemented: true + vstip: + implemented: true + vseip: + implemented: true + sgeip: + implemented: true + type: + ro_variable: true + rv64: + accessible: false + mie: + reset-val: 0 + rv32: + accessible: true + usie: + implemented: true + ssie: + implemented: true + msie: + implemented: true + type: + ro_variable: true + utie: + implemented: true + stie: + implemented: true + mtie: + implemented: true + ueie: + implemented: true + seie: + implemented: true + meie: + implemented: true + rv64: + accessible: false + hie: + reset-val: 0 + rv32: + accessible: true + vssie: + implemented: true + vstie: + implemented: true + vseie: + implemented: true + sgeie: + implemented: true + rv64: + accessible: false + mepc: + reset-val: 0x0 + rv32: + accessible: true + rv64: + accessible: false + mtval: + reset-val: 0x0 + has_illegal_inst_bits : false + rv32: + accessible: true + rv64: + accessible: false + mcause: + reset-val: 0 + rv32: + accessible: true + interrupt: + implemented: true + exception_code: + implemented: true + rv64: + accessible: false + + marchid: + rv32: + accessible: true + type: + ro_constant: 0x0 + rv64: + accessible: false + reset-val: 0x0 + mhartid: + rv32: + accessible: true + type: + ro_constant: 0x0 + rv64: + accessible: false + reset-val: 0x00 + mscratch: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mscratch[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter3: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter3[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + hpmcounter3: + rv32: + accessible: true + rv64: + accessible: false + reset-val: 0x0 + hpmcounter3h: + rv32: + accessible: true + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter4: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter4[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter4h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter4h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter5: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter5[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter6: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter6[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter7: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter7[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter8: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter8[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter9: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter9[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter10: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter10[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter11: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter11[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter12: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter12[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter13: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter13[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter14: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter14[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter15: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter15[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter16: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter16[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter17: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter17[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter18: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter18[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter19: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter19[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter20: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter20[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter21: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter21[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter22: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter22[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter23: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter23[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter24: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter24[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter25: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter25[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter26: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter26[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter27: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter27[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter28: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter28[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter29: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter29[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter30: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter30[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter31: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter31[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + + mhpmcounter3h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter3h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter5h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter5h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter6h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter6h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter7h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter7h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter8h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter8h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter9h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter9h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter10h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter10h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter11h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter11h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter12h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter12h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter13h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter13h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter14h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter14h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter15h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter15h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter16h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter16h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter17h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter17h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter18h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter18h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter19h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter19h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter20h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter20h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter21h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter21h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter22h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter22h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter23h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter23h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter24h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter24h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter25h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter25h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter26h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter26h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter27h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter27h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter28h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter28h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter29h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter29h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter30h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter30h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter31h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter31h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mcountinhibit: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcountinhibit[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent3: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent3[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent4: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent4[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent5: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent5[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent6: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent6[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent7: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent7[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent8: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent8[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent9: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent9[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent10: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent10[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent11: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent11[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent12: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent12[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent13: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent13[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent14: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent14[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent15: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent15[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent16: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent16[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent17: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent17[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent18: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent18[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent19: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent19[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent20: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent20[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent21: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent21[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent22: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent22[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent23: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent23[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent24: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent24[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent25: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent25[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent26: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent26[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent27: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent27[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent28: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent28[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent29: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent29[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent30: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent30[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent31: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent31[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mimpid: + rv32: + accessible: true + type: + ro_constant: 0x0 + rv64: + accessible: false + reset-val: 0 + mcounteren: + rv32: + accessible: true + rv64: + accessible: false + reset-val: 0 + pmpcfg0: + rv32: + accessible: true + pmp0cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp0cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp1cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp1cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp2cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp2cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp3cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp3cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg1: + rv32: + accessible: true + pmp4cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp4cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp5cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp5cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp6cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp6cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp7cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp7cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg2: + rv32: + accessible: true + pmp8cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp8cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp9cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp9cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp10cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp10cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp11cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp11cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg3: + rv32: + accessible: true + pmp12cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp12cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp13cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp13cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp14cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp14cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp15cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp15cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg4: + rv32: + accessible: true + pmp16cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp16cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp17cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp17cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp18cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp18cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp19cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp19cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg5: + rv32: + accessible: true + pmp20cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp20cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp21cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp21cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp22cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp22cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp23cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp23cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg6: + rv32: + accessible: true + pmp24cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp24cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp25cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp25cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp26cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp26cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp27cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp27cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg7: + rv32: + accessible: true + pmp28cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp28cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp29cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp29cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp30cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp30cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp31cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp31cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg8: + rv32: + accessible: true + pmp32cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp32cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp33cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp33cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp34cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp34cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp35cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp35cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg9: + rv32: + accessible: true + pmp36cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp36cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp37cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp37cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp38cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp38cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp39cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp39cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg10: + rv32: + accessible: true + pmp40cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp40cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp41cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp41cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp42cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp42cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp43cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp43cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg11: + rv32: + accessible: true + pmp44cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp44cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp45cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp45cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp46cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp46cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp47cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp47cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg12: + rv32: + accessible: true + pmp48cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp48cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp49cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp49cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp50cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp50cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp51cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp51cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg13: + rv32: + accessible: true + pmp52cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp52cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp53cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp53cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp54cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp54cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp55cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp55cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg14: + rv32: + accessible: true + pmp56cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp56cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp57cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp57cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp58cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp58cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp59cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp59cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg15: + rv32: + accessible: true + pmp60cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp60cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp61cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp61cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp62cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp62cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp63cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp63cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + mcycle: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mcycle[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + minstret: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - minstret[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + mcycleh: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mcycleh[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + minstreth: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - minstreth[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr0: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr0[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x20 + pmpaddr1: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr1[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr2: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr2[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr3: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr3[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr4: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr4[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr5: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr5[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr6: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr6[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr7: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr7[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr8: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr8[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr9: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr9[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr10: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr10[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr11: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr11[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr12: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr12[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr13: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr13[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr14: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr14[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr15: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr15[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr16: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr16[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr17: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr17[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr18: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr18[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr19: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr19[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr20: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr20[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr21: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr21[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr22: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr22[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr23: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr23[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr24: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr24[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr25: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr25[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr26: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr26[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr27: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr27[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr28: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr28[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr29: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr29[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr30: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr30[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr31: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr31[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr32: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr32[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr33: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr33[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr34: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr34[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr35: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr35[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr36: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr36[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr37: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr37[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr38: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr38[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr39: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr39[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr40: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr40[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr41: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr41[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr42: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr42[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr43: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr43[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr44: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr44[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr45: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr45[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr46: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr46[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr47: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr47[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr48: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr48[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr49: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr49[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr50: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr50[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr51: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr51[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr52: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr52[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr53: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr53[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr54: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr54[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr55: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr55[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr56: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr56[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr57: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr57[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr58: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr58[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr59: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr59[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr60: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr60[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr61: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr61[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr62: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr62[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr63: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr63[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + fcsr: + rv64: + accessible: false + rv32: + accessible: true + fflags: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - fflags[4:0] in [0x00:0x1F] + wr_illegal: + - Unchanged + frm: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - frm[2:0] in [0x0:0x7] + wr_illegal: + - Unchanged + time: + rv32: + accessible: true + type: + ro_variable: true + rv64: + accessible: false + reset-val: 0 + timeh: + rv32: + accessible: true + type: + ro_variable: true + rv64: + accessible: false + reset-val: 0 diff --git a/cookbook/functional_code_examples/platform_configuration/rv32i_platform.yaml b/cookbook/functional_code_examples/platform_configuration/rv32i_platform.yaml new file mode 100644 index 000000000..9748f523d --- /dev/null +++ b/cookbook/functional_code_examples/platform_configuration/rv32i_platform.yaml @@ -0,0 +1,15 @@ +nmi: + label: nmi_vector +reset: +# label: reset_vector +# address: 0x1000 + address: 0x80000000 +mtime: + implemented: True + address: 0x20000 + +# TODO: until we have a method for doing a memory map, +# we will keep with the original model of having 1 RAM +# block whose size can be given in MBs. +ram_size : 4 + diff --git a/cookbook/functional_code_examples/platform_configuration/test.S b/cookbook/functional_code_examples/platform_configuration/test.S new file mode 100644 index 000000000..f2d1e39d7 --- /dev/null +++ b/cookbook/functional_code_examples/platform_configuration/test.S @@ -0,0 +1,162 @@ +// vim: tabstop=2 shiftwidth=2 expandtab +// -------------------------------------------------------------------------------------------- +// File: test.S +// +// Description: +// +// Author: Bill McSpadden (bill@riscv.org) +// -------------------------------------------------------------------------------------------- + +// -------------------------------------------------------- +// Support for 32/64 bit compilation. + +#if __riscv_xlen == 64 +# define LREG ld +# define SREG sd +# define REGBYTES 8 +#else +# define LREG lw +# define SREG sw +# define REGBYTES 4 +#endif + + +// -------------------------------------------------------- +// Support for tohost/fromhost + +#define PASS_CODE 1 +#define FAIL_CODE 1337 + + +// -------------------------------------------------------- +// Following power-on reset, we start executing at _start. +// We jump to "reset_vector" +// +// .section ".text.init" + .section ".rotext.init" + .globl _start +_start: +// The following is a re-write of the "rom" code that is +// in riscv_sim.c (around lines 509-521). I want to get +// rid of that bit of code in riscv_sim.c + +// auipc t0, 0x0 + auipc x5, 0x0 +// addi a1, t0, &dtb // What is dtb??? + addi x11, x5, (8 * 4) // What is the purpose of this instruction? +// csrr a0, mhartid + csrr x10, mhartid +// LREG t0, 24(t0) + la t0, reset_vector + jr t0 + + + +// -------------------------------------------------------- + + +// .section ".text" + .section ".text.begin" + .global reset_vector // This pushed the symbol, reset_vector, to 0x80000000 +// -------------------------------------------------------- +// Initialization of the processor, starting with the +// register file. +reset_vector: + + li x1, 0 + li x2, 0 + li x3, 0 + li x4, 0 + li x5, 0 + li x6, 0 + li x7, 0 + li x8, 0 + li x9, 0 + li x10, 0 + li x11, 0 + li x12, 0 + li x13, 0 + li x14, 0 + li x15, 0 + li x16, 0 + li x17, 0 + li x18, 0 + li x19, 0 + li x20, 0 + li x21, 0 + li x22, 0 + li x23, 0 + li x24, 0 + li x25, 0 + li x26, 0 + li x27, 0 + li x28, 0 + li x29, 0 + li x30, 0 + li x31, 0 + +// -------------------------------------------------------- +// PMP configuration + + # configure pmp to enable all accesses + li t0, 0x1f + csrw pmpcfg0, t0 + li t0, 0xffffffff + csrw pmpaddr0, t0 + + +// -------------------------------------------------------- +// PASS: The end of the test, if successful +j_target_end_pass: + // exit code construction + li x10, PASS_CODE + la x13, tohost + sw x10, 0(x13) + la x5, j_target_end_pass + jalr x5 + j j_target_end_fail // should never be taken + +// -------------------------------------------------------- + +// -------------------------------------------------------- +// FAIL: The end of the test, if unsuccessful +j_target_end_fail: + // exit code construction + li x10, FAIL_CODE + la x13, tohost + sw x10, 0(x13) + la x5, j_target_end_fail + jalr x5 + + +// -------------------------------------------------------- +// Memory locations for specific usage. +.section ".tdata.begin" +.globl _tdata_begin +_tdata_begin: + +.section ".tdata.end" +.globl _tdata_end +_tdata_end: + +.section ".tbss.end" +.globl _tbss_end +_tbss_end: + +.section ".tohost","aw",@progbits +.align 6 +.globl tohost +tohost: .dword 0 + +.section ".fromhost","aw",@progbits +.align 6 +.globl fromhost +fromhost: .dword 0 + +.align 6 +.global timer_interrupt_flag +timer_interrupt_flag: .dword 0 + + + + diff --git a/handwritten_support/riscv_extras.v b/handwritten_support/riscv_extras.v index 03249f01b..bf3e7bc23 100644 --- a/handwritten_support/riscv_extras.v +++ b/handwritten_support/riscv_extras.v @@ -69,6 +69,7 @@ Require Import Sail.Base. Require Import String. Require Import List. +Require Import Lia. Import List.ListNotations. Open Scope Z. @@ -190,7 +191,7 @@ unbool_comparisons. unbool_comparisons_goal. assert (Z.abs n = n). { rewrite Z.abs_eq; auto with zarith. } rewrite <- H at 3. -lapply (ZEuclid.mod_always_pos m n); omega. +lapply (ZEuclid.mod_always_pos m n); lia. Qed. (* Override the more general version *) @@ -210,6 +211,7 @@ Axiom sys_enable_writable_misa : unit -> bool. Axiom sys_enable_rvc : unit -> bool. Axiom sys_enable_fdext : unit -> bool. Axiom sys_enable_next : unit -> bool. +Axiom sys_enable_zfinx : unit -> bool. (* The constraint solver can do this itself, but a Coq bug puts anonymous_subproof into the term instead of an actual subproof. *) @@ -217,6 +219,6 @@ Lemma n_leading_spaces_fact {w__0} : w__0 >= 0 -> exists ex17629_ : Z, 1 + w__0 = 1 + ex17629_ /\ 0 <= ex17629_. intro. exists w__0. -omega. +lia. Qed. Hint Resolve n_leading_spaces_fact : sail. diff --git a/model/main.sail b/model/main.sail index e4b1e0db5..db4ecb6d0 100644 --- a/model/main.sail +++ b/model/main.sail @@ -66,12 +66,23 @@ /* SUCH DAMAGE. */ /*=======================================================================================*/ +$include "rv_cfg_func_sigs.sail" + function main () : unit -> unit = { + + print("hello from main() in main.sail\n"); + + let reset_address : int = rv_cfg_int( "/reset/address") ; + print_int("/reset/address: 0x%x\n", reset_address); + // initialize extensions ext_init (); + + // PC = __GetSlice_int(64, elf_entry(), 0); PC = sail_zero_extend(0x1000, sizeof(xlen)); + // PC = sail_zero_extend(reset_address, sizeof(xlen)); print_bits("PC = ", PC); try { diff --git a/model/prelude.sail b/model/prelude.sail index 6e6718b72..a727c905b 100644 --- a/model/prelude.sail +++ b/model/prelude.sail @@ -74,6 +74,7 @@ $include $include $include $include +$include "rv_cfg_func_sigs.sail" val string_startswith = "string_startswith" : (string, string) -> bool val string_drop = "string_drop" : (string, nat) -> string @@ -325,3 +326,7 @@ val def_spc_backwards : string -> unit function def_spc_backwards s = () val def_spc_matches_prefix : string -> option((unit, nat)) function def_spc_matches_prefix s = opt_spc_matches_prefix(s) + + + + diff --git a/model/riscv_step.sail b/model/riscv_step.sail index 8e94c16b7..032fcc617 100644 --- a/model/riscv_step.sail +++ b/model/riscv_step.sail @@ -66,6 +66,8 @@ /* SUCH DAMAGE. */ /*=======================================================================================*/ +$include "rv_cfg_func_sigs.sail" + /* The emulator fetch-execute-interrupt dispatch loop. */ /* returns whether to increment the step count in the trace */ @@ -171,6 +173,9 @@ function init_model () -> unit = { init_sys (); /* processor */ init_vmem (); /* virtual memory */ + let isa_str : string = rv_cfg_string("hart0/ISA"); + print_string("isa_str: ", isa_str); print("\n"); + /* initialize extensions last */ ext_init (); ext_init_regs (); diff --git a/model/rv_cfg_func_sigs.sail b/model/rv_cfg_func_sigs.sail new file mode 100644 index 000000000..b4f6e5ef2 --- /dev/null +++ b/model/rv_cfg_func_sigs.sail @@ -0,0 +1,78 @@ +/*=======================================================================================*/ +/* RISCV Sail Model */ +/* */ +/* This Sail RISC-V architecture model, comprising all files and */ +/* directories except for the snapshots of the Lem and Sail libraries */ +/* in the prover_snapshots directory (which include copies of their */ +/* licences), is subject to the BSD two-clause licence below. */ +/* */ +/* Copyright (c) 2017-2021 */ +/* Prashanth Mundkur */ +/* Rishiyur S. Nikhil and Bluespec, Inc. */ +/* Jon French */ +/* Brian Campbell */ +/* Robert Norton-Wright */ +/* Alasdair Armstrong */ +/* Thomas Bauereiss */ +/* Shaked Flur */ +/* Christopher Pulte */ +/* Peter Sewell */ +/* Alexander Richardson */ +/* Hesham Almatary */ +/* Jessica Clarke */ +/* Microsoft, for contributions by Robert Norton-Wright and Nathaniel Wesley Filardo */ +/* Peter Rugg */ +/* Aril Computer Corp., for contributions by Scott Johnson */ +/* William McSpadden, RISC-V International */ +/* */ +/* All rights reserved. */ +/* */ +/* This software was developed by the above within the Rigorous */ +/* Engineering of Mainstream Systems (REMS) project, partly funded by */ +/* EPSRC grant EP/K008528/1, at the Universities of Cambridge and */ +/* Edinburgh. */ +/* */ +/* This software was developed by SRI International and the University of */ +/* Cambridge Computer Laboratory (Department of Computer Science and */ +/* Technology) under DARPA/AFRL contract FA8650-18-C-7809 ("CIFV"), and */ +/* under DARPA contract HR0011-18-C-0016 ("ECATS") as part of the DARPA */ +/* SSITH research programme. */ +/* */ +/* This project has received funding from the European Research Council */ +/* (ERC) under the European Union’s Horizon 2020 research and innovation */ +/* programme (grant agreement 789108, ELVER). */ +/* */ +/* */ +/* Redistribution and use in source and binary forms, with or without */ +/* modification, are permitted provided that the following conditions */ +/* are met: */ +/* 1. Redistributions of source code must retain the above copyright */ +/* notice, this list of conditions and the following disclaimer. */ +/* 2. Redistributions in binary form must reproduce the above copyright */ +/* notice, this list of conditions and the following disclaimer in */ +/* the documentation and/or other materials provided with the */ +/* distribution. */ +/* */ +/* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' */ +/* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED */ +/* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A */ +/* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR */ +/* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ +/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ +/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF */ +/* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND */ +/* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, */ +/* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT */ +/* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF */ +/* SUCH DAMAGE. */ +/*=======================================================================================*/ + + +/* functions for accessing RISC-V Config data */ +val rv_cfg_int = { c: "rv_cfg_s_int" } : string -> int +val rv_cfg_string = { c: "rv_cfg_s_string" } : string -> string +//val rv_cfg_bool = { c: "rv_cfg_s_bool" } : string -> int +val rv_cfg_bool = { c: "rv_cfg_s_bool" } : string -> bool + + + From 88e5b6403fb6ecafe3040884d91a76614058b255 Mon Sep 17 00:00:00 2001 From: William McSpaddden Date: Sat, 10 Dec 2022 10:34:51 -0600 Subject: [PATCH 02/12] updated Makefile for testing --- cookbook/functional_code_examples/br_j_asm/Makefile | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/cookbook/functional_code_examples/br_j_asm/Makefile b/cookbook/functional_code_examples/br_j_asm/Makefile index 124b4a8c7..36ea714a5 100644 --- a/cookbook/functional_code_examples/br_j_asm/Makefile +++ b/cookbook/functional_code_examples/br_j_asm/Makefile @@ -32,13 +32,13 @@ # -------------------------------------------------------------------------------------------- # USER MUST SET THESE TO A PROPER SETTING -#XLEN := 64 +XLEN := 64 +#XLEN := 32 #TOOL_OPT := elf -XLEN := 32 TOOL_OPT := linux-gnu #RISCV := /apps/vlsi/tools/riscv/gnu_toolchain/102020/standard/riscv64-unknown-elf -#RISCV := /opt/riscv -RISCV := /opt/riscv${XLEN} +RISCV := /opt/riscv32 +#RISCV := /opt/riscv${XLEN} #CONFIG_BASE := 0x70080 CONFIG_BASE := 0x80000000 MARCH := -march=rv32imc -mabi=ilp32 @@ -96,6 +96,8 @@ OBJS := ${ASM_OBJS} ${C_OBJS} OUT_FILE := ./sim.out +RUN_FLAGS := -u rv32i_isa.yaml -y rv32i_platform.yaml + $(info =================================================================) $(info Make variable settings....) $(info RISCV: ${RISCV}) @@ -143,7 +145,7 @@ clean: run: ${TARGET} - ${RUN_TOOL} ${TARGET} 2>&1 | tee ${OUT_FILE} + ${RUN_TOOL} ${RUN_FLAGS} ${TARGET} 2>&1 | tee ${OUT_FILE} clean_all: clean From 80c6a58eba96ace68352365eda92a80b24d1b581 Mon Sep 17 00:00:00 2001 From: William McSpaddden Date: Tue, 31 Jan 2023 15:16:41 -0600 Subject: [PATCH 03/12] Added a new example, one that shows how to add a custom extension to the model. Sail code compiles and executes as expected. --- Makefile | 4 + .../doc/TheRISCVSailCookbook_Complete.adoc | 1 + .../doc/TheRISCVSailCookbook_Complete.pdf | Bin 63137 -> 62826 bytes cookbook/doc/TheRISCVSailCookbook_Main.adoc | 2 + .../add_a_new_extension/Makefile | 159 + .../add_a_new_extension.adoc | 41 + .../add_a_new_extension/riscv_test.ld | 76 + .../add_a_new_extension/rv32i_isa.yaml | 3096 +++++++++++++++++ .../add_a_new_extension/rv32i_platform.yaml | 15 + .../add_a_new_extension/test.S | 318 ++ .../br_j_asm/Makefile | 7 +- model/riscv_types.sail | 1 + 12 files changed, 3718 insertions(+), 2 deletions(-) create mode 100644 cookbook/functional_code_examples/add_a_new_extension/Makefile create mode 100644 cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc create mode 100644 cookbook/functional_code_examples/add_a_new_extension/riscv_test.ld create mode 100644 cookbook/functional_code_examples/add_a_new_extension/rv32i_isa.yaml create mode 100644 cookbook/functional_code_examples/add_a_new_extension/rv32i_platform.yaml create mode 100644 cookbook/functional_code_examples/add_a_new_extension/test.S diff --git a/Makefile b/Makefile index 1f279421a..1df23b707 100644 --- a/Makefile +++ b/Makefile @@ -36,6 +36,10 @@ SAIL_DEFAULT_INST += riscv_insts_zks.sail SAIL_DEFAULT_INST += riscv_insts_zbkb.sail SAIL_DEFAULT_INST += riscv_insts_zbkx.sail +# Example custom extension (do not include this in the +# usual model build. +SAIL_DEFAULT_INST += riscv_insts_custom_xmpl.sail + SAIL_SEQ_INST = $(SAIL_DEFAULT_INST) riscv_jalr_seq.sail SAIL_RMEM_INST = $(SAIL_DEFAULT_INST) riscv_jalr_rmem.sail riscv_insts_rmem.sail diff --git a/cookbook/doc/TheRISCVSailCookbook_Complete.adoc b/cookbook/doc/TheRISCVSailCookbook_Complete.adoc index b2109b558..62990a08a 100644 --- a/cookbook/doc/TheRISCVSailCookbook_Complete.adoc +++ b/cookbook/doc/TheRISCVSailCookbook_Complete.adoc @@ -6,6 +6,7 @@ The RISCV Sail Golden Model: A Cookbook for the RISCV ISA ============================================== William C. McSpadden ; Martin Berger + :toc: :toc-placement: preamble :toclevels: 2 diff --git a/cookbook/doc/TheRISCVSailCookbook_Complete.pdf b/cookbook/doc/TheRISCVSailCookbook_Complete.pdf index bd1257e4b3d50f3767b49989bd6ee807766b8a0e..46e3699a69d557d09f60ff740892cc6bdbea9ca1 100644 GIT binary patch delta 3487 zcmcguYitzP71nrX7Gq+A?cMdVYv>r`@~}PJ_uLENWef>{q%{O6E_E^B@N!Iel#n#_ z@_q%<;L}!#1PNB6q-|)@XbMtMNkFKI)Swp9O0-dbKqRV)wyIL8{Gw9NjF*RZ`n&UM z=A3iS`OfRRGx(3h?c0f0-;E#V) ztw~0(ni{TkWngyW3Wxd}^QQF~IL*r8!o=P(A)%u(19O{Rv9ZP!A&rMGn^u<@0@s>a zVfR-z!)e-VGfxg73Zq_b@!^dZ_XNF@E?5ao2zI?M0r}Q6{34M<&vx)sYolfRL;h01 z5sz4wf~!qg_-xuGhl|iz!@}0!*Tk_LALHr>(=9sa80ry*rAP;-*(~%SJr?!p4)-ia z8c#%Zg4yx~ER3fffVwW5!5Mm!n1 zOh*;@k@>r0n1^F|tt$;Dr(d^~^hi|vmuDby-(#V--(rgp3c5*ynYk$$eF^x<%tH?; zo|yHT6ArzKe0|X7fHnJuBe|!;5gP}IIj_Tw*|tR^_h;w)%`pg#6|Kj>Z{~h#`-m=# z61?AL<6I!Jdsvf@>CC`i=Uq)QDm)XqOb5SjZ?QIwcFv#nYo80^Om9{1MaMHc%>}~Z?)thyKE(p z*70z4-gx-gvbW2)8CaGHHZIq=7>tLbx+)c%Uy-(8faHVQ->Af$Fj(-xIcXTv`Jp4J zXAE*h3hs7168xpJ8n+}8-Tmf?hm`NEdbW%!xWO|)^SA0PxY(J4?yk+@uqzo{>%!@Z zUg7g^|FrlP`aHGz^>Br>4>P(4prEpFtNYWUo&M{_E{fvc)A^9ThL_3!Z*m@iyg_tp?RIqJBvjsKlvv79f zaYux-57)ZW!KzKEkQYNH4BZ^rOf8tVDI0v&>szpOb2ez`%UE!}HyHb} zaP&vP%IABae&_OVFEkA9%EO7BYaC@fB8!xtgGtZ-+s5r?QETL`4N1zRC!*d2=XQ;> z9EzNQjoY3H{`A71%ivcp?MX*>qU$45YUSR)5=ZsBu>E^`>xwtwJ^lSla8&tcbdpBi@TE@eLCim412Xe4-U!fMupXQ3c zq;TyuW{X0>1a~>|GmVtT_U}$}+!&+_L6wI!bvg1i5^BSNAJiZb6xx;4_q5?IL&`>y4a2>Au-=iv^ErHSaB7kg601juKk!y#$ht` zKkPJ*oy9>$n8Q(GK0|329)iv}?m?-chzH?{k(ixt;%AMDr7fr&2Bv`VIBr7>wO}&l zP>6UHgu($X0WFlTVlp2u#8NwL3UNad@3e?d7?*?(%Op%hl6bWw<*`KYFROUA@L+Nz z=P`s5m%0?SRPhOuMwQwLG%Kx)@TnT!I;=k~CXF370;y(rxp2Q@<(J%7r2{M_rKRnZ m_$OMrXHpxjCzl2>xIiT`WN^u0$({KX*w~7uruko6Q1M^SSCDJ~ delta 3742 zcmcgvYitzP71r1@3%EAecz3;iV8#IxY~%5L-xsK02^K-EZXrK&x5c5TdVf7gB{dOC;t1_zdO4)wURm&|2G zJgTQq@7kT!lkz2%aAVbTFu(rI@Os@*3obQmm_$7taOti+0DjRXcx`Jv{Bj;mj@=d% zEM8kceeDrO72KIp0fX%hOrGq)X4al~SdB@E#(Zcgs)8$%8%K@BAJ*cMd5lI%?NgRV zN*%2=@k|tvKgj}*Y9i6!tVm%|&1^?2c+qEr%(~io(H?lm$0S ztHLW&t1b8BwC#S7ppJZSYU1<2-i<9upCTC5h!Vn zqb(bbxCa~-D9q8sF}Y^5tpfCmWsO{&t~qE6ioS0)C!x4zqfNOd#saxmJpo>QWM_=} z*yyy)DK#4%Dzz7&z2t@77<_-mfX#_VFX%FGXFi`t7&O&3!tI%BEDeKAWl@wXYM+7n zmGj{3rD9{3d^5c)lrNIVwQx!Dsz(c#m9h6!(Gv?#B}tXZS4j zEl2nUig*+Lmd!y!43oXporH4nv_r6NGE=u0{6zc^CUq3STOEb)(u^1!lvlB39?96V zVX?a5FzRs{TKaJ-Uj!UJ>Q0%84Eld{6c#LP?0dl<^0)@FJqhO*PJrEWZ#Wdo6(C5a zLHoRGG45j&G;$oDzjO3>eEzA?k0s4lZHd7}DW6~H!0qPGEe0>`Du+)Nyq?c6$3OL# z!N|h9j>cAEXR!BYT1w!9mM)msvLg>`y=u_7cdndkv22R5nXE7L7Q^7$sjziV34GPs z2Gd)Iu+!LD36@U6qII$GXRR|WTQdasXZ?xrZ%Zn%56a^KtZpm|>y~201wuTkC~WxV z4{XX1Xr`dp5jfve9M&ysw44ChM4GB!+1qXz{4rw=@mC2SJ~jcaKDIloU)h}pFR!XW z{Q15?MjuW;7jA!n6!==WN_a?ufh&ddm5GNCmp@{~G;)ZaZsLzteE#5= zfHxjL32rbyrV-dQjhMfz*)%#1nSNf6CSuXvSlG6XSkOUjoI{+5@Wt;WteDc$%*5)( zRCseel0|wT(qv)KPp;q9vCO{w!MdR=1CLLP#$9aBLv&wu8j`C!5^L8V)#$jhxtNtoVpZXDd5ZQ zf5P4!DV*eq@Ydpju(-F{a*(xf?(WBvVf*&kI2NNLc4o&pIJc`jZ0bu`@M(WJZopXB zwX?y3Zwyq1Ki(xQSUH#qzwS?3Hsk483Tp@IEQdtHgBGE05ZS@UInN+{bkcqWzj!hg zF4)V_y~<2Z`20SKmPj-@aroVn$6_=Q(>QPhQgmC0QzGb!&eibmZ_x8b0^J3a1?zdey`^>Rqde6HN=9HUR z=mKgET~0=8Ta1dvR&>oF7yfl_05uzI*Fft95k(b!O-T#f}$+z7*^M-x^eBMp4K_2oD*oPBm@G9zWU3z#5d z;*sMOF!R`O9M_K2F3042hOuKOdSpSu#5BGRM|uzbc)1)M#3F0POPu`Xy!VCGs2kEe~bovN~t zSUL2bYH(1C`tZuB-#fVdHG_Sp8*rGh4RHB%eT-px6dQ<_1br~D&NP@+C{#$#{CoQ_ zHbg3ym_K*GEr>o)B5BTDpef7JV}uHtb;qg1d>*#PX&{2^J4O*iWcVS+oZ&jmQRD(4 zpQR`K9LEeno};IN>_j;8B^lEjPG`)~Z;m3T2*)hPoFjg-?}UC}Fk_D^+*a9oI>pRDG$-NubgiOsO4{~ZN4JBmNQR2@6bBEY@5IUxaa58`6?ljU$)}10aQrUM* zXWt3UWOgZp7J7WIBJ2v^XE~1pEwT|Ik-W02AO+Fc)sj*mqdXj-R9xh|4Oo57tjIvp YY{!cDN $@ + + +%.o : %.S + ${ASM} -c ${ASM_FLAGS} -o $@ $< + +%.o : %.c + ${CC} -c ${C_FLAGS} -o $@ $< + + + +build: ${TARGET} ${DUMP} + +dump: ${DUMP} + +install: + +clean: + rm -f ${OBJS} ${TARGET} ${DUMP} ${OUT_FILE} + + +run: ${TARGET} + ${RUN_TOOL} ${RUN_FLAGS} ${TARGET} 2>&1 | tee ${OUT_FILE} + +clean_all: clean + + + + + + diff --git a/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc b/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc new file mode 100644 index 000000000..e508ac702 --- /dev/null +++ b/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc @@ -0,0 +1,41 @@ +[#add-a-new-extension] +== Add A New Extension Example + +The main purpose of this cookbook, is to explain how someone can add +an extension (and a CSR) to the RISC-V Sail model. This example attempts +to add a very simple instruction a very simple CSR to the model. One +instruction will be added into the custom opcode space. And that +instruction will be used to manipulate the new CSR, which can then +be accessed by the existing CSR instructions. + +See unpriv spec, chapter 26, "Extending RISC-V" + +See unpriv spec, chapter 24, "RV32/64G Instruction Set Listings" + +See unpriv spec, chapter 27, "ISA Extension Naming Convention", especially +setion 27.10, "Non-Standard Extension Names". + +See priv spec, chapter 2, "CSR Listings", Table 2.1 + + + + + +Example + +Single instruction: xmple +CSR: xmple_csr + +* Takes an unsigned immediate and puts the value into the xmple_csr +* The xmpl_csr can be read by the normal CSR instructions. +* xmple_csr cannot be written with any form of the CSR instructions; +it should generate an exception. + +Files: + +* riscv_insts_xample.sail : the implmentation of the instruction and the CSR. +* Makefile : must add riscv_insts_xample.sail to the list of source files +* test.s : for testing the new instruction features + + + diff --git a/cookbook/functional_code_examples/add_a_new_extension/riscv_test.ld b/cookbook/functional_code_examples/add_a_new_extension/riscv_test.ld new file mode 100644 index 000000000..55aa2f541 --- /dev/null +++ b/cookbook/functional_code_examples/add_a_new_extension/riscv_test.ld @@ -0,0 +1,76 @@ +OUTPUT_ARCH( "riscv" ) +ENTRY(_start) + +/******************************************************************************************* +/// LICENSE: +/// +/// Copyright 2021 Seagate Technology LLC and/or its Affiliates +/// +/// Licensed under the Apache License, Version 2.0 (the "License"); +/// you may not use this file except in compliance with the License. +/// You may obtain a copy of the License at +/// +/// http://www.apache.org/licenses/LICENSE-2.0 +/// +/// Unless required by applicable law or agreed to in writing, software +/// distributed under the License is distributed on an "AS IS" BASIS, +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +/// See the License for the specific language governing permissions and +/// limitations under the License. +********************************************************************************************/ + +/*----------------------------------------------------------------------*/ +/* Sections */ +/*----------------------------------------------------------------------*/ + +SECTIONS +{ + + /* text: test code section */ +/*. = 0x00000040; */ +/*. = 0x00001000; */ + . = 0x80000000; + .text.init : { *(.text.init) } + + .text : { *(.text) } + + /* data segment */ +/*. = 0x00080000; */ + .tohost ALIGN(0x1000) : { *(.tohost) } + .data : { *(.data) } + .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } + .sdata : { + __global_pointer$ = . + 0x800; + *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata*) + *(.sdata .sdata.* .gnu.linkonce.s.*) + } + + /* bss segment */ + .sbss : { + *(.sbss .sbss.* .gnu.linkonce.sb.*) + *(.scommon) + } + .bss : { *(.bss) } + + /* thread-local data segment */ + .tdata : + { + _tls_data = .; + *(.tdata.begin) + *(.tdata) + *(.tdata.end) + } + .tbss : + { + *(.tbss) + *(.tbss.end) + } + + __malloc_start = .; + . = . + 32768; + + /* End of uninitalized data segement */ + _end = .; + +} + diff --git a/cookbook/functional_code_examples/add_a_new_extension/rv32i_isa.yaml b/cookbook/functional_code_examples/add_a_new_extension/rv32i_isa.yaml new file mode 100644 index 000000000..68f3c85da --- /dev/null +++ b/cookbook/functional_code_examples/add_a_new_extension/rv32i_isa.yaml @@ -0,0 +1,3096 @@ +hart_ids: [0] +hart0: &hart0 +# ISA: RV32IMAFCNSHUZicsr_Zifencei + ISA: RV64IMAFCNSHUZicsr_Zifencei_Ssptead + User_Spec_Version: '2.3' + supported_xlen: [32] + physical_addr_sz: 32 + pmp_granularity: 5 + hw_data_misaligned_support : true +# pte_dirty_update_enable : true # TODO: look for Ssptead in ISA string + misa: + reset-val: 0x401431A5 + rv32: + accessible: true + mxl: + implemented: true + type: + warl: + dependency_fields: [] + legal: + + - mxl[1:0] in [0x1] + wr_illegal: + - unchanged + extensions: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - extensions[25:0] in [0x0000000:0x3FFFFFF] + wr_illegal: + - unchanged + mvendorid: + reset-val: 0xdeadbeef + rv32: + accessible: true + type: + ro_constant: 0xdeadbeef + rv64: + accessible: false + mtvec: + reset-val: 0x80010000 + rv32: + accessible: true + base: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - "base[29:0] bitmask [0x3FFFFFFF, 0x00000000]" + wr_illegal: + - "Unchanged" + mode: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - "mode[1:0] in [0x0,0x1]" + wr_illegal: + - "Unchanged" + sstatus: + reset-val: 0x0 + rv32: + accessible: true + uie: + implemented: false + sie: + implemented: true + upie: + implemented: false + spie: + implemented: true + spp: + implemented: true + fs: + implemented: false + xs: + implemented: true + sum: + implemented: true + mxr: + implemented: true + sd: + implemented: true + rv64: + accessible: false + vsstatus: + reset-val: 0x0 + rv32: + accessible: true + uie: + implemented: false + sie: + implemented: true + upie: + implemented: false + spie: + implemented: true + spp: + implemented: true + fs: + implemented: false + xs: + implemented: true + sum: + implemented: true + mxr: + implemented: true + sd: + implemented: true + rv64: + accessible: false + mstatus: + reset-val: 0x0 + rv32: + accessible: true + uie: + implemented: true + sie: + implemented: true + type: + wlrl: [0:1] + mie: + implemented: true + upie: + implemented: true + spie: + implemented: true + type: + wlrl: [0:1] + mpie: + implemented: true + spp: + implemented: true + type: + wlrl: [0:1] + mpp: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - mpp[1:0] in [0x0, 0x3] + wr_illegal: + - Unchanged + fs: + implemented: false + xs: + implemented: true + type: + ro_variable: true + mprv: + implemented: true + type: + wlrl: [0:1] + sum: + implemented: true + type: + wlrl: [0:1] + mxr: + implemented: true + type: + wlrl: [0:1] + tvm: + implemented: true + type: + wlrl: [0:1] + tw: + implemented: false + tsr: + implemented: true + type: + wlrl: [0:1] + sd: + implemented: true + type: + ro_variable: true + rv64: + accessible: false + + mip: + reset-val: 0 + rv32: + accessible: true + usip: + implemented: true + ssip: + implemented: true + msip: + implemented: true + type: + ro_variable: true + utip: + implemented: true + stip: + implemented: true + mtip: + implemented: true + type: + ro_variable: [0x01] + ueip: + implemented: true + seip: + implemented: true + meip: + implemented: true + type: + ro_variable: true + rv64: + accessible: false + hip: + reset-val: 0 + rv32: + accessible: true + vssip: + implemented: true + vstip: + implemented: true + vseip: + implemented: true + sgeip: + implemented: true + type: + ro_variable: true + rv64: + accessible: false + mie: + reset-val: 0 + rv32: + accessible: true + usie: + implemented: true + ssie: + implemented: true + msie: + implemented: true + type: + ro_variable: true + utie: + implemented: true + stie: + implemented: true + mtie: + implemented: true + ueie: + implemented: true + seie: + implemented: true + meie: + implemented: true + rv64: + accessible: false + hie: + reset-val: 0 + rv32: + accessible: true + vssie: + implemented: true + vstie: + implemented: true + vseie: + implemented: true + sgeie: + implemented: true + rv64: + accessible: false + mepc: + reset-val: 0x0 + rv32: + accessible: true + rv64: + accessible: false + mtval: + reset-val: 0x0 + has_illegal_inst_bits : false + rv32: + accessible: true + rv64: + accessible: false + mcause: + reset-val: 0 + rv32: + accessible: true + interrupt: + implemented: true + exception_code: + implemented: true + rv64: + accessible: false + + marchid: + rv32: + accessible: true + type: + ro_constant: 0x0 + rv64: + accessible: false + reset-val: 0x0 + mhartid: + rv32: + accessible: true + type: + ro_constant: 0x0 + rv64: + accessible: false + reset-val: 0x00 + mscratch: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mscratch[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter3: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter3[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + hpmcounter3: + rv32: + accessible: true + rv64: + accessible: false + reset-val: 0x0 + hpmcounter3h: + rv32: + accessible: true + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter4: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter4[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter4h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter4h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter5: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter5[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter6: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter6[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter7: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter7[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter8: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter8[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter9: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter9[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter10: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter10[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter11: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter11[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter12: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter12[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter13: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter13[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter14: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter14[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter15: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter15[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter16: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter16[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter17: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter17[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter18: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter18[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter19: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter19[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter20: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter20[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter21: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter21[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter22: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter22[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter23: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter23[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter24: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter24[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter25: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter25[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter26: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter26[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter27: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter27[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter28: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter28[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter29: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter29[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter30: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter30[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter31: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter31[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + + mhpmcounter3h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter3h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter5h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter5h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter6h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter6h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter7h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter7h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter8h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter8h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter9h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter9h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter10h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter10h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter11h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter11h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter12h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter12h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter13h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter13h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter14h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter14h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter15h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter15h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter16h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter16h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter17h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter17h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter18h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter18h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter19h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter19h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter20h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter20h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter21h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter21h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter22h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter22h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter23h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter23h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter24h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter24h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter25h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter25h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter26h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter26h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter27h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter27h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter28h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter28h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter29h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter29h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter30h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter30h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter31h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter31h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mcountinhibit: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcountinhibit[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent3: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent3[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent4: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent4[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent5: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent5[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent6: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent6[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent7: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent7[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent8: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent8[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent9: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent9[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent10: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent10[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent11: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent11[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent12: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent12[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent13: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent13[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent14: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent14[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent15: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent15[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent16: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent16[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent17: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent17[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent18: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent18[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent19: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent19[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent20: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent20[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent21: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent21[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent22: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent22[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent23: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent23[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent24: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent24[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent25: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent25[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent26: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent26[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent27: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent27[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent28: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent28[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent29: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent29[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent30: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent30[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent31: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent31[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mimpid: + rv32: + accessible: true + type: + ro_constant: 0x0 + rv64: + accessible: false + reset-val: 0 + mcounteren: + rv32: + accessible: true + rv64: + accessible: false + reset-val: 0 + pmpcfg0: + rv32: + accessible: true + pmp0cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp0cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp1cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp1cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp2cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp2cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp3cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp3cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg1: + rv32: + accessible: true + pmp4cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp4cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp5cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp5cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp6cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp6cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp7cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp7cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg2: + rv32: + accessible: true + pmp8cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp8cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp9cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp9cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp10cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp10cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp11cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp11cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg3: + rv32: + accessible: true + pmp12cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp12cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp13cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp13cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp14cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp14cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp15cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp15cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg4: + rv32: + accessible: true + pmp16cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp16cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp17cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp17cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp18cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp18cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp19cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp19cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg5: + rv32: + accessible: true + pmp20cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp20cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp21cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp21cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp22cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp22cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp23cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp23cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg6: + rv32: + accessible: true + pmp24cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp24cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp25cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp25cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp26cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp26cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp27cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp27cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg7: + rv32: + accessible: true + pmp28cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp28cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp29cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp29cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp30cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp30cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp31cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp31cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg8: + rv32: + accessible: true + pmp32cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp32cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp33cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp33cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp34cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp34cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp35cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp35cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg9: + rv32: + accessible: true + pmp36cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp36cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp37cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp37cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp38cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp38cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp39cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp39cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg10: + rv32: + accessible: true + pmp40cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp40cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp41cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp41cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp42cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp42cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp43cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp43cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg11: + rv32: + accessible: true + pmp44cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp44cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp45cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp45cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp46cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp46cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp47cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp47cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg12: + rv32: + accessible: true + pmp48cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp48cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp49cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp49cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp50cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp50cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp51cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp51cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg13: + rv32: + accessible: true + pmp52cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp52cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp53cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp53cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp54cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp54cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp55cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp55cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg14: + rv32: + accessible: true + pmp56cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp56cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp57cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp57cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp58cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp58cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp59cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp59cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg15: + rv32: + accessible: true + pmp60cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp60cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp61cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp61cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp62cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp62cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp63cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp63cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + mcycle: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mcycle[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + minstret: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - minstret[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + mcycleh: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mcycleh[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + minstreth: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - minstreth[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr0: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr0[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x20 + pmpaddr1: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr1[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr2: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr2[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr3: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr3[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr4: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr4[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr5: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr5[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr6: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr6[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr7: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr7[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr8: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr8[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr9: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr9[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr10: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr10[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr11: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr11[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr12: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr12[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr13: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr13[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr14: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr14[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr15: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr15[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr16: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr16[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr17: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr17[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr18: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr18[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr19: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr19[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr20: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr20[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr21: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr21[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr22: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr22[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr23: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr23[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr24: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr24[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr25: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr25[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr26: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr26[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr27: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr27[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr28: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr28[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr29: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr29[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr30: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr30[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr31: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr31[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr32: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr32[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr33: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr33[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr34: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr34[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr35: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr35[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr36: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr36[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr37: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr37[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr38: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr38[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr39: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr39[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr40: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr40[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr41: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr41[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr42: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr42[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr43: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr43[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr44: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr44[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr45: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr45[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr46: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr46[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr47: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr47[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr48: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr48[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr49: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr49[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr50: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr50[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr51: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr51[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr52: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr52[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr53: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr53[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr54: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr54[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr55: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr55[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr56: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr56[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr57: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr57[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr58: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr58[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr59: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr59[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr60: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr60[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr61: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr61[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr62: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr62[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr63: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr63[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + fcsr: + rv64: + accessible: false + rv32: + accessible: true + fflags: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - fflags[4:0] in [0x00:0x1F] + wr_illegal: + - Unchanged + frm: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - frm[2:0] in [0x0:0x7] + wr_illegal: + - Unchanged + time: + rv32: + accessible: true + type: + ro_variable: true + rv64: + accessible: false + reset-val: 0 + timeh: + rv32: + accessible: true + type: + ro_variable: true + rv64: + accessible: false + reset-val: 0 diff --git a/cookbook/functional_code_examples/add_a_new_extension/rv32i_platform.yaml b/cookbook/functional_code_examples/add_a_new_extension/rv32i_platform.yaml new file mode 100644 index 000000000..9748f523d --- /dev/null +++ b/cookbook/functional_code_examples/add_a_new_extension/rv32i_platform.yaml @@ -0,0 +1,15 @@ +nmi: + label: nmi_vector +reset: +# label: reset_vector +# address: 0x1000 + address: 0x80000000 +mtime: + implemented: True + address: 0x20000 + +# TODO: until we have a method for doing a memory map, +# we will keep with the original model of having 1 RAM +# block whose size can be given in MBs. +ram_size : 4 + diff --git a/cookbook/functional_code_examples/add_a_new_extension/test.S b/cookbook/functional_code_examples/add_a_new_extension/test.S new file mode 100644 index 000000000..9c2a1f492 --- /dev/null +++ b/cookbook/functional_code_examples/add_a_new_extension/test.S @@ -0,0 +1,318 @@ +// vim: tabstop=2 shiftwidth=2 expandtab +// -------------------------------------------------------------------------------------------- +/// @file test.S +/// +/// +/// @brief RISC-V asm code for testing an example custom instruction +/// +/// @author Bill McSpadden (RISC-V Internation) (bill@riscv.org) +// -------------------------------------------------------------------------------------------- + +#ifndef CONFIG_BASE +#error The C pre-processor variable, CONFIG_BASE, must be set. +#endif + +// -------------------------------------------------------- +// Support for a custom extension + +#define X_XMPL_OPCODE (0x2b) // inst[6:5] == 01, inst[4:2] == 1011 --> custom-0 + +#define XO (0) +#define X1 (1) +#define X2 (2) +#define X3 (3) +#define X4 (4) +#define X5 (5) +#define X6 (6) +#define X7 (7) +#define X8 (8) +#define X9 (9) +#define X10 (10) +#define X11 (11) +#define X12 (12) +#define X13 (13) +#define X14 (14) +#define X15 (15) +#define X16 (16) +#define X17 (17) +#define X18 (18) +#define X19 (19) +#define X20 (20) +#define X21 (21) +#define X22 (22) +#define X23 (23) +#define X24 (24) +#define X25 (25) +#define X26 (26) +#define X27 (27) +#define X28 (28) +#define X29 (29) +#define X30 (30) +#define X31 (31) + +#define X_XMPL(__rd__, __imm__) .word (__imm__ << 12) | (__rd__ << 7) | (X_XMPL_OPCODE << 0) + + + +// -------------------------------------------------------- +// Memory-mapped machine timer registers and other support +// for generating a timer interrupt + +//#define MMR_MTIMEL (CONFIG_BASE + 0x0000) +//#define MMR_MTIMEH (CONFIG_BASE + 0x0004) +//#define MMR_MTIMECMPL (CONFIG_BASE + 0x0008) +//#define MMR_MTIMECMPH (CONFIG_BASE + 0x000C) + +#define MMR_MTIMEL (CONFIG_BASE + 0xbff8) +#define MMR_MTIMEH (CONFIG_BASE + 0xbffc) +#define MMR_MTIMECMPL (CONFIG_BASE + 0x4000) +#define MMR_MTIMECMPH (CONFIG_BASE + 0x4004) + +#define TIMER_COUNT (100) +#define WATCHDOG_COUNT (100000) + +#define MSTATUS_MIE 0x00000008 +#define MSTATUS_FS 0x00006000 +#define MSTATUS_XS 0x00018000 + +#define MIE_MTIE 0x80 + + +// -------------------------------------------------------- +// mcause bit definitions + +#define MCAUSE_SUPERVISOR_SOFTWARE_INTERRUPT (0x1 << (__riscv_xlen - 1) + 1) +#define MCAUSE_MACHINE_TIMER_INTERRUPT (0x1 << (__riscv_xlen - 1) + 7) +#define MCAUSE_ILLEGAL_INSTRUCTION (0x0 << (__riscv_xlen - 1) + 2) + +// -------------------------------------------------------- +// Support for tohost/fromhost + +#define PASS_CODE 1 +#define FAIL_CODE 1337 + + +// -------------------------------------------------------- +// Support for 32/64 bit compilation. + +#if __riscv_xlen == 64 +# define LREG ld +# define SREG sd +# define REGBYTES 8 +#else +# define LREG lw +# define SREG sw +# define REGBYTES 4 +#endif + + + +// -------------------------------------------------------- +// Following power-on reset, we start executing at _start. +// We jump to "reset_vector" +// + .section ".text.init" + .globl _start +_start: + la x5, reset_vector + jr x5 +// -------------------------------------------------------- + + +// -------------------------------------------------------- +// Initialization of the processor, starting with the +// register file. +reset_vector: + li x1, 0 + li x2, 0 + li x3, 0 + li x4, 0 + li x5, 0 + li x6, 0 + li x7, 0 + li x8, 0 + li x9, 0 + li x10, 0 + li x11, 0 + li x12, 0 + li x13, 0 + li x14, 0 + li x15, 0 + li x16, 0 + li x17, 0 + li x18, 0 + li x19, 0 + li x20, 0 + li x21, 0 + li x22, 0 + li x23, 0 + li x24, 0 + li x25, 0 + li x26, 0 + li x27, 0 + li x28, 0 + li x29, 0 + li x30, 0 + li x31, 0 + +// -------------------------------------------------------- +// PMP configuration + + # configure pmp to enable all accesses + li t0, 0x1f + csrw pmpcfg0, t0 + li t0, 0xffffffff + csrw pmpaddr0, t0 + +// -------------------------------------------------------- +// initialize machine trap vector + la x5, machine_trap_entry + csrw mtvec, x5 + + +// -------------------------------------------------------- +// The test! + + X_XMPL(X2, 0x0dead) + + + + + +// -------------------------------------------------------- +// PASS: The end of the test, if successful +j_target_end_pass: + // exit code construction + li x10, PASS_CODE + la x13, tohost + sw x10, 0(x13) + la x5, j_target_end_pass + jalr x5 + j j_target_end_fail // should never be taken + +// -------------------------------------------------------- + +// -------------------------------------------------------- +// FAIL: The end of the test, if unsuccessful +j_target_end_fail: + // exit code construction + li x10, FAIL_CODE + la x13, tohost + sw x10, 0(x13) + la x5, j_target_end_fail + jalr x5 + + +// -------------------------------------------------------- +// In support of vectored interrupt, although it's not +// being used in this test. + + .align 4 +machine_trap_entry: + j machine_trap_entry_0 + .align 2 + j machine_trap_entry_1 + .align 2 + j machine_trap_entry_2 + .align 2 + j machine_trap_entry_3 + .align 2 + j machine_trap_entry_4 + .align 2 + j machine_trap_entry_5 + .align 2 + j machine_trap_entry_6 + .align 2 + j machine_trap_entry_7 + .align 2 + j machine_trap_entry_8 + .align 2 + j machine_trap_entry_9 + .align 2 + j machine_trap_entry_10 + .align 2 + j machine_trap_entry_11 +// -------------------------------------------------------- + + +// -------------------------------------------------------- + .align 2 +machine_trap_entry_0: + csrr x7, mcause + li x6, MCAUSE_MACHINE_TIMER_INTERRUPT + bne x7, x6, not_a_timer_interrupt + li x6, 0x1 + la x7, timer_interrupt_flag + sw x6, 0(x7) + + // Turn off timer interrupt. No longer needed + addi x7, x0, MIE_MTIE + csrc mie, x7 + + // Clear interrupt + li x7, MSTATUS_MIE + csrc mstatus, x7 + + // and return + mret + +not_a_timer_interrupt: + // Do not try and correct the opcode, and do not + // do an mret. This should probably be the last + // part of this simple test. + csrr x7, mcause + li x6, MCAUSE_ILLEGAL_INSTRUCTION + j j_target_end_fail +// -------------------------------------------------------- + +// -------------------------------------------------------- +// None of these machine traps should have been taken +// Jump to test failure +machine_trap_entry_1: +machine_trap_entry_2: +machine_trap_entry_3: +machine_trap_entry_4: +machine_trap_entry_5: +machine_trap_entry_6: +machine_trap_entry_7: +machine_trap_entry_8: +machine_trap_entry_9: +machine_trap_entry_10: +machine_trap_entry_11: + csrr x7, mcause // Do the read so that it appears in the log file for debug. + j j_target_end_fail +// -------------------------------------------------------- + + + +// -------------------------------------------------------- +// Memory locations for specific usage. +.section ".tdata.begin" +.globl _tdata_begin +_tdata_begin: + +.section ".tdata.end" +.globl _tdata_end +_tdata_end: + +.section ".tbss.end" +.globl _tbss_end +_tbss_end: + +.section ".tohost","aw",@progbits +.align 6 +.globl tohost +tohost: .dword 0 + +.section ".fromhost","aw",@progbits +.align 6 +.globl fromhost +fromhost: .dword 0 + +.align 6 +.global timer_interrupt_flag +timer_interrupt_flag: .dword 0 + + + + diff --git a/cookbook/functional_code_examples/br_j_asm/Makefile b/cookbook/functional_code_examples/br_j_asm/Makefile index 36ea714a5..2da527894 100644 --- a/cookbook/functional_code_examples/br_j_asm/Makefile +++ b/cookbook/functional_code_examples/br_j_asm/Makefile @@ -32,8 +32,8 @@ # -------------------------------------------------------------------------------------------- # USER MUST SET THESE TO A PROPER SETTING -XLEN := 64 -#XLEN := 32 +#XLEN := 64 +XLEN := 32 #TOOL_OPT := elf TOOL_OPT := linux-gnu #RISCV := /apps/vlsi/tools/riscv/gnu_toolchain/102020/standard/riscv64-unknown-elf @@ -42,6 +42,8 @@ RISCV := /opt/riscv32 #CONFIG_BASE := 0x70080 CONFIG_BASE := 0x80000000 MARCH := -march=rv32imc -mabi=ilp32 +#MARCH := -march=rv32imc +#MARCH := -march=elf32lriscv_ilp32 LD_FILE := ./riscv_test.ld #RUN_TOOL := /home/billmc/riscv/sail-riscv.git/c_emulator/riscv_sim_RV32 GIT_ROOT_DIR := /home/billmc/riscv/sail-riscv_br_billmcspadden-riscv.git @@ -90,6 +92,7 @@ C_OBJS := $(subst .c,.o,${C_SRC}) C_FLAGS := -DCONFIG_BASE=${CONFIG_BASE} ${MARCH} #LD_FLAGS := -T ${LD_FILE} ${MARCH} +#LD_FLAGS := -T ${LD_FILE} -march=elf32lriscv LD_FLAGS := -T ${LD_FILE} OBJS := ${ASM_OBJS} ${C_OBJS} diff --git a/model/riscv_types.sail b/model/riscv_types.sail index 3e24698f8..124595923 100644 --- a/model/riscv_types.sail +++ b/model/riscv_types.sail @@ -373,6 +373,7 @@ type csrRW = bits(2) /* read/write */ /* instruction opcode grouping */ enum uop = {RISCV_LUI, RISCV_AUIPC} /* upper immediate ops */ +enum xop = {RISCV_X_XMPL} /* custom extensions */ enum bop = {RISCV_BEQ, RISCV_BNE, RISCV_BLT, RISCV_BGE, RISCV_BLTU, RISCV_BGEU} /* branch ops */ enum iop = {RISCV_ADDI, RISCV_SLTI, RISCV_SLTIU, From 86a09d70c043c98816aa5ad650486b041543c854 Mon Sep 17 00:00:00 2001 From: William McSpaddden Date: Fri, 3 Feb 2023 12:30:39 -0600 Subject: [PATCH 04/12] xmple csr is implemented and compiles --- .../add_a_new_extension.adoc | 21 ++++++++++------ model/riscv_csr_map.sail | 1 + model/riscv_insts_zicsr.sail | 5 ++++ model/riscv_sys_regs.sail | 25 ++++++++++++++++++- 4 files changed, 44 insertions(+), 8 deletions(-) diff --git a/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc b/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc index e508ac702..1fbb4f98a 100644 --- a/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc +++ b/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc @@ -1,5 +1,5 @@ [#add-a-new-extension] -== Add A New Extension Example +== Example: Add A New Extension and a New CSR The main purpose of this cookbook, is to explain how someone can add an extension (and a CSR) to the RISC-V Sail model. This example attempts @@ -17,25 +17,32 @@ setion 27.10, "Non-Standard Extension Names". See priv spec, chapter 2, "CSR Listings", Table 2.1 +Other goals: + +* Demonstrate the experimental switch +* Demonstrate how to code WARL fields based on settings in the YAML files. Example -Single instruction: xmple -CSR: xmple_csr +Single instruction: xmpl +CSR: xmpl_csr -* Takes an unsigned immediate and puts the value into the xmple_csr +* Takes an unsigned immediate and puts the value into the xmpl_csr * The xmpl_csr can be read by the normal CSR instructions. * xmple_csr cannot be written with any form of the CSR instructions; it should generate an exception. Files: -* riscv_insts_xample.sail : the implmentation of the instruction and the CSR. -* Makefile : must add riscv_insts_xample.sail to the list of source files -* test.s : for testing the new instruction features +* (new) riscv_insts_custom_xampl.sail : the implmentation of the instruction and the CSR. +* (exists) riscv_csr_map.sail : the address map of the CSR registers. +* (exists) Makefile : must add riscv_insts_xample.sail to the list of source files +* (new) test.s : for testing the new instruction features +* (exists) riscv_types.sail : need to add new instruction to the proper instruction opcode grouping. +* (exists) riscv_insts_zicsr.sail : need to add new CSR functionality. diff --git a/model/riscv_csr_map.sail b/model/riscv_csr_map.sail index 31872d3f1..2b0421e59 100644 --- a/model/riscv_csr_map.sail +++ b/model/riscv_csr_map.sail @@ -116,6 +116,7 @@ mapping clause csr_name_map = 0xF11 <-> "mvendorid" mapping clause csr_name_map = 0xF12 <-> "marchid" mapping clause csr_name_map = 0xF13 <-> "mimpid" mapping clause csr_name_map = 0xF14 <-> "mhartid" +mapping clause csr_name_map = 0xFC0 <-> "xmple_csr" // Custom CSR example /* machine trap setup */ mapping clause csr_name_map = 0x300 <-> "mstatus" mapping clause csr_name_map = 0x301 <-> "misa" diff --git a/model/riscv_insts_zicsr.sail b/model/riscv_insts_zicsr.sail index 518396f91..70fcae07d 100644 --- a/model/riscv_insts_zicsr.sail +++ b/model/riscv_insts_zicsr.sail @@ -136,6 +136,11 @@ function readCSR csr : csreg -> xlenbits = { /* trigger/debug */ (0x7a0, _) => ~(tselect), /* this indicates we don't have any trigger support */ + /* machine mode, custom extension example */ +// (0xFC0, _) => xmpl_csr, // error: Xmpl_csr is not a subtype of bitvector(32, dec) +// (0xFC0, 32) => xmpl_csr, // error: Xmpl_csr is not a subtype of bitvector(32, dec) + (0xFC0, _) => xmpl_csr, // error: Xmpl_csr is not a subtype of bitvector(32, dec) + /* supervisor mode */ (0x100, _) => lower_mstatus(mstatus).bits(), (0x102, _) => sedeleg.bits(), diff --git a/model/riscv_sys_regs.sail b/model/riscv_sys_regs.sail index 9cc503442..5f9d01fe4 100644 --- a/model/riscv_sys_regs.sail +++ b/model/riscv_sys_regs.sail @@ -144,7 +144,7 @@ val sys_enable_writable_misa = {c: "sys_enable_writable_misa", ocaml: "Platform. val sys_enable_rvc = {c: "sys_enable_rvc", ocaml: "Platform.enable_rvc", _: "sys_enable_rvc"} : unit -> bool /* whether misa.{f,d} were enabled at boot */ val sys_enable_fdext = {c: "sys_enable_fdext", ocaml: "Platform.enable_fdext", _: "sys_enable_fdext"} : unit -> bool -/* whether zfinx was enabled at boot */ +/* whether zfinx was enabled at boot/* Custom CSR example */ */ val sys_enable_zfinx = {c: "sys_enable_zfinx", ocaml: "Platform.enable_zfinx", _: "sys_enable_zfinx"} : unit -> bool /* whether the N extension was enabled at boot */ val sys_enable_next = {c: "sys_enable_next", ocaml: "Platform.enable_next", _: "sys_enable_next"} : unit -> bool @@ -824,3 +824,26 @@ function read_seed_csr() -> xlenbits = { /* Writes to the seed CSR are ignored */ function write_seed_csr () -> option(xlenbits) = None() + + +/* Custom CSR example */ + +//bitfield Xmpl_csr : xlenbits = { +bitfield Xmpl_csr : bitvector(32, dec) = { + Rsrvd : (xlen - 1) .. (xlen - 6), + LegallyAllowedBits : (xlen - 7) .. 0 +// Rsrvd : 31 .. 25, +// LegallyAllowedBits : 24 .. 0 +} + +//register xmpl_csr : Xmpl_csr +register xmpl_csr : bitvector(32, dec) + +//function legalize_xmpl_csr(o : Xmpl_csr, v : xlenbits) -> Xmpl_csr = { +function legalize_xmpl_csr(o : Xmpl_csr, v : xlenbits) -> bitvector(32, dec) = { + let v = Mk_Xmpl_csr(v); + // TODO: Write a meaningful legalize function. + // Just return the register value for now + xmpl_csr +} + From a7b290de27fc57b0b791f730d4fd04df0671b442 Mon Sep 17 00:00:00 2001 From: William McSpaddden Date: Mon, 6 Feb 2023 10:26:19 -0600 Subject: [PATCH 05/12] added yaml config files to examples. custom CSRs added to the model as examples. model compiles and runs --- .../add_a_new_extension.adoc | 2 + .../add_a_new_extension/test.S | 4 +- .../br_j_asm/rv32i_isa.yaml | 3096 +++++++++++++++++ .../br_j_asm/rv32i_platform.yaml | 15 + model/riscv_insts_zicsr.sail | 2 + model/riscv_sys_control.sail | 4 + model/riscv_sys_regs.sail | 28 +- 7 files changed, 3147 insertions(+), 4 deletions(-) create mode 100644 cookbook/functional_code_examples/br_j_asm/rv32i_isa.yaml create mode 100644 cookbook/functional_code_examples/br_j_asm/rv32i_platform.yaml diff --git a/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc b/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc index 1fbb4f98a..3264952c3 100644 --- a/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc +++ b/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc @@ -43,6 +43,8 @@ Files: * (new) test.s : for testing the new instruction features * (exists) riscv_types.sail : need to add new instruction to the proper instruction opcode grouping. * (exists) riscv_insts_zicsr.sail : need to add new CSR functionality. +* (exists) riscv_csr_map.sail : need to add new CSR name to the mapping +* (exists) riscv_sys_control.sail : need to add the new CSR name to the list found in is_CSR_defined(). diff --git a/cookbook/functional_code_examples/add_a_new_extension/test.S b/cookbook/functional_code_examples/add_a_new_extension/test.S index 9c2a1f492..414d9aebe 100644 --- a/cookbook/functional_code_examples/add_a_new_extension/test.S +++ b/cookbook/functional_code_examples/add_a_new_extension/test.S @@ -105,7 +105,8 @@ # define REGBYTES 4 #endif - +#define XMPL_CSR (0xfc0) +#define XMPL_CSR_2 (0xfc1) // -------------------------------------------------------- // Following power-on reset, we start executing at _start. @@ -174,6 +175,7 @@ reset_vector: // The test! X_XMPL(X2, 0x0dead) + csrr x3, XMPL_CSR_2 diff --git a/cookbook/functional_code_examples/br_j_asm/rv32i_isa.yaml b/cookbook/functional_code_examples/br_j_asm/rv32i_isa.yaml new file mode 100644 index 000000000..68f3c85da --- /dev/null +++ b/cookbook/functional_code_examples/br_j_asm/rv32i_isa.yaml @@ -0,0 +1,3096 @@ +hart_ids: [0] +hart0: &hart0 +# ISA: RV32IMAFCNSHUZicsr_Zifencei + ISA: RV64IMAFCNSHUZicsr_Zifencei_Ssptead + User_Spec_Version: '2.3' + supported_xlen: [32] + physical_addr_sz: 32 + pmp_granularity: 5 + hw_data_misaligned_support : true +# pte_dirty_update_enable : true # TODO: look for Ssptead in ISA string + misa: + reset-val: 0x401431A5 + rv32: + accessible: true + mxl: + implemented: true + type: + warl: + dependency_fields: [] + legal: + + - mxl[1:0] in [0x1] + wr_illegal: + - unchanged + extensions: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - extensions[25:0] in [0x0000000:0x3FFFFFF] + wr_illegal: + - unchanged + mvendorid: + reset-val: 0xdeadbeef + rv32: + accessible: true + type: + ro_constant: 0xdeadbeef + rv64: + accessible: false + mtvec: + reset-val: 0x80010000 + rv32: + accessible: true + base: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - "base[29:0] bitmask [0x3FFFFFFF, 0x00000000]" + wr_illegal: + - "Unchanged" + mode: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - "mode[1:0] in [0x0,0x1]" + wr_illegal: + - "Unchanged" + sstatus: + reset-val: 0x0 + rv32: + accessible: true + uie: + implemented: false + sie: + implemented: true + upie: + implemented: false + spie: + implemented: true + spp: + implemented: true + fs: + implemented: false + xs: + implemented: true + sum: + implemented: true + mxr: + implemented: true + sd: + implemented: true + rv64: + accessible: false + vsstatus: + reset-val: 0x0 + rv32: + accessible: true + uie: + implemented: false + sie: + implemented: true + upie: + implemented: false + spie: + implemented: true + spp: + implemented: true + fs: + implemented: false + xs: + implemented: true + sum: + implemented: true + mxr: + implemented: true + sd: + implemented: true + rv64: + accessible: false + mstatus: + reset-val: 0x0 + rv32: + accessible: true + uie: + implemented: true + sie: + implemented: true + type: + wlrl: [0:1] + mie: + implemented: true + upie: + implemented: true + spie: + implemented: true + type: + wlrl: [0:1] + mpie: + implemented: true + spp: + implemented: true + type: + wlrl: [0:1] + mpp: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - mpp[1:0] in [0x0, 0x3] + wr_illegal: + - Unchanged + fs: + implemented: false + xs: + implemented: true + type: + ro_variable: true + mprv: + implemented: true + type: + wlrl: [0:1] + sum: + implemented: true + type: + wlrl: [0:1] + mxr: + implemented: true + type: + wlrl: [0:1] + tvm: + implemented: true + type: + wlrl: [0:1] + tw: + implemented: false + tsr: + implemented: true + type: + wlrl: [0:1] + sd: + implemented: true + type: + ro_variable: true + rv64: + accessible: false + + mip: + reset-val: 0 + rv32: + accessible: true + usip: + implemented: true + ssip: + implemented: true + msip: + implemented: true + type: + ro_variable: true + utip: + implemented: true + stip: + implemented: true + mtip: + implemented: true + type: + ro_variable: [0x01] + ueip: + implemented: true + seip: + implemented: true + meip: + implemented: true + type: + ro_variable: true + rv64: + accessible: false + hip: + reset-val: 0 + rv32: + accessible: true + vssip: + implemented: true + vstip: + implemented: true + vseip: + implemented: true + sgeip: + implemented: true + type: + ro_variable: true + rv64: + accessible: false + mie: + reset-val: 0 + rv32: + accessible: true + usie: + implemented: true + ssie: + implemented: true + msie: + implemented: true + type: + ro_variable: true + utie: + implemented: true + stie: + implemented: true + mtie: + implemented: true + ueie: + implemented: true + seie: + implemented: true + meie: + implemented: true + rv64: + accessible: false + hie: + reset-val: 0 + rv32: + accessible: true + vssie: + implemented: true + vstie: + implemented: true + vseie: + implemented: true + sgeie: + implemented: true + rv64: + accessible: false + mepc: + reset-val: 0x0 + rv32: + accessible: true + rv64: + accessible: false + mtval: + reset-val: 0x0 + has_illegal_inst_bits : false + rv32: + accessible: true + rv64: + accessible: false + mcause: + reset-val: 0 + rv32: + accessible: true + interrupt: + implemented: true + exception_code: + implemented: true + rv64: + accessible: false + + marchid: + rv32: + accessible: true + type: + ro_constant: 0x0 + rv64: + accessible: false + reset-val: 0x0 + mhartid: + rv32: + accessible: true + type: + ro_constant: 0x0 + rv64: + accessible: false + reset-val: 0x00 + mscratch: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mscratch[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter3: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter3[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + hpmcounter3: + rv32: + accessible: true + rv64: + accessible: false + reset-val: 0x0 + hpmcounter3h: + rv32: + accessible: true + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter4: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter4[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter4h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter4h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter5: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter5[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter6: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter6[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter7: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter7[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter8: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter8[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter9: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter9[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter10: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter10[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter11: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter11[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter12: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter12[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter13: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter13[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter14: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter14[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter15: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter15[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter16: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter16[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter17: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter17[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter18: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter18[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter19: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter19[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter20: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter20[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter21: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter21[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter22: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter22[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter23: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter23[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter24: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter24[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter25: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter25[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter26: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter26[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter27: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter27[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter28: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter28[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter29: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter29[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter30: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter30[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter31: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter31[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + + mhpmcounter3h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter3h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter5h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter5h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter6h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter6h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter7h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter7h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter8h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter8h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter9h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter9h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter10h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter10h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter11h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter11h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter12h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter12h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter13h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter13h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter14h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter14h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter15h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter15h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter16h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter16h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter17h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter17h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter18h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter18h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter19h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter19h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter20h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter20h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter21h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter21h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter22h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter22h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter23h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter23h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter24h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter24h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter25h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter25h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter26h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter26h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter27h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter27h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter28h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter28h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter29h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter29h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter30h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter30h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmcounter31h: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcounter31h[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mcountinhibit: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmcountinhibit[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent3: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent3[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent4: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent4[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent5: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent5[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent6: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent6[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent7: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent7[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent8: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent8[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent9: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent9[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent10: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent10[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent11: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent11[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent12: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent12[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent13: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent13[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent14: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent14[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent15: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent15[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent16: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent16[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent17: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent17[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent18: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent18[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent19: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent19[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent20: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent20[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent21: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent21[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent22: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent22[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent23: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent23[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent24: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent24[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent25: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent25[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent26: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent26[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent27: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent27[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent28: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent28[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent29: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent29[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent30: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent30[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mhpmevent31: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mhpmevent31[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x0 + mimpid: + rv32: + accessible: true + type: + ro_constant: 0x0 + rv64: + accessible: false + reset-val: 0 + mcounteren: + rv32: + accessible: true + rv64: + accessible: false + reset-val: 0 + pmpcfg0: + rv32: + accessible: true + pmp0cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp0cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp1cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp1cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp2cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp2cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp3cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp3cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg1: + rv32: + accessible: true + pmp4cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp4cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp5cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp5cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp6cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp6cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp7cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp7cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg2: + rv32: + accessible: true + pmp8cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp8cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp9cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp9cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp10cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp10cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp11cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp11cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg3: + rv32: + accessible: true + pmp12cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp12cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp13cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp13cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp14cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp14cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp15cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp15cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg4: + rv32: + accessible: true + pmp16cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp16cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp17cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp17cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp18cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp18cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp19cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp19cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg5: + rv32: + accessible: true + pmp20cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp20cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp21cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp21cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp22cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp22cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp23cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp23cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg6: + rv32: + accessible: true + pmp24cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp24cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp25cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp25cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp26cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp26cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp27cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp27cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg7: + rv32: + accessible: true + pmp28cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp28cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp29cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp29cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp30cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp30cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp31cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp31cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg8: + rv32: + accessible: true + pmp32cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp32cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp33cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp33cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp34cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp34cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp35cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp35cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg9: + rv32: + accessible: true + pmp36cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp36cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp37cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp37cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp38cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp38cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp39cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp39cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg10: + rv32: + accessible: true + pmp40cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp40cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp41cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp41cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp42cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp42cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp43cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp43cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg11: + rv32: + accessible: true + pmp44cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp44cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp45cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp45cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp46cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp46cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp47cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp47cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg12: + rv32: + accessible: true + pmp48cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp48cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp49cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp49cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp50cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp50cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp51cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp51cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg13: + rv32: + accessible: true + pmp52cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp52cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp53cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp53cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp54cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp54cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp55cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp55cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg14: + rv32: + accessible: true + pmp56cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp56cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp57cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp57cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp58cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp58cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp59cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp59cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpcfg15: + rv32: + accessible: true + pmp60cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp60cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp61cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp61cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp62cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp62cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + pmp63cfg: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - pmp63cfg[7:0] in [0x00:0xFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + mcycle: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mcycle[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + minstret: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - minstret[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + mcycleh: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - mcycleh[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + minstreth: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - minstreth[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr0: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr0[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0x20 + pmpaddr1: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr1[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr2: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr2[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr3: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr3[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr4: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr4[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr5: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr5[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr6: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr6[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr7: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr7[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr8: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr8[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr9: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr9[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr10: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr10[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr11: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr11[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr12: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr12[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr13: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr13[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr14: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr14[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr15: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr15[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr16: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr16[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr17: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr17[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr18: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr18[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr19: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr19[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr20: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr20[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr21: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr21[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr22: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr22[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr23: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr23[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr24: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr24[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr25: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr25[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr26: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr26[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr27: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr27[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr28: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr28[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr29: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr29[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr30: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr30[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr31: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr31[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr32: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr32[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr33: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr33[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr34: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr34[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr35: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr35[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr36: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr36[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr37: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr37[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr38: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr38[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr39: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr39[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr40: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr40[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr41: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr41[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr42: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr42[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr43: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr43[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr44: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr44[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr45: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr45[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr46: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr46[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr47: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr47[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr48: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr48[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr49: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr49[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr50: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr50[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr51: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr51[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr52: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr52[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr53: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr53[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr54: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr54[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr55: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr55[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr56: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr56[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr57: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr57[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr58: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr58[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + + pmpaddr59: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr59[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr60: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr60[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr61: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr61[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr62: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr62[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + pmpaddr63: + rv32: + accessible: true + type: + warl: + dependency_fields: [] + legal: + - pmpaddr63[31:0] in [0x00000000:0xFFFFFFFF] + wr_illegal: + - unchanged + rv64: + accessible: false + reset-val: 0 + fcsr: + rv64: + accessible: false + rv32: + accessible: true + fflags: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - fflags[4:0] in [0x00:0x1F] + wr_illegal: + - Unchanged + frm: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - frm[2:0] in [0x0:0x7] + wr_illegal: + - Unchanged + time: + rv32: + accessible: true + type: + ro_variable: true + rv64: + accessible: false + reset-val: 0 + timeh: + rv32: + accessible: true + type: + ro_variable: true + rv64: + accessible: false + reset-val: 0 diff --git a/cookbook/functional_code_examples/br_j_asm/rv32i_platform.yaml b/cookbook/functional_code_examples/br_j_asm/rv32i_platform.yaml new file mode 100644 index 000000000..9748f523d --- /dev/null +++ b/cookbook/functional_code_examples/br_j_asm/rv32i_platform.yaml @@ -0,0 +1,15 @@ +nmi: + label: nmi_vector +reset: +# label: reset_vector +# address: 0x1000 + address: 0x80000000 +mtime: + implemented: True + address: 0x20000 + +# TODO: until we have a method for doing a memory map, +# we will keep with the original model of having 1 RAM +# block whose size can be given in MBs. +ram_size : 4 + diff --git a/model/riscv_insts_zicsr.sail b/model/riscv_insts_zicsr.sail index 70fcae07d..707eb4c75 100644 --- a/model/riscv_insts_zicsr.sail +++ b/model/riscv_insts_zicsr.sail @@ -140,6 +140,8 @@ function readCSR csr : csreg -> xlenbits = { // (0xFC0, _) => xmpl_csr, // error: Xmpl_csr is not a subtype of bitvector(32, dec) // (0xFC0, 32) => xmpl_csr, // error: Xmpl_csr is not a subtype of bitvector(32, dec) (0xFC0, _) => xmpl_csr, // error: Xmpl_csr is not a subtype of bitvector(32, dec) +// (0xFC0, _) => xmpl_csr.bits(), // error (long error message which i couldn't interpret + (0xFC1, _) => xmpl_csr_2.bits(), /* supervisor mode */ (0x100, _) => lower_mstatus(mstatus).bits(), diff --git a/model/riscv_sys_control.sail b/model/riscv_sys_control.sail index 6204ae59e..310a3fdb7 100644 --- a/model/riscv_sys_control.sail +++ b/model/riscv_sys_control.sail @@ -130,6 +130,10 @@ function is_CSR_defined (csr : csreg, p : Privilege) -> bool = /* disabled trigger/debug module */ 0x7a0 => p == Machine, + /* custom CSRs */ + 0xFC0 => p == Machine, // xmpl_csr Example custom csr + 0xFC1 => p == Machine, // xmpl_csr_1 Example custom csr + /* supervisor mode: trap setup */ 0x100 => haveSupMode() & (p == Machine | p == Supervisor), // sstatus 0x102 => haveSupMode() & haveNExt() & (p == Machine | p == Supervisor), // sedeleg diff --git a/model/riscv_sys_regs.sail b/model/riscv_sys_regs.sail index 5f9d01fe4..5ffed0f59 100644 --- a/model/riscv_sys_regs.sail +++ b/model/riscv_sys_regs.sail @@ -830,8 +830,8 @@ function write_seed_csr () -> option(xlenbits) = None() //bitfield Xmpl_csr : xlenbits = { bitfield Xmpl_csr : bitvector(32, dec) = { - Rsrvd : (xlen - 1) .. (xlen - 6), - LegallyAllowedBits : (xlen - 7) .. 0 + Rsrvd : (xlen - 1) .. (xlen - 7), + LegallyAllowedBits : (xlen - 8) .. 0 // Rsrvd : 31 .. 25, // LegallyAllowedBits : 24 .. 0 } @@ -840,10 +840,32 @@ bitfield Xmpl_csr : bitvector(32, dec) = { register xmpl_csr : bitvector(32, dec) //function legalize_xmpl_csr(o : Xmpl_csr, v : xlenbits) -> Xmpl_csr = { -function legalize_xmpl_csr(o : Xmpl_csr, v : xlenbits) -> bitvector(32, dec) = { +//function legalize_xmpl_csr(o : Xmpl_csr, v : xlenbits) -> bitvector(32, dec) = { +//function legalize_xmpl_csr(o : Xmpl_csr, v : bitvector(32, dec)) -> Xmpl_csr = { +function legalize_xmpl_csr(o : Xmpl_csr, v : bitvector(32, dec)) -> bitvector(32, dec) = { let v = Mk_Xmpl_csr(v); // TODO: Write a meaningful legalize function. // Just return the register value for now xmpl_csr } +bitfield Xmpl_csr_2 : xlenbits = { + Rsrvd : (xlen - 1) .. (xlen - 7), + LegallyAllowedBits : (xlen - 8) .. 0 +} +register xmpl_csr_2 : Xmpl_csr_2 + +function legalize_xmpl_csr_2(o : Xmpl_csr_2, v : bitvector(32, dec)) -> bitvector(32, dec) = { + let v = Mk_Xmpl_csr_2(v); + // TODO: Write a meaningful legalize function. + // Just return the register value for now +// xmpl_csr_2 // ERROR: Xmpl_csr_2 is not a subtype of bitvector(32, dec) + xmpl_csr_2.bits() +} + + + + + + + From de3af0ad9585ef13748dbfc71a335f569dea5148 Mon Sep 17 00:00:00 2001 From: William McSpaddden Date: Mon, 13 Feb 2023 14:56:58 -0600 Subject: [PATCH 06/12] sample commit --- foobar | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 foobar diff --git a/foobar b/foobar new file mode 100644 index 000000000..e69de29bb From 13ea01bbab40194805241d249dd6c7843dad6dd8 Mon Sep 17 00:00:00 2001 From: William McSpaddden Date: Mon, 13 Feb 2023 14:58:20 -0600 Subject: [PATCH 07/12] deleted foobar --- foobar | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 foobar diff --git a/foobar b/foobar deleted file mode 100644 index e69de29bb..000000000 From 8aeb166e8eeba169ec876e00632587721797cbf0 Mon Sep 17 00:00:00 2001 From: William McSpaddden Date: Mon, 13 Feb 2023 19:36:29 -0600 Subject: [PATCH 08/12] intermediate checkin in preparation for merging with brnach command_line_switch_experimental --- .../functional_code_examples/add_a_new_extension/test.S | 4 ++++ model/riscv_step.sail | 2 ++ model/riscv_sys_regs.sail | 6 ++---- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/cookbook/functional_code_examples/add_a_new_extension/test.S b/cookbook/functional_code_examples/add_a_new_extension/test.S index 414d9aebe..1b16fa504 100644 --- a/cookbook/functional_code_examples/add_a_new_extension/test.S +++ b/cookbook/functional_code_examples/add_a_new_extension/test.S @@ -177,6 +177,10 @@ reset_vector: X_XMPL(X2, 0x0dead) csrr x3, XMPL_CSR_2 +// li x4, 0x76543210 +// csrw XMPL_CSR_2, x4 // Q: What happens to a write to a read-only csr? +// // A: illegal_instruction trap + diff --git a/model/riscv_step.sail b/model/riscv_step.sail index 032fcc617..475ff7648 100644 --- a/model/riscv_step.sail +++ b/model/riscv_step.sail @@ -72,6 +72,7 @@ $include "rv_cfg_func_sigs.sail" /* returns whether to increment the step count in the trace */ function step(step_no : int) -> bool = { + print(__FILE__); print(__LOC__); print("entering step() function...\n"); /* for step extensions */ ext_pre_step_hook(); @@ -145,6 +146,7 @@ function loop () : unit -> unit = { let insns_per_tick = plat_insns_per_tick(); i : int = 0; step_no : int = 0; + print(__FILE__); print(__LOC__); print("entering loop() function...\n"); while (~ (htif_done)) do { let stepped = step(step_no); if stepped then step_no = step_no + 1; diff --git a/model/riscv_sys_regs.sail b/model/riscv_sys_regs.sail index 5ffed0f59..f264eaeda 100644 --- a/model/riscv_sys_regs.sail +++ b/model/riscv_sys_regs.sail @@ -831,9 +831,7 @@ function write_seed_csr () -> option(xlenbits) = None() //bitfield Xmpl_csr : xlenbits = { bitfield Xmpl_csr : bitvector(32, dec) = { Rsrvd : (xlen - 1) .. (xlen - 7), - LegallyAllowedBits : (xlen - 8) .. 0 -// Rsrvd : 31 .. 25, -// LegallyAllowedBits : 24 .. 0 + FieldWARL : (xlen - 8) .. 0 } //register xmpl_csr : Xmpl_csr @@ -851,7 +849,7 @@ function legalize_xmpl_csr(o : Xmpl_csr, v : bitvector(32, dec)) -> bitvector(32 bitfield Xmpl_csr_2 : xlenbits = { Rsrvd : (xlen - 1) .. (xlen - 7), - LegallyAllowedBits : (xlen - 8) .. 0 + FieldWARL : (xlen - 8) .. 0 } register xmpl_csr_2 : Xmpl_csr_2 From 2de99eaed00efe377c054ee12fdaf09cedbc4bd2 Mon Sep 17 00:00:00 2001 From: William McSpaddden Date: Wed, 1 Mar 2023 15:53:50 -0600 Subject: [PATCH 09/12] added much new code for the cookbook --- Makefile | 2 +- .../doc/TheRISCVSailCookbook_Complete.adoc | 608 +++++++++++++++++- .../doc/TheRISCVSailCookbook_Complete.pdf | Bin 62826 -> 577818 bytes cookbook/doc/TheRISCVSailCookbook_Main.adoc | 22 +- .../add_a_new_extension.adoc | 179 +++++- .../images/AllocationOfRISCV_CSRs.png | Bin 0 -> 275646 bytes .../images/AllocationOfRISCV_CSRs.xcf | Bin 0 -> 543709 bytes .../images/UnprivTitle.png | Bin 0 -> 74880 bytes .../images/UnprivTitle.xcf | Bin 0 -> 158916 bytes .../images/unpriv_ch24_inst_set_listings.png | Bin 0 -> 70801 bytes .../add_a_new_extension/rv32i_isa.yaml | 23 + .../add_a_new_extension/test.S | 5 +- model/riscv_csr_map.sail | 3 +- model/riscv_insts_zicsr.sail | 3 - model/riscv_sys_control.sail | 2 +- model/riscv_sys_regs.sail | 6 - 16 files changed, 828 insertions(+), 25 deletions(-) create mode 100644 cookbook/functional_code_examples/add_a_new_extension/images/AllocationOfRISCV_CSRs.png create mode 100644 cookbook/functional_code_examples/add_a_new_extension/images/AllocationOfRISCV_CSRs.xcf create mode 100644 cookbook/functional_code_examples/add_a_new_extension/images/UnprivTitle.png create mode 100644 cookbook/functional_code_examples/add_a_new_extension/images/UnprivTitle.xcf create mode 100644 cookbook/functional_code_examples/add_a_new_extension/images/unpriv_ch24_inst_set_listings.png diff --git a/Makefile b/Makefile index 1df23b707..437fd436f 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,7 @@ SAIL_DEFAULT_INST += riscv_insts_zbkb.sail SAIL_DEFAULT_INST += riscv_insts_zbkx.sail # Example custom extension (do not include this in the -# usual model build. +# usual model build.) SAIL_DEFAULT_INST += riscv_insts_custom_xmpl.sail SAIL_SEQ_INST = $(SAIL_DEFAULT_INST) riscv_jalr_seq.sail diff --git a/cookbook/doc/TheRISCVSailCookbook_Complete.adoc b/cookbook/doc/TheRISCVSailCookbook_Complete.adoc index 62990a08a..27989fa03 100644 --- a/cookbook/doc/TheRISCVSailCookbook_Complete.adoc +++ b/cookbook/doc/TheRISCVSailCookbook_Complete.adoc @@ -4,7 +4,7 @@ :doctype: book :sectids: The RISCV Sail Golden Model: A Cookbook for the RISCV ISA -============================================== +========================================================= William C. McSpadden ; Martin Berger :toc: @@ -103,6 +103,590 @@ TBD [#platform-configuration] == Platform Configuration example (Bill) +[#add-a-new-extension] +== Example: Add A New Extension and a New CSR + +The main purpose of this cookbook, is to explain how someone can add +an extension (and a CSR) to the RISC-V Sail model. This example attempts +to add a very simple instruction and a very simple CSR to the model. One +instruction will be added into the custom opcode space. And that +instruction will be used to manipulate the new CSR, which can then +be accessed by the existing CSR instructions. + +This is an example of what *is*, not necessarily what it should be. +This follows a pattern from the existing code. + +First, we will walk through the pertinent sections of the RISC-V specifications +to see what the specifications have to say about adding instructions. + +Let's start with the Unprivileged Specification + +image:images/UnprivTitle.png[] + +Chapter 26 of the Unpriv Spec ("Extending RISC-V") describes how you can extend +the RISC-V instruction set. + +See unpriv spec, chapter 26, "Extending RISC-V" + +See unpriv spec, chapter 24, "RV32/64G Instruction Set Listings" + +image:images/unpriv_ch24_inst_set_listings.png[] + + +See unpriv spec, chapter 27, "ISA Extension Naming Convention", especially +setion 27.10, "Non-Standard Extension Names". + +See priv spec, chapter 2, "CSR Listings", Table 2.1 + +image:images/AllocationOfRISCV_CSRs.png[] + + +Other goals: + +* Demonstrate the experimental switch +* Demonstrate how to code WARL fields based on settings in the YAML files. + +So now that we've seen what the specifications say, let's take ka look at +what that means for the Sail model. + +First, we'll define a simple instruction, xmpl. This instruction + + +Example + +Single instruction: xmpl +CSR: xmpl_csr + +* Takes an unsigned immediate and puts the value into the xmpl_csr +* The xmpl_csr can be read by the normal CSR instructions. +* xmpl_csr cannot be written with any form of the CSR instructions; +it should generate an exception. + +Files: + +* (new) model/riscv_insts_custom_xampl.sail : the implmentation of the instruction and the CSR. +* (exists) Makefile : must add riscv_insts_xample.sail to the list of source files +* (exists) model/riscv_types.sail : need to add new instruction to the proper instruction opcode grouping. +* (exists) model/riscv_csr_map.sail : the address map of the CSR registers. +* (exists) mpodel/iscv_insts_zicsr.sail : need to add new CSR functionality. +* (exists) model/riscv_csr_map.sail : need to add new CSR name to the mapping +* (exists) model/riscv_sys_control.sail : need to add the new CSR name to the list found in is_CSR_defined(). +* (new) cookbook/functional_code_examples/add_a_new_extension/test.S : for testing the new instruction features + + + + +riscv_insts_custom_xmpl.sail: + +// include doesn't appear to render in github +// Therefore, asciidoctor-reducer will be used to create +// a complete (all files included) file, which will be +// committed by git. + +[source, sail] +---- +// vim: set tabstop=2 shiftwidth=2 expandtab +// ============================================================================ +// Filename: riscv_insts_custom_xmpl.sail +// +// Description: Example for adding a custom instruction, xmpl, to the RISCV model +// +// Author(s): Bill McSpadden (bill@riscv.org) +// +// Revision: See revision control log +// ============================================================================ + +/* ********************************************************************* */ +/* This file specifies an example custom instruction */ +/* It can also be used as an example when adding other ratified */ +/* extensions (while also using the ISA nomenclature). */ + +union clause ast = XTYPE : (bits(25), xop) + +mapping encdec_x_xmpl : xop <-> bits(7) = { + RISCV_X_XMPL <-> 0b0101011 // inst[6:5] == 01, inst[4:2] == 010 --> custom-0 +} + +mapping clause encdec = XTYPE(imm, xop) + <-> imm @ encdec_x_xmpl(xop) + + +function clause execute (XTYPE(imm, xop)) = { + let csr_val : bitvector(25, dec) = imm; + xmpl_csr_2->FieldWARL() = csr_val ; + RETIRE_SUCCESS +} + +mapping x_xmpl_mnemonic : xop <-> string = { + RISCV_X_XMPL <-> "x.xmpl" +} + +mapping clause assembly = XTYPE(imm, xop) + <-> x_xmpl_mnemonic(xop) ^ " " ^ hex_bits_25(imm) + + + + + + + + + + + +---- + +Makefile (around lines 26-37): +``` +SAIL_DEFAULT_INST += riscv_insts_zba.sail +SAIL_DEFAULT_INST += riscv_insts_zbb.sail +SAIL_DEFAULT_INST += riscv_insts_zbc.sail +SAIL_DEFAULT_INST += riscv_insts_zbs.sail + +SAIL_DEFAULT_INST += riscv_insts_zfh.sail + +SAIL_DEFAULT_INST += riscv_insts_zkn.sail +SAIL_DEFAULT_INST += riscv_insts_zks.sail + +SAIL_DEFAULT_INST += riscv_insts_zbkb.sail +SAIL_DEFAULT_INST += riscv_insts_zbkx.sail + +# Example custom extension (do not include this in the +# usual model build.) +SAIL_DEFAULT_INST += riscv_insts_custom_xmpl.sail +``` + +model/riscv_types.sail : need to add new instruction to the proper instruction opcode grouping. +``` +TODO: What changes did I make to this file???? +``` + +model/riscv_csr_map.sail (around lines 115-120): +``` +. +. +mapping clause csr_name_map = 0xF11 <-> "mvendorid" +mapping clause csr_name_map = 0xF12 <-> "marchid" +mapping clause csr_name_map = 0xF13 <-> "mimpid" +mapping clause csr_name_map = 0xF14 <-> "mhartid" +mapping clause csr_name_map = 0xFC0 <-> "xmpl_csr" // Custom CSR example +mapping clause csr_name_map = 0xFC1 <-> "xmpl_2_csr" // Custom CSR example +. +. + +``` + +model/iscv_insts_zicsr.sail (around line 137): +``` +. +. + /* machine mode, custom extension example */ + (0xFC0, _) => xmpl_csr, // error: Xmpl_csr is not a subtype of bitvector(32, dec) + (0xFC1, _) => xmpl_csr_2.bits(), +. +. +``` + +model/riscv_sys_control.sail (within function +is_CSR_defined()+ ): +``` +function is_CSR_defined( csr : csreg, p : Privilege) -> bool = +. +. + /* custom CSRs */ + 0xFC0 => p == Machine, // xmpl_csr Example custom csr + 0xFC1 => p == Machine, // xmpl_csr_2 Example custom csr +. +. + +``` + +cookbook/functional_code_examples/add_a_new_extension/test.S : for testing the new instruction features + +[source, assembler] +---- + 1 // vim: tabstop=2 shiftwidth=2 expandtab + 2 // -------------------------------------------------------------------------------------------- + 3 /// @file test.S + 4 /// + 5 /// + 6 /// @brief RISC-V asm code for testing an example custom instruction + 7 /// + 8 /// @author Bill McSpadden (RISC-V Internation) (bill@riscv.org) + 9 // -------------------------------------------------------------------------------------------- + 10 + 11 #ifndef CONFIG_BASE + 12 #error The C pre-processor variable, CONFIG_BASE, must be set. + 13 #endif + 14 + 15 // -------------------------------------------------------- + 16 // Support for a custom extension + 17 + 18 #define X_XMPL_OPCODE (0x2b) // inst[6:5] == 01, inst[4:2] == 1011 --> custom-0 + 19 #define X_XMPL(__rd__, __imm__) .word (__imm__ << 12) | (__rd__ << 7) | (X_XMPL_OPCODE << 0) + 20 + 21 #define XO (0) + 22 #define X1 (1) + 23 #define X2 (2) + 24 #define X3 (3) + 25 #define X4 (4) + 26 #define X5 (5) + 27 #define X6 (6) + 28 #define X7 (7) + 29 #define X8 (8) + 30 #define X9 (9) + 31 #define X10 (10) + 32 #define X11 (11) + 33 #define X12 (12) + 34 #define X13 (13) + 35 #define X14 (14) + 36 #define X15 (15) + 37 #define X16 (16) + 38 #define X17 (17) + 39 #define X18 (18) + 40 #define X19 (19) + 41 #define X20 (20) + 42 #define X21 (21) + 43 #define X22 (22) + 44 #define X23 (23) + 45 #define X24 (24) + 46 #define X25 (25) + 47 #define X26 (26) + 48 #define X27 (27) + 49 #define X28 (28) + 50 #define X29 (29) + 51 #define X30 (30) + 52 #define X31 (31) + 53 + 54 + 55 + 56 + 57 // -------------------------------------------------------- + 58 // Memory-mapped machine timer registers and other support + 59 // for generating a timer interrupt + 60 + 61 //#define MMR_MTIMEL (CONFIG_BASE + 0x0000) + 62 //#define MMR_MTIMEH (CONFIG_BASE + 0x0004) + 63 //#define MMR_MTIMECMPL (CONFIG_BASE + 0x0008) + 64 //#define MMR_MTIMECMPH (CONFIG_BASE + 0x000C) + 65 + 66 #define MMR_MTIMEL (CONFIG_BASE + 0xbff8) + 67 #define MMR_MTIMEH (CONFIG_BASE + 0xbffc) + 68 #define MMR_MTIMECMPL (CONFIG_BASE + 0x4000) + 69 #define MMR_MTIMECMPH (CONFIG_BASE + 0x4004) + 70 + 71 #define TIMER_COUNT (100) + 72 #define WATCHDOG_COUNT (100000) + 73 + 74 #define MSTATUS_MIE 0x00000008 + 75 #define MSTATUS_FS 0x00006000 + 76 #define MSTATUS_XS 0x00018000 + 77 + 78 #define MIE_MTIE 0x80 + 79 + 80 + 81 // -------------------------------------------------------- + 82 // mcause bit definitions + 83 + 84 #define MCAUSE_SUPERVISOR_SOFTWARE_INTERRUPT (0x1 << (__riscv_xlen - 1) + 1) + 85 #define MCAUSE_MACHINE_TIMER_INTERRUPT (0x1 << (__riscv_xlen - 1) + 7) + 86 #define MCAUSE_ILLEGAL_INSTRUCTION (0x0 << (__riscv_xlen - 1) + 2) + 87 + 88 // -------------------------------------------------------- + 89 // Support for tohost/fromhost + 90 + 91 #define PASS_CODE 1 + 92 #define FAIL_CODE 1337 + 93 + 94 + 95 // -------------------------------------------------------- + 96 // Support for 32/64 bit compilation. + 97 + 98 #if __riscv_xlen == 64 + 99 # define LREG ld + 100 # define SREG sd + 101 # define REGBYTES 8 + 102 #else + 103 # define LREG lw + 104 # define SREG sw + 105 # define REGBYTES 4 + 106 #endif + 107 + 108 #define XMPL_CSR (0xfc0) + 109 #define XMPL_CSR_2 (0xfc1) + 110 + 111 // -------------------------------------------------------- + 112 // Following power-on reset, we start executing at _start. + 113 // We jump to "reset_vector" + 114 // + 115 .section ".text.init" + 116 .globl _start + 117 _start: + 118 la x5, reset_vector + 119 jr x5 + 120 // -------------------------------------------------------- + 121 + 122 + 123 // -------------------------------------------------------- + 124 // Initialization of the processor, starting with the + 125 // register file. + 126 reset_vector: + 127 li x1, 0 + 128 li x2, 0 + 129 li x3, 0 + 130 li x4, 0 + 131 li x5, 0 + 132 li x6, 0 + 133 li x7, 0 + 134 li x8, 0 + 135 li x9, 0 + 136 li x10, 0 + 137 li x11, 0 + 138 li x12, 0 + 139 li x13, 0 + 140 li x14, 0 + 141 li x15, 0 + 142 li x16, 0 + 143 li x17, 0 + 144 li x18, 0 + 145 li x19, 0 + 146 li x20, 0 + 147 li x21, 0 + 148 li x22, 0 + 149 li x23, 0 + 150 li x24, 0 + 151 li x25, 0 + 152 li x26, 0 + 153 li x27, 0 + 154 li x28, 0 + 155 li x29, 0 + 156 li x30, 0 + 157 li x31, 0 + 158 + 159 // -------------------------------------------------------- + 160 // PMP configuration + 161 + 162 # configure pmp to enable all accesses + 163 li t0, 0x1f + 164 csrw pmpcfg0, t0 + 165 li t0, 0xffffffff + 166 csrw pmpaddr0, t0 + 167 + 168 // -------------------------------------------------------- + 169 // initialize machine trap vector + 170 la x5, machine_trap_entry + 171 csrw mtvec, x5 + 172 + 173 + 174 // -------------------------------------------------------- + 175 // The test! + 176 + 177 the_test_begin: + 178 X_XMPL(X2, 0x0dead) + 179 csrr x3, XMPL_CSR_2 + 180 + 181 // li x4, 0x76543210 + 182 // csrw XMPL_CSR_2, x4 // Q: What happens to a write to a read-only csr? + 183 // // A: illegal_instruction trap + 184 the_test_end: + 185 + 186 + 187 + 188 + 189 // -------------------------------------------------------- + 190 // PASS: The end of the test, if successful + 191 j_target_end_pass: + 192 // exit code construction + 193 li x10, PASS_CODE + 194 la x13, tohost + 195 sw x10, 0(x13) + 196 la x5, j_target_end_pass + 197 jalr x5 + 198 j j_target_end_fail // should never be taken + 199 + 200 // -------------------------------------------------------- + 201 + 202 // -------------------------------------------------------- + 203 // FAIL: The end of the test, if unsuccessful + 204 j_target_end_fail: + 205 // exit code construction + 206 li x10, FAIL_CODE + 207 la x13, tohost + 208 sw x10, 0(x13) + 209 la x5, j_target_end_fail + 210 jalr x5 + 211 + 212 + 213 // -------------------------------------------------------- + 214 // In support of vectored interrupt, although it's not + 215 // being used in this test. + 216 + 217 .align 4 + 218 machine_trap_entry: + 219 j machine_trap_entry_0 + 220 .align 2 + 221 j machine_trap_entry_1 + 222 .align 2 + 223 j machine_trap_entry_2 + 224 .align 2 + 225 j machine_trap_entry_3 + 226 .align 2 + 227 j machine_trap_entry_4 + 228 .align 2 + 229 j machine_trap_entry_5 + 230 .align 2 + 231 j machine_trap_entry_6 + 232 .align 2 + 233 j machine_trap_entry_7 + 234 .align 2 + 235 j machine_trap_entry_8 + 236 .align 2 + 237 j machine_trap_entry_9 + 238 .align 2 + 239 j machine_trap_entry_10 + 240 .align 2 + 241 j machine_trap_entry_11 + 242 // -------------------------------------------------------- + 243 + 244 + 245 // -------------------------------------------------------- + 246 .align 2 + 247 machine_trap_entry_0: + 248 csrr x7, mcause + 249 li x6, MCAUSE_MACHINE_TIMER_INTERRUPT + 250 bne x7, x6, not_a_timer_interrupt + 251 li x6, 0x1 + 252 la x7, timer_interrupt_flag + 253 sw x6, 0(x7) + 254 + 255 // Turn off timer interrupt. No longer needed + 256 addi x7, x0, MIE_MTIE + 257 csrc mie, x7 + 258 + 259 // Clear interrupt + 260 li x7, MSTATUS_MIE + 261 csrc mstatus, x7 + 262 + 263 // and return + 264 mret + 265 + 266 not_a_timer_interrupt: + 267 // Do not try and correct the opcode, and do not + 268 // do an mret. This should probably be the last + 269 // part of this simple test. + 270 csrr x7, mcause + 271 li x6, MCAUSE_ILLEGAL_INSTRUCTION + 272 j j_target_end_fail + 273 // -------------------------------------------------------- + 274 + 275 // -------------------------------------------------------- + 276 // None of these machine traps should have been taken + 277 // Jump to test failure + 278 machine_trap_entry_1: + 279 machine_trap_entry_2: + 280 machine_trap_entry_3: + 281 machine_trap_entry_4: + 282 machine_trap_entry_5: + 283 machine_trap_entry_6: + 284 machine_trap_entry_7: + 285 machine_trap_entry_8: + 286 machine_trap_entry_9: + 287 machine_trap_entry_10: + 288 machine_trap_entry_11: + 289 csrr x7, mcause // Do the read so that it appears in the log file for debug. + 290 j j_target_end_fail + 291 // -------------------------------------------------------- + 292 + 293 + 294 + 295 // -------------------------------------------------------- + 296 // Memory locations for specific usage. + 297 .section ".tdata.begin" + 298 .globl _tdata_begin + 299 _tdata_begin: + 300 + 301 .section ".tdata.end" + 302 .globl _tdata_end + 303 _tdata_end: + 304 + 305 .section ".tbss.end" + 306 .globl _tbss_end + 307 _tbss_end: + 308 + 309 .section ".tohost","aw",@progbits + 310 .align 6 + 311 .globl tohost + 312 tohost: .dword 0 + 313 + 314 .section ".fromhost","aw",@progbits + 315 .align 6 + 316 .globl fromhost + 317 fromhost: .dword 0 + 318 + 319 .align 6 + 320 .global timer_interrupt_flag + 321 timer_interrupt_flag: .dword 0 + 322 + 323 + 324 + 325 +---- + + + +You will probably have to add command line switches to enable/disable extensions/functionality. +Files that need to be touched are: + +* (exists) c_emulator/riscv_sim.c : implements the longopts functionality +* (exists) model/riscv_sys_regs.sail : function signatures for sys_enable_XXX() functionms. +* (exists) c_emulator/riscv_platform_impl.* : global variables for holding enabled state vars +* (exists) c_emulator/riscv_platform.c : implements the C functions that will be made available to Sail; +functions like sys_enable_zfinx(). + + +What does the test.dump file look like? Remember, the RISC-V assembler knows nothing +about the custom instruction we have added. + +cookbook/functional_code_examples/add_a_new_extension/test.dump: +``` + . + . + 89 80000062 : + 90 80000062: 0dead12b 0xdead12b + 91 80000066: fc1021f3 csrr gp,0xfc1 + . + . +``` + +What does the Sail log file look like? +``` +. +. + 424 model/riscv_step.sail + 425 model/riscv_step.sail:75.25-75.32 + 426 entering step() function... + 427 + 428 mem[X,0x80000062] -> 0xD12B + 429 mem[X,0x80000064] -> 0x0DEA + 430 [41] [M]: 0x80000062 (0x0DEAD12B) x.xmpl 1824162 + 431 + 432 + 433 model/riscv_step.sail + 434 model/riscv_step.sail:75.25-75.32 + 435 entering step() function... + 436 + 437 mem[X,0x80000066] -> 0x21F3 + 438 mem[X,0x80000068] -> 0xFC10 + 439 [42] [M]: 0x80000066 (0xFC1021F3) csrrs gp, xmpl_2_csr, zero + 440 CSR xmpl_2_csr -> 0x001BD5A2 + 441 x3 <- 0x001BD5A2 +. +. + +``` + + + + == FAQs (Frequently Asked Questions) Following are a set of FAQs that were generated via set of questions to the Sail developers. @@ -201,3 +785,25 @@ A: 42 A: One must construct an experimental, organic computer to compute the meaning. Project 'Earth' is one such computer. Timeframe for an expected answer is... soon. + + + +== Colophon + +This document was prepared on an Ubuntu Linux workstation +using Microsofts VSCode for editing and rendering the asciidoc +text. + ++'shutter'+ was used for screenshots of various parts of the RISCV +specifications and were saved in PNG format. + +These screenshots were then edited using +'gimp'+ to highlight the +pertinent sections of the screenshot. + ++'asciidoctor-reducer'+ was used to combine and resolve all cross-document +references and put them into one .adoc file, TheRISCVSailCookbook_Complate.adoc. + +The pdf was created using +'asciidoctor-pdf'+ . + +See the Makefile, +cookbook/doc/Makefile+, for the recipe for building +the document. diff --git a/cookbook/doc/TheRISCVSailCookbook_Complete.pdf b/cookbook/doc/TheRISCVSailCookbook_Complete.pdf index 46e3699a69d557d09f60ff740892cc6bdbea9ca1..8f202bafd38e581fd7b2e646c9e287d9693bbd9b 100644 GIT binary patch literal 577818 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 z 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

qu0-ax= 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

c&StTj@ydiLGvl=de`88% zVlZ76OpMd!w%OS=_{%$`RwwT2)H_TTlZozXae3|KiTFPT0i zCG0)6UW~NLaFq=sf`-C9p{q;=jME4jFosoRUE$JuMks+`&zs*>OEII9EYTT|n`X zTLZNxtpp3HNm-f5E5I{j8ElTNHoM-bs%ZY&lzDHP#wqiDF>uPb{`F@W*h(51Qw4(x zCd1#c;x!pnAOFbi^s=2rWTwHarqfEYz$H~x!w)kpQ0ZVD zB4KXHxt9rjD?fs!$ZNxV!(XN8U?HE@&HSe=*mSWeV3Wiq4Nerfq*xcSdq57V1CxTO zRT^@dMsAXAF8md5!v-69HEB(xnT$T}i*La7g;{657~X@6LaSTdp=K0#)}@zGzLB)j z_*2B;4Fs%6MVPsnN#kPhe$kh!Q6SX;skcJikP;$uD#9DE8cceab`^yV+XWX01Y~@; z1{s0gRwL?R)`llsQ`|Ofv!wW<-z=FNOsMQ85?PAcxZehEk{lhFXdBeN>>Qby2>?Se zqwzMEH6CM>JP;EZAm($L49v_+o+!S{JrqxL=aB}#h2eRMNvYXDm29@8J4y>Ed|65# zb!V|ctE9gbQrtF;QyPq(wo#Zs3X67-o7P2CK?gMj&ne$8Yg;`?r%J^+zZbA?V z@Xk4uqGHxbCcJ763y(b?_v7jhkr$qT^c!Hta8%3&m~Irdt$W^kY?^Y6&KEJi3FyfaK{7y4Cd}>4*!afE=+$5uDER)r!FWx>9xwj zo-sG(2o9QT20W{itwvcbdX#p?SZcG$p*N?Sr8d*OY(`&8t$0M5EVb6n9$INau|c_! zmrd~!mJI9?Wl_Vk+Ma2nFcArV&w>m#y9v*L?> z{3AtWjpw5QZxpFq(Ca|t;-xoZMAPIn=#eu^Cwpziz078mrIk*k;t^>S&CoaVW35m4 zM?#0915#AH_yET}P?Jl-iAlg;J}GEeV=9lrfy5_9{9|IsuOfRbkyV7-J9xwE+3t6S1g)9wki;6&tu!oA;ba>1=8DlMB31(}_?gb1qz zfwSjzcf6*GhSTVI%Zj1U1;}+-~5{1Z}`aHm*C3-98a>8cv|5R8Z>9j0JI03rX#9}$eOJM{nz1({1ZJq*Lb zoL`z%{`0UJRKyT$fTCE`halo{7F0(8H&T~=LiRArLKeo8)hE9B)}mpTBxBCq0Wy=w zszC1X4_F8mz9TV!SNMcpA(RhRcBc}&Pi7G?6<~?r4Wg*xO+JWVhS{P=eoK`ZA|40e zh%xB0wHU!SN{0~6!vR;zDa)$`vw;8`d_tBNWp<`t;DnLG1$lPBonxO{D19P%1|~wl zm@p>@$-^wahp$472CLp2WZ4OL9DH$joT{?~#0F)SptK>jtOO-9jX`8sy&G)sxq?I# z{;xOq;$R$LrP7^IcA!#&F1CNBmNvV>=7S*6uPI#6FH{-a(4dgt@GY-8bd3}M zNv{yju=q%Nsfb9VcX&wRy`L1Q@aM@viA0VZlqkrRgA#c>>|xRi9+W5`(`>guh!92k zo+pTtUjKjO8xK|dd8aOTX$)KxTxOArhs*R##Srf zNdW1s<|mN@&k#rOeE0wf4G1p?LxXn&R*>7zafLvG2V(<*UAW5(tMwTVe}ih+l$|MI{vBz_+Gi z3Vxg6mwVEHl&4l1teRX1VgLdROk;oqupBQ3Xp!$rB(wRZ0aI{>{47E>$c_a&mJsUk zd@TYGR@mU^J5&UimyG2i70o2$Jk2Gl20+geN{Qz>IWmc2 zC~(~zXL6Z2B9n@fGz^AL+Noj$0z}An6(|IXcRJnQBjp~SiaITP$5L4(htQIV3;JuXvIMx zPAEte9I=T6BgBstf2D6(jr++~WLrH(8PxMV7l=C6*FHVl*Jf_;;ASVEGd@~O0{ zJ=%aw0pZC-izfA){lJP}x&4Ci6Y@owW%7m}`vgolcFp}i$q8dj3=x+)R z=-ZN>gm1>QqpaT3Hxn%-QOF*tZJxs}<&cPIIJZbT!A_DLC4CR146Qnf2|%?CYST>K zB5LNIO&3&(l>e#WmxI?iy+v~~`Y;&H-aM7`TA6Q=-jecE(1&`nSy42HTBJL8isnXx znTnyFJe3i7EQ7;0Pvu0W)G4Q__zO8p#a}6sRQwIjUhlo+*X&txj!Gg$&QU2ym2*_` zSa?E=k3EdS`F~u({PN;?_-fFMYL;2WvZ0h_v^Xts09aWp$b-NGu;LXkJa`xA98}W{ zrdVb`Jmn)SVkwd!U=|Rgi0ZvS5&=ijckM;&?ErZuk|ns95nh`RX=e!?#G#ZAS7c$u=pF8Y0#c#AXF$PHpS`V!lK)|Q z;~U`0Dgt2_MxCMun@_Jbb_ZWD3q1nu+GA4O>|v3}jG5dq6%u-M@0DUqNUWIb z?$oP$OtPW@eXHbNZUVya_HMP@DRIeNdQb;==xs(6n#U)nq}J>llZmKZBmDD=13u{A9%1IiN)EW+bBD_N2X$@y^8vb!G5j4m`iz;vUZMOq9 zV(|^Xff1%_B$$ZwN)EuKmx>5ndPmZCp8LtK+4JNO{E>x;JhFUCN63bQ+L#39Es+hU zP(7Y%4nQtSeZk<a^Fevc%P*zN&` znrDcq>87XQQZSP&*Bpp!-<`uD({kwIi7K=U|3#gYrRKs7Yr@IQA=#%l+r61N>9sO5 zC%q+Q<^XBdTkVR>9O^}M2Tx`WWg;{s^{NK=e%J`+s~W6u(Qu8V8l+dUYLH$kRD<*m zXT0}*@@w`ySv5%H$k{msxpH<+9uLdTNiV|4&Pi8#Fk{l||Bsv^We|Rb4iE zY1rNv{=;le;2BlCelZWTW5`!QH>_5~Ky8BN#^^xbfVpSkO~d4ctr66Uq7z#Et@4?gjyj!Co`nK>4X6pnnC=af2@Wko- zFv+Y~Q43aWRid=*6syVB9b${WNw6WX-krFf!V#7WZOj1NmTk@;aG77H8dF-Z>Ncmv zNF9ZZCj5clSTI(jbeN3#XH+bq=DE}w#%4wG7Q4~CW2BtCH_OFF61;g)x-L00u*-q; z_+;I{JA$pHr{`m~;2a}`=OevV+H>hG8MOwTU{iWNX1IU2gU9nhXo2LJH#Y{NVfcJK z9}{*&;uz=eoh-P6DbRXuH{0SE0!VcNVgJ78@N~-fl2~ujD66(xA%bSI$ zHx{l=!%q0{vvLT>GtLN@5KU%)5#Zh=TI8T@YY3Yh4|mMZiQ`I>d>TQnnhEOCu98`i z9R-D>Cc9_cQKQ_4uP@5oH14ZPxsm`^PX1I2#=@jBYz-a0beXU@L~VOcz;NL?O5W&S z7%uah*pM|)JHm#Gl8xF%o^*C{B>Be15w(ps>G?3&KxDi*h%MCAPHF_fBt-J&D9cD^7WvfilB{e|6H4ojoD{NyJz8`20(u+#L z4o0*%fiMG=8zS=sw;tyj`pk#20j)F}m?xT}5Y154gEby=DN5h8$=l&aGQ1TnC#Yo}fm)eDLn;icdAtmC zo(xVv1;ul27gbfT+JVbwzp0{2(GoI~?6`7_pJ{nC!YAY)RbkYJ#t38d2NEwE;B%GD|QZvlL^ zI_#=>8O3yay%Pgktka>k0MkI?X-l!E**$q8N_;Hj(?Rymi$W4Xe2}JV3gSgHFAvow zO_ELSL72JHVxAbpM%mpEsw*B{4oR6o-soHSVc;BW;>CF|(mPT;jqX61mf#%@6<7H8 zH{^X2d8(3iHxw}wL7K1m2!)t7iq;S<)QF2%vYeYCW&>UK;;~KJMCUgF5(QmMzrj=V zH)QYdJGgsn4z`;dqi3JFS1qn~-2g^|mNH0X^IC?aAB6}9h>GA3h ziD<4XfY}nkxgb5`6r7Xozdv!DXigj!fe7LNH&W~5q#%xG69T3c7*FrCio#y1H^5U6 z#}$1bahzz*Ig1$1g=lam$sD)yfyBwyiR=^bKmw+f+W)I{T2gS1=L7>gAYsO%z;!E!$7Cz$ZxKtwgrbF7mn;SMf>{frL^vl;jJ+_K0W}O| zFMz2I%01a)5ckAb4B)C%dtNEH7tCT9JvM{L6Js-w1=GVA1eZOFq=j|fFxkhp@i=8*LsYttdX;-avCgMLGj7tCtN0TC??`dh@xH3EN#X6B)|7tCtN zArU7}jMX62oi#*dh`O%_S-DvB>=RC&7^?wS16@)=axa+GFe$7C{Vim2v4z(VdT9i+ z8gzz=cWH>R8q~2Fd5}=D7tCr<*K03%Vyp)GZmKmv@n~i2B@8NhUZY_WWHjvR9a9w4 z1+y7)aKsme7@L9a*=j9TJk(i(nhcYa8syZa#bo&4F&I9=3zYmvbQ=u6Bo+k7W>-M2 z9?3%}KsM=!`Tu}yX4>k>VOjjYR(WrM^pb5Ykhg0- zJiq<}vYFUEX9diS!RoyD1$n14$14OoMp9vAf_eUOnv1Lq{Vl@#3Uj~oh#B>c5)l2t4-5(G!ed21HL#6T70#s) zJ?^2h%><$`68`rWz~^AcF)9Ykopru@f)2z)Cnq2#oF>$hsk0{#6#Pt4-<`Auh6}{? z3?YQFDRy9EPdCR6vIZw?ix99D%5z11Fc~6-s|66VN?tUdUoR*G!730!1bO6uM}8zK zw4`#F47h-d4?(CHxJ1N))C8N^gjAt5A!KOc$f7#poL@rA;=(bQ=)#8o;tV*v!qGHR z6e`7{LEvIIvIZq&w1~vvm+VJ~y$N=nq-PDF!A%;5#@7oU80=7(Llcw8fV76(_lG`g zJlPZ8teNHGOc^`E9h#U(Srgu7lM+Q~8JawIVGhkACOf7HWW$lT0+b{4mg){Z#X3;U zdj0j~4csXHCnycC32_6ki^;RL){?~|Os&O-C8#|Xb<9y~RiKzHPOkQ_(z>isx1b*( z%2*QuXH$p3sR$t-mON+LOPUW$j3N#OXY3T_=a|kdz7A+_of>5;y4*kCiic!<&fd)q>FhP2e3cvL84-kM@bM9=5EpD6$z| z^dI%LWIH46BGQ2%B{ZlG`B@P>(gMpl)Nut^wK$=ctPD&II{+R#Myzlzu=x$|#gn5! zzrjBA8N-$Apm=t6E%ub)Q=BdZJcA4vqx>$V1t5SN^6%N7fE*M2c^f;Z4tvpXKqhT% zqV_ga))jH?eK3F?JyO67XaepC*-Ylo&!zL70lY%XCwNLY9hl9Cl$fD;2*GvP{iEOi zpcx1P@)Lw0&;;!fd|P`4a9T5d(Dn;6LFYD0=QNX~qh%t^2R4VY`zX1t{F~1J-ue62 zKoFoHw3LuFpauMM2yt070eue1W%;*QL`{gGLzylQwxbeuFdhxV;wk%YLhEuQ(Q)pG z{Eh$>sR9%z=s2JSE_4c67+Rn~rzes|g9E-FnEEvYddg@QOujO>7q-R` z1RhMU9(dt{1cE>ZoeGfKqX`}4M+rw}JajO44?H^nrUB4FoTvL=4?GTxdw3{Ze8Ab@ zn0`I~#~aVut-3xDyjLAgj?_C8Cq788m92WEx1{F84(w<#C{KKl2>rX889zL~{(}yt zGjz}?m*;$PVaQ0pWkgQLf>JB2aQOBm4FEYi&h`zuX+x@4kxPvvyCO{o(%^baq`@Q# zAuS|ikdekysez<1!mxwUiHrcUXRyv9DlnnJg^WPC5#5&=5mLpqwrf+J!45^pBAt zLUKaG_1I%oVH#Ek$68UGP5Q}`2xLh=LdysOV1x$xF@l3^kn$zib8v{4U@-~t(C|GF zjJ$yWZ50|?#~%CdDvyN*+_3>G%3~I^Q=^umNc#c!3+yaZC~LNc+6*AUbQ~;_+XzEh z0S$>kAVP5^R22gWqoE*c%0`Dh;($Sv*{GN%p>F9D6nF?s%&!v>%7+HwvEg!S#Pcr( zDxt#*h0@g%ms2zJew?*WJ z(K&#e8`8<1U3s*$D}HB>Qt3JIQLgmRn22nBQM^H8t_X5) z<}(U;L3U_^9O{}tKmV5GEwr=V9&}4O8?cBf20|h|a0H?FY!WfOApvV_v`X9X=tE-= zfaWrw~XAHcVvFnIzV+b&yu`Jh;4 zSn*8}vlJym(1crp0F#>~G66zG00R)EZKF0_QW=SaPA)dgHKr%*OFhfGkBE{1e z5+ugx3uZ^CbEJ6sLc+-yeZkBKwT^sP`UC;VjJjG$IDOpP3W++}DPMb9Bcb~2v^#V- z0Uk|*c}58*b?cnER`C&07yDbUFapd>hXF*M$yvKi~fW4A|DJx9RY&Jv$!VMc_cEe9*k= zx$}xXbHa{Og~FA4od!k&)c5yc?Tk|Q2ek$0D{j$+?nB223>FPg7vKyaPzzQDyqKI? z@QdlG4{!z$81jHr#=&6G0JZc{TikwuniqTm>{t7 z9yaByjFpaea4UjC5%fn$TLevzn%wZt->IO~qmMG8JUn$65OO4}Cb&#) zUdJR5{4&{@lHyzj53!3@CfE+r1qg*ElnhPiRP|;MPJ(2g|A`>k>d>1)p>Du956O^0 zKdu^~A+SGz^HmgAwSZ@U2a4c~7Oae#@6qc1x8RX9;cIdmIW}M!Yp4LMK(?vBEhNUl zJ|z_g;Q){YY*OMl1VP%$eLY>bp9Z3n7Ly21%c2D_gJUE><}{&Wv;ax3F;E^U3C;s32?^t7bN@Z?F}VpGh*KUp zPNzWgS_tp)$M*BVehcX~qX{8H+c%H8<+_ZeU7)vEImCY}5ABQ*G09p$GHk>V@mMW* zm~WdnRfrgyM2J38eirKB0Q(?>R4t&GPlGpK!=yHeWTG(1o(vK9o~%Z545ZZ##{sBU z+=YJgHu>1{z!n)chLF{^!>Ok&4h#p&wu`WLX~~f+vpq7{Z3*GxCekco&jxrO;`md{ z1W7SD8<3Lg>R$+0=`$MxpzsvB!#tfkGc<${s6XYjx;DO4(z%_4v0qUZK0BVZi9V z!>M4Zo4NF@jjL5cLtd-x=e$rw+u`IEX`7%d8XSH<<+j7m?KrRL3It zsRd(0CokE)z+QN~D;V1VFsdv--iBl%2-bqNp$C|PU}Z!e0Ih^&@wCGeL8=zOP3{{; z{=S)~6^V2;-eRFT*!yD6xd`1^jmfPyU#FGl&|G>Vc&!D6L%%PNSYQ(roH;o%5V3(t z3-~7Y0mE$D;G)Vu!L=3=wnp;V zRWD#-v>gX1}j}`=mXI22l9!(e?LEior z7+#2uZWaYs8@UrZrFPaivDp9X==NVnxBp;xaIS!@bK2-P@51-U!0^awiO7U&fa~b7 zJZAZ~gvFtcjirVV$~>FgX89q*Vk+%rOlYjpIgWJecn z6ApgJV~X{HWu@f!F6`JKeDJgeypWZ6`b`@8fD#5cizw z%%LePokJOGN^+puM_1xLc6PY68}Eu}rl|oOq=9mK#@!~CYoP(K_IpU5dxyj_Fq8!5 zB}txI7m%-8;wX!A2Y>zMKj1)Hq zohk8JLOi9=2d^>$y%tBAJq!b22E>DidcFq84^U+%SsznK#hawy=9R8&@2H%B2L}#Q;!NWovlnN;%dZb$DL#<^I zSS1Zm9ub|9Hbnz8N96o9n-YFeFMN+%15`&uXQWNh0NW8cf6b z1``K=3P>1Z3%njDd3>T>5V}SWlxU~{XQX}70OQfLGy4=~q-_wAqzZi~ zDw9o*J(9K+dVEa)8U0#{FgMwZWI0QW3Xtj0fIMQUHw03^TuID9tzU;0sBIUPp3#b9 z!05>Kv>o9tV058Dc1SaLtr{SI007EvHXB{QT=gc~2uNUpXOoNF_^~MrebY zCm%0hY+6u0tHMNvF>`E#Q}_uyK@hz3>xCD-uNee{XH~$(9!(G)0p9)=5MGF0cs2!B zWe}dz@Lw;y|9av5*9(tfu4 zn-XLb%;|v>L3>c_Lbi5mg7V;M3Ggm7L34ECqr5+Z#XC4S7Y+|qrwOJYZHtqp81Dr_ z6mX>l4irA4qsvhLm-b%34I>Ny{Sz^;(EaqtC-lTLkUs#_d^UFl$}#q=bF>9#2Yg=S zf5`X6ak%(P#1OOqc*=fpY_~tUW6Akr7iPi_e?_t@g3Qo;_lVOXlB${zI=O2cafE|y z%#c8AXlFZr0_0QxXEdR6a-TPl2+}+e7)>HmG=AHiAZunwo6!ov!(SA4iIF@_$Q;mQ z9!U$3Jm^w74wLkR)P!4*3|G3Cy;3ey~^StWS)A~Tno&^l%Rwm>7QmAZ6V z;_w5f)?&1v4-5>dn~W@uOa)Goxpwgu5woBP(Sz-j)qpP;089JtfYECL^w3g*5zOWN z(MNJ?93)HYM1*e9I7pTr`|qkgS+rn+z>0eXi$Y0QaIio^$+J!^1SiKkKF~{UDq#cA zTmpal*bdeS3;23`hYTk+sWHPTt_^@DtPqyUJ4i&#ey6v4ECQYE$~qx1FH(dbrO_FX z1TbuTIN;W3w|fxhDoHDmOYw4L#b209m>Cp$N&ce zL&8;|HkG??gxlsR>||8}I#FLUm05qthpZL^&Ep znX;zH(lM<_2`nm9v$m6XPf}M1$_%*Hj890FQ5Z=8J(R1V)I?;3G@*}j8$UEvA;M&$ zVKhu8+8fRaFKEKxW^t_@M7vEQY9N~MN4div)qBbAAVrH*F7wM50y>n_~pD&pZ9+9YxcajM;$`=$nvdaMDqwA zl~%JQ&hO^E^!$IPvA3QB7#bWa?K$ICdfh#Oo|z$s+>#yO1*cFJn^}Oc)n@oRBsHLV zL>wzF`I&1*ju=xN`aoMENJQ~R1CB?JWr;8Ndg}fk!hQt)1g#^$i3rb6qmLbt$jdc> za>R&(-zQ9pLIdWAG?wgQQshI77#Ru;j3aXX24EaLmV*<5$&jZfJYtGC6CE^%)Qu_5 zf|FwaGeHUojyuv#VouEreFQDK3`pPv-}WUUx(8^0;D{8-aaM*n2yi_76QC$HAa6tz z)8a}psBfhR*Wnr+=7=;AITna#s19@VSd5rBpr$f$dMSyti#1Op z#LeFz@}c2!GyqBGBk=%$3#1K6T``@?9CkgrXaPB2R>-*XZO%kCimNc*zM3Duegt(c5x92*S*26MxtC5Dj1%k<9cvRB2cw zW{|9D0LO@I5pJIb{EHqdLc42#u;{TO{BR8r7Ckl{p*Kc7B@2wYR(&EOqFYJvy@l+W z&Bk@HQE$+p6Bsmed_>zQD>l8NKb^w_bES)dQHOniac4)`;Vl@@Nv^wmnmV1<1YEA?H9oaFa2>9} zyK*uen}ksBb9-~uTo=KA#3&pX1$OgWbx}yCx7W355K+5TLye8FcX_BzqO8uB255~l_r}*7HRqv1vYj+rCzbd z<9uEGm>f)C{O$;0z*EC^G1F-((ICZON&l(z-ZqU>>HVViRBEp{s)5p4WK~a_3oBGw zbJ%`?704#m*K0#;OlwwF{mLn&NDB8OrwJJ#Otr#faO4V}L{B55#qN`aL_#`Er@^5& zshQTOhf$zV=~nFBldZR;6TOe{wP+d^OY3F=raN3!i>6jsx4yQVCLU8MSxv7GLZw|? zO~^Mk(U@=vwk(Sb`=0j{VXkSlO}^J$5&X`=O?uiEkK&8I+=OE#DKm4d`cRpJ6kAn? zJfp$rw3^|3krbP`QdCMhRAdap47lxFkty68E%T#kc@26Ski$+{;&^!oi5cZE^whB^^7;t_B!@U2DLxd$g@h(WxG?Br6W`GvRM}H?@iM5DD7nRJGP{ zOBjd12Ny;G>WE(ekNDs(Ap0co9#5M|K3UN8-oz!%wh5&~Rg1)&dQ2HHk4>Gb0}dT8 z?F}S<3_hAs_Oh^~(dY=vR%&>J39{Pl{3_DgUgsXJL4fe2!5Qv}HLqSgBL|q5NFiT( zvzgV!SOryjO*L1!#45cd6=7km^w{`~(yQkUc>ZP`YOcIW>#*pJR&UW32z{r;w`S`w z&=pe2mcNiIw)~Z%V9Vd&Q{uUm^pZVDuGX3;0HI>BG<{w&p$*JLfIJRX8kSzfMRbmc z2b<{3F8+_Zs|c9-{Kp|aubo+qR8wan%&|Ht%rQDlA-elfo;YmhG7S&4A+Z`1gd^&q zR;-zz`_!>gB(ySZL-G6|?7}B;%&4Qig}lPC{+Y{9>d)*>!zxb$kIeAO9Kn*$AW8!7 z`jgA@Zm?QrjxL7kLf+G4w(WtpLRze4YD_|p^yu6l3_7ln!FBwV?5as0DttBR9lo}` z_mf|<=gIDx1MV8|ShBn3FhKn{nO7;hYZ5|>yQ$I(?ymVSy%5fu^gV)oG51z_t#ohY z=SbeGmk{|4MySWVMaKToV7IHWjhwJ|N?hyk8U9 zA!{tM`OGQxb9YTvWK=MvglBx93IP_9LSC&V%Wj*pg+H5S}95?R(*^oMg%0Ks}Z2LyE{yo3Hd63H^Jsm6j7CDN2U z0fcV@tU{UuzXkPAvl?K_Lk>*{N6`@yTn(;0#i$hMi%{L-aB>2V?!woH0@Mh~$)P}W zL?i>zg->J#Ds8J1zG3L4!Y$4}MQI}+9|~qi+!g_7#ny2oTthAZ4x(e}{Gd9}=BEP@ z>%r?30sf(sttph1k0s#4uOITW*t61@v1D0TI5PvI3@rvk`)8 zRp~?_G*g537KB8F55N+UMvDpd35HdOlV?Tp-4M$D!1R%6g|S55%^Zhq@!X{1zu><} z(ku?DOb2pPi0=p>jUIjO0;Vnv4-=GzO0ONB;d_$mNhpU=kuG^8lTa+-^S30Sg75Hj z00ZHlgmS=$`y`a2MMqh9hlL>KRy&UBVYN^TZ#@dMrrEzdj=ts|NMm{^ zT%M@{*i(;gmHtDD0)3!}g`qO^GW@eq!qNBA<5AcEtdBoliKJ``C}mY0dikMH0~i8e zsVMRTKEOaB90|nWl8F4FUBN9@*vD0{a@u@n^(df*@J-awXa;Z}{Kcx%Smxe&;@BdF zG@`tFz_a+w`S6LPK<=i4`zkW{Bprwu*fj1>y0?n|JUT7>^#^(4m&4t=%B|Nd(M}CZe zW26c>hjJl4C~!p5QU+?sMcX*!5*K>F5+=xtHBCAh(hdctuarhj!r~DU zFPO%azr%Df@6rZ*AII=91fRqd@oN@K9pyTNCO$i2fcR8JVWS|=^^-zFgBM&=vu&>! zGc-61IHZo@`G`v#g-GwySh0J?j^?G{LBM7N2n4NYr{3iiy9t1}+Y^3;JmtI6GcT5H4KyAyuXcsb>d3aK7wE)=CvM-8PE6 zF#HfJBzCK_nv4S%S{L*FtPTtHUMCTjCyO(JoB=YH%;)9|!W6kpE;6l@?!l9o2gzPD z@6zt0bZIHT!)Lxd`-?9Wc!O+Z(~c6UHKBaR3}ddx=d++YoP=QZ1tLfJj!pb>^OA%F zmMVx?);Iyu8((9?FgI`KV5lK2E zwpEx2PeoD=oFi;I6Kz(A7vfKw^oT{E#T$ zB$%8rC7TV$#fokMUPm9ZMcuNq)?tXK?2TlEY$4 zmO$dGP?k8Q+r*xV`;q3vNQBCO37`{om5#xZT2UUM$ljqrfJwCISv*BdWNr|tb$A0z zAz(`=Q!S)Q{PvK6#Z+n|6{2LdFtx?6 z<>Kp^O-ip|!x_sQ(w;-v?6BM@MZcsRy$YD`Q1#{*Ny1d`%VK=L`(b7*-a<&a86K~2 zAXftfb)epi@~<>_2LwMzikB63ng~_0G=MRtI1+s+UZB6B5i%ebWhN{%Vdsz&2r^O| z+J4{%wjT);G!;ieibXJ(SS$@5aVr}M;BRTCEh2hP@&w-_s|R0@l!1wk4g$aBIdXq6Tn^Y6Sfi3G1-PXR@v2zrWld2^eJbR3xg@)dz` zpyu;hc^Awkl3qg#PwIuFihC*-y{Nu!SVpXk>R4>10@~dPqv3zC;$+lWUd|@NTB_F?QdMM>wj{Wg)j6 z9s}HP=G;+D37n>PCBFEHvYacI11RpZP-hY;)fl*_F?(P>-Ivr-S_;2{a53q(Ju7^; zUJzuAS%KkrG?6icLPzv@u&3(Z03gQ`^{B42JA+tnSHs*8%! z$vf_FB#QhoT~Q-3F)1}g*Ve)AfDT#oq0UJgxA2PqN%%$F$1e;2W#zwEGk2Yny3*q_ z{&gq+y3xSDk7FCyr$%%m$5ri#CU>GMDYk2bgWjP(+B*2%BVT@{4c%uF#B@na#Xom) zO6M*;I`rx6PVA79l;BS7+$FJ7huCCyOt+Ns?IR+a#3Z-_zi*V7Rjxy9OiGuy4lZ{} zTymElsa=v1%j?isjTnN@lHI+#r1mSXGjZOO>kyaZqT9zLx;k`8bh$wReWgQ6YQOGo zT*f&`mvv9-(V6ar^EsrOxsu|#xs%K5%$)hvv_ zSwe(FB(8mlOQ@u*DN897p(u)?QkJrnN+>BLi6j(~wJ1x^ocFz#t8CxTx6kkSKCkBw z%X^=hGuxRnGsnWz32$QIjB|2@_t<%unBr}5<|c52NAJY12SO4bo%|*f(|wMvE+#Hk zI1{|7wVjExHQvnRfQhA}9RO!y?`V#*gZGfWXyxc;;^GL&< zgK6qwV(N@Dv9~j^u(reDO~y{aP1epP`(2&)JK}NU2AKG~2x+V^f>=A?T}n%;ARLy5vWc)V`AoE3ICFSGO>fv+V5=b=!~(T2$8o; z&CU5t`5bU=d^mR(oC5-OJ-Zk|Sh?-2@h&Eg7Vwy(rL(EMJ>pfIJCx}H4S^SlAKVY* zuyAy?=L1Htu(ot{CQ=6k5d+AH&&8vPJ_2v?VZ4Q| znB(@jS`x2;cz_rPL8lqwix3_7%pGxf>;5(4Ae8Oa?0h7G|uu|{~2^tPO% zvpLS0-4H=12x?dXv>FoaQH=j1AfedYb)SpJejG9g4z_dx+Q=jt5|SQZF&?IypjW}{ z2#HBZvBN?zWF^5z32p{vAIa?&;?C*doH;3`h7F?gLSQ~%-Bujbu(*&YBos{w8D_Jm zgKUh1lQ7Mc0D;pB<)`dW7QingBng5lh7w*ThX`@@G!SjV*~<`yb&~-6i>$(goIf>O zq9`yA&=9hL;IE|cxP0HzgJj&Vh^qcGQ?1I0G6T zgUpCbE+qt42chxXlodifs5jWSDJ#Llnc!wn@ciJ7|910Kx^ycxdnbA$*yIYZVi(ZW zR-r?`*txA-T=wIo1q3XuU94R9@tZl?3t-N+0Ge44d}{$~JRYWo0#Iwc9t#Xi=n;{H z-l5$cPzDq(WJL-=s}r%Q=t9!BztIKC>7Y5@@2HaNJ9V6crHd7ar_lJ8Fl6;M|4lUx zO5h}gO($AM!!jiQ%$-4*M6g&a=rDfeO9FbMN|KiA$Bp0wazs)lB$8pd8-OHQ=_2HdkV_9CJ)5+^ zfGz33pkOOkXmH5T9qsw{e<^F@h#>-e1j`l>KpRJp@v=63b8sx33oYXQ14O2k!Epe? zS_{AAp8$^=LBx3D>5OSMLh1;N&OZQhV(mp>w~4QfubP52J?I%kl-F_8#nz^vuw-9W6(paKykeu(jpgJC?ufGNq=3kiDRw`E;nvQ;yZ{RBc!aMvh#r-yxF(#?dd zD83>I;nZw*QO~a6&gGHd90R&OTe|$Vekya$o5t&(3l%i}33_?HKf7)bgWvKnfL)2zHIwFHVCn>ODhMKg z91-M}z#=`tG5;gM54j1%ObyIgAb6(8A4Ofqu~Y>trxs;`|10Tx;;8s=%5)#`F-9P` z2v{xwS(X_{Huy6CUJcn;zQy0rVFdOUgV~lO$&Vakf5T0H9E=^fO{2T*Oi93CRr`h#JxU1IE7>7>r^8 ziRvhY4kfl>bik+r0SB;`*cFUg!azZ!dQqVaVfF{=k}yGm#5d%Dz*VAGf)e7!Z`VV7 z8=ObKL@3;W0WO*4Mt9Qj4S^dVbO}(?@4y3wG?pM zpUepr35chDgKb<*0)l<4m=0wWBi_UeK5EqhR}r6)=wki{T@Wot=eGo&!sfMvJ*O9{}q(XWu6!8VHlYC?K1K!J)%06K|(BXJS!b094CyTpSVI7wb8 zoW}eD0?>#}5Ut{U3D|$Ui_N1I2;{7E=Du;6Sz!Qbgn%9b)kR3+xFr11$wv|Kw#x z(CKZmEKrbH6!OFB9xy&aF)dRhI{^Nu&H_0^T#0GSKg&e^(4TN0AdNU}RC@xcfai#0 zg{#Dje54^zSc32b;x)*&hr58&$P1OmvQ4psUUVPQxacq9eX?N3zd+JaZxzIN;)GDB zJ3{n9a*OFI#2BPOC-gWNo9_QTw+Yg0q3Iw|>x_8{W4Yl3;l^^PkZj14tG!Jwp6 zvXojNBk(!t4mcVMt|8eWFa#(87)C6&8itINkop%3qNkoW0PTdqto_E^u*<`QQAkpC z=YQiGfB{ELOlX~h3=y$#7`0zOY!565%tx%?B5n~yo~@3V!ZCUwN+DxLNC*}Ku)$d% zY8hlCz}#U1f$0q*b7K>CxXXf2as4kaI7-RD_A?>Z8L%Pq#IeaSUtvr?Ak~I>Gl+r6 zop$6cfW;;-5J)z8AeO{pvY3j-Y(CrzmIlcaxdy=ALRvn+w$OyTFb@GpLu5~k zxe=QK6v*Qve;$@aFf)MN0}v5?8Dv{A7y%c|0*aG)vVYBI7}X$H-8v}(NA7?@BL#pA z^HBjGEYwS~(0_A%Xbcck9ZmvdBHaOvmPrwZ|LfBDe+OYy15TP+kE1+c{(w4xk9y&M zPe%(wD#rvf`Y|0XH6fjmRw205M7JDsg8vVi7W^9|fQ=p|nB8weC}Gxn%=^V$E;tL$ z2S@?20QzsT11z)&{!t zJ#z^#jE>%4(_Ft1Obl$Th?p4k!y8AmaecEyQNcKxYmXJg{cGTefKWq=5sOm?JFvv>^Ey zvNy5RVmg8CICE=LIY)Ow7BO`9LK!WD>Jmt)l6Q98Kj}p|I~>k@(yKe2t?ehhxYgNZ z(rfaNDGC7MA^jQ4rALX#ct=-f$OOkye6*Y$&2(^(nJl2Cpu{e)6H@fq1yt+-H#y>8 zdE#FczyQlsMH!AtnB^y=jgBt{LW@}9L~=}988mqVT|&+|mdivSzBc<5#X5xi{fX`t zhq`vC=NO;*gr&evcsFFjK@G`ocat)T4S$0Kx^nPCwbE~Q!}=SRTlxFlF#DMR5=5zq zAQ6Ey>^~tPPuU{oF+shhAj+=7yFdYvJ>8#zIDS2lEX(PibQRtNv+waug)w&z&SI?v z!GOV}hir-ZzxIb9XeJ>g2909LXBZMdc+gjWM$HHvWRN3Im|r37NwlS)*T8~e(*{C7 z7K_0U^&rxAL^}){T_ej3b1mpXEGP;gOZXpbGxj{P!~2L1H`2Y>bI7(6Ei0NlfQ5#; z(1JLGXW=aX3lw{Umk7t8ci}rEtqdUuurTO7V3kKT)L%1sqjm-WhGo%-$c4ESXi|yA z9}sx(AHhi&a~{zA3?Yc3CeYOY?nd`PJP!=SOw}qx=KpDOm6((uq@#}?f5>M9UMoBSoA?haXWDqdQ_Y zLa+d17Q{9{W778X5CJT<=h8m$!&*%W(@=r;pQqk$Z_1A?8H zHx1)HI-Y-xV53YZE=A_dk0X+pAQXV3wN*?mKweRxehifVT7`^(0Q=TY*v*U7c#1HS zpJZIfsD`=K1gD)S!Wad~6~QParw9KZN(P_>y@FwB3svcmV>V78VA_D1UX5iJP7lv` zg8^n}G_*!a3WENH6MT2vpki7AO-WGL9IZ_tMT)HgU{?sM258blTw4PkB!;)(Kjff} z#c0NH`$SUnA2G{6q&9Ti2ATYARSeqhj?MqZll?cP2?(J$DCz_Ptb+OUSeT0FmHstx z`wdJXD8&E;H4e_-hlykrM->!;6$TF3D{}~aA#;GN7D;&k1~3R06d|YDxgZppCDzFBI6GC!Bxz}lWj{chFaYavPKE9Ojw&6edE8O;KX3d zIzVAEzX(tQ2Mt21@RvC1L=%L}#Q!@gObCU!z?B;Z`piTLL*+lvvtxQ}!aQ4~PoZ0_ zu-I?F{3b8|k+PZolf*n0(BG4Fe*;-T%m^cdDNPif{v-d0j5)`m{L^dtf2a$AQbMqT zBmzzFp&FAM^l=%CmCxrDefcOeo^khb@RK|Ln5ZZPSLJ1i4rw*84UqpAKXwJk1 z$>!!@=|p*<6@x2Y$lig^dgk@WgiZxBtVbr&nXDd}&@6$h9vKS1$@ppFYSAe>NlaOj zCjm+rG#Tvw$PZgl!+#R6@E|yO(Wa2l^i`Yx1RB^3jvto)#n_1e5esRjgGLzC!!*^r z(940WP0G~7fSqDQV0U%!lcb>ih6E~umYTdC6k4+Vm5-0%PWV0v_vt%fQ0{a0L(yxj_WQqHTJNKgH^Lb^AOOS;zF<@ zIEBK*I;~BE{Y*YShCAW=B;2R_{0tN%u_@e?Sc}1yl+c<>2z^cps;Oai5A8{&(2!WG zuxap~`op6b6TeNwc-jxoKtYn)pG}Q2xQq~K6N1i8BCxL$J1meu{rD7oKD`TRGR=p_ zP$qnvgz_|B7M+2fn@NASsmXyR;i!!il%$|`7tqZ?VhY8F^)H-e{QnD>#wbMqi$tmE zpqhayB((6Gnijwl(0dG8!0}57ilKelpmoO-DiG_tHw`hS{OlOIgfElOo$k9c(0qUP zo}2`AVq6QdegI=3@ZzDD0-z4F3dt$-9|+F025`n8jFEu=1&IvP!7u|Qi1k_{SYrJ8 zNhm-tf1;3o0LdfJb^%SNfC8}flE@UA5bJ0-&EU`E>!ZjM0U#ki-REbb4^gj6BJx%X@+2CO*f||3?wl? zMmkiXLThs%j5t`1DO4od^>wxE zf+V6-=uuF$(-Gr80Ah?11UN{Pm=1^;DAMUV3QtKE5h-8}2}mdfR*{f`2DhRRE0LN) zxr)tTBK{8{g1+^zAR@$0go#9==>VF6y8Z83DNjN`f^mX6Jy6O3Gi1F*q<}9VIUTVj_8`16Oq)*$P)8y_FbSB+Lxf2PB0rFz z0N(!O-aYiEo0d+~eRvdQ!ly|nPxobVbxersYr4AFLDz9SB%nG%4{6Y;#K1gE%87}Z zs8c9x$BqOR>)}r9mrl4&GKD*>UF>k|n=Eh^7J{%c0A0=`;YUmm_BMiJ_yw*8RQ$qU z_z@E)o`?UTIRT_n!;cx^9PFY3MM;EXar7Q|hd7RS&763RbRM1&F(qDu_n>c~_hZka zckF{7I7xnt?h%LYqjQi~ggqlMLwHAV5Q0AS#N=M6;l~I=q@N(PXh&(X5Yix=#ySNX zVoNv^CaIDw(qNBFPEbTBgbW}}A}od&k(i^11F+<6@I1|Uy(6AiR?584na>!AhQBT1T6q& zfn2DFtUx3ZMzU#%MD7KQBN8OrVni4>$RvbGgGnwlNLbJ@Ttf(tGCjH%F#(ZCm{5?O z$C!a|KS_8c5CJhIM9w5cZXj5ZF)fIE0-(l37(=2dtY{K5e+TV|5#h%8JT#|dGDjRB!|2qBxF3|8z76RPad(SZ>eWmTlg&?q1Z zl2MyIivA|d!9w4bbWE;`5 z<5~Q7IuR)|#VCpcWx&t=lQQI9&bU#;3>AV9DPM#Ek^e@O78%8m$1qAUB#>}FiCQFn z#I6$s7JKJ7-X-VJah6(qRDdOj=ZOMLqybTYiA+Hx1o0YyMX(i_i8Cq4Sp>a(ViqAH zN-n@+NDu)_Oe+&v1pSW?pHM@=c~LaUlHSHz{gRIc`3!tw zJV=y8ltu6%;evCRGl>Z(8B0w@;c>pyRP+{yb|e#u&!oQ8D7^tT61}0}!l+naPBXxa zl*Kr|Z!%cN`6m+N{FCt&48nm7w^1H~ ze=s#b6nk`joD`5$1-ee81-b`bMKBgf0i*N8_Ye%m40({K1Bg60&hHsdFHx8r|iTY?%NSXk!ox=MZ^SU7FN9J__TatNQl0=10Bn0sqK}}#Q zT+=J<$$bzaqT`e{Vo{PsL)QVJ$t>4+ktAA|-xRbY(TAJ};>o-w?3sy~iUcu$MPe#U z2!DeZ8y1pxLJ}b4O_7EV7!ng2QF7*+1cPyYFKMhM!Ur};MPa5tSP>i1sqsN@5rqWv z{D{Ia%61ql5m}Gqc_ADSj%dW-ev;Qj^2RVWMc2`N#E~5Jx)4i~&cR8~giZNK;Ry*M+YvbmQ+3nLq_8(k z$WhbMj$9oRM|&dt$YW8MvLkYfD9{8N|7`sk)D`totB=Hx>D296X8#kTv4DcqK_E-kTea(BXAxw z5Qs+T8ln%0Mo9XAr;v+)(Si6Z$webcF7{61bLidUjSL*axp8jicv=aK&JYM&4w9z$ zq$9!%ffyJi#&<|;N+2ZRXj(!}?&}c=MQ&^m!TwJOgOmgi7K=FoGh%{IuKtMr2pWKi zjNR`+Utv%Nq`>cg7UU&kX2Kqlq+m6K8787L$~+z2g_F$p$42U(DFDEAlwpBskm|=m zAc!uAPKXwmz>>i_o|ynvqS_zlVM7`e@?5565ptJN!_^+P02L&(Xkh2IMjNQG3y}_m zutQoaAJB+&f&d}po|8@xV1zgl=>!2v zs0kpQAixPe2I&L=Qpk)ao)9KL3fbzU6GR%0LMlvv6nZX@?jS%4Y0sn+1V|x|lXL=u zlzc-$!X~YV{|t#cEKU?pC#|kv``(T+E4Ei4aqnERwJ0Un_7b*Hq!zl^kNb=2lTZyEyBi&G;S7D&o{qG7g^uj#bm%528ydHr zAYt|D|L+tbkFgQP8kQj;gd+^5im;OrB-jaJOL}%LX#Yw9CDyW!*Tu4lRWw}&$9esI;i3QxoR;4048kk40|F?6K%_J)liW;GG30!?mxnZM4L zlY!$A$Cl`Ya(m_JIHI+WXmPKgv^U7$+7cOutFc!#+0fK^CSu`{sN07FJ%{76!-h_* zulvQ*Uw>Xi>$k)S(zoHu?I)mQVY>q0f2eLZleh*NHOdzRXh zq&YDnkKHm>FX|StlHK^>-RAAX0*7hd+FUBrkX~n`9CxIB3C&{4yaM0W_5IhceC=Vl zC~)k%M3SXZgNShr(cnLCF;A7u=?{+{baSK^_`yrJwr>8<$cpT^)BOUE-;OlD z?-f=_mt;s@sKC)l{gJaMlD~lYZKRuO6t%i-8VkiM?^wkJp9i;bR_@!uG>=Q<%EhvB z*+M2c`h_tp%P3O&@>;!=3kO8#c05>pVu8@2$94rlHoJG*oT9$6xO|mG@pyU9r%JIt@pr*}BBgO6b6*OUmzT#;%C35_ z=i~ux2`!n5pn0p8z0zW0rxMEo@Nt+9HO@^U`+2??8q@AQM}J{Ahw zSlMak(J|68(1)HIa?17a#my1Icxx4>9j054#IE01da)XpXrm)qY!tS8@wzigz5#x7=2ELt zK3eUcC|Gj6F?rBHQ#C(8<%5l_>*X>jiUuR9&;2)NB^$plD*R4g_vYJXzH+>~yynTw zB;1vCA$!%d0{PF}Xx#OpRxczs=+IkMEg6UAdj>D!{G88dS!nyJa__9PS^7Zlaqw;f zrmvPMo2u?BElK`)<7nr;{aRf5t#q$&@h7)F(33FIv5jjce|j1769d1sJJ(QNB(9MvLTT4Vt_GEQB&tCrd z1#a7E(jGZJoCh0v-P1P%yUKDJcOle!`J!jwYM_4RB=;v;UR@6 znvgvMyxy(*y++(OKWgi2>B)b%yZCG_{GiNvpwTp?gQqkjK?1?iB^5N%FN!C7NoO;yYiKTSKMm> zTP1dy`E#G{ys?&9_CSsIoQsW8<#Tv5UHL*_=0Psq?3>YA}JnjUvNr>xg{Y*xpLW}%%1 zw73kLV{cx+PbsFlSnSj98tTomB1^nT?P=D~hsQ>G-Fw!QDAwtDOC~O~6TD*cKuGk< zj&HpFdvzJp8U5axwa!^occHLqd(gtm=f88@Ok~OG)e09^mY-W){`w<#mr#d2`{$+G ztLBJakpG}a)zW&}iu1aUc6nX75ald8u|-)Y7P=p#6kV9LW{VW%*>kRnwCx3SO`QyO z?yuhPL{?RYR#tN?UQm&8{hJx{8J>n~*LAPnuc}vzRM{%hzGmJUP6dj)BWrh48B^_D zbaBBJg|AKu$=7}GPId3N+i%^Ge){gX`|RKWUyjd3N&2<--Yz#icJ9>jsNuz{)iquH z_ubgPSxnCJ%I^D@vdi8-3N;PU-GH{>E|L(&>o2Xxxsw|dZjpik2H z#L+CbwCCNM{H~RZocMaOxV*(Z&@XHCmi3feTeMA8{Px-eoKX0j=3eYwPH`!G!7Mq? zE@34~^~L~GQTOvb4_6Nf((MgeVzFRv6D8l{VDF#@)%v&O6=dBGg!1>fF|SY-VqY*2 zu=$*bkBellqI#hGrmYuJ9x^}Eo$tQvSfs~?eUwbIN(+Q`MP^%a#Ge?ny}-E7B72^4 zg5C!Cn5UGQOz#$jP;TSg66>>0iRsk3#8?xhm`I`Td8fE8xn@_S2lWelJdS&o$?uxM z|DlU(s9>SYP2W<14nXgjDH(CzYb=Zj8 zlTI@z@$fgMhQwp5kNp_Tq3UE&3 zngh5?<(Jxgk$0~R{G>6|8|bDX$aKMd=+WGDsd2kxI99tRH?Q1O&3Yxu&v0Y7tgeV+ zsgsfA;mX@QM-B7>j|G2H>S}J*=j&&f>!+7uG-pY;nE5j4jSBsRr|kFlKVZWJeOW|N zJMZQyjn1UBiaS?$rBkI#9d2d5ZM|I&&%cvgWwTtQ^@Ysmn5=G4O5wLAnm*7nj-yc!$>`C*$k)Q6(1a6@=4fgJ6jsE& zscTr~?d`XSaSO-l?tSx;KOeYXm%i+wUtR6HWwjS$kG(r`d}Cp74j1R9cj@?YuLBOL zFM97|{w&Uehdd)nD%UJKIO`JbcIockCfv|3&YIy8wMKy<`h!$8FO}tLLi}H{N^_o# zEFbKupvJUd$c8(b@oR3b@}*ZUu!-?`@wT1KWpVKJhPQ!bp0qz?ME&?Ly1iW0 zJ;% zWEuGC+vx^wau&Qknn-bQ>(T8A{FV18T6sUy-eKz4BEGZH=j=&-z9YkF?}>@43Z*IL9*cS5C05A(~N4GKGsYqaWK(b#|0vvTKA z$pSjP{eB1irKt`d%YUqA^!RYWVfFJ@Mcb^~dV0#5DPB4%O3VtMC(~Nc&hIiO*MEe{ zb58Uo`q)R2S0zg{ViNK$u4$#}dvR`CVvJPL;nlZKuqdRRT<>&xK&HEs(ww4-Vja~H zp1{+6+xWM!P}Nd(G7N>X8H-*HJbsl41=C9|W52X+p7;Zz zMei>&(%R0soN#$x!nZ}Zl3>w~L!SkgS1TKQ4`%bid+m5RA`u$ek*=^qx&N^9H)=JL z2Q~e-eqM>Z*`^=5q;GfL;2BMtRJwwyw!-j~q&sW57BAyVc)0&)vHHi{9nEf(srOHu z?4&eui=fXs(z8d+@xjOZ#E0JZ{kOg; zTL$=fMD*x)IUP5pZezZ-}q%WoEFd3P*YPR$a zn&wYY>%BKE|Lml4&?Y}fgu7`DzjTzy)5UW%G6bp~`TN~U+-bkk;}h*CrP77T%UT$+ z%(goA_73E3%%h>19P zKm2fLPh<-nU5oL%{K5P8Pez*4;?{g)D8$hzo=?d$eH6AO_m}-hXj*7!eu!Dzk>#bv zwRyv0Bbx7}T!*ivrY5DvNq;NOE-S;wxqmt^`%CAZm%KC^imVoX-d1SEzn=Pzp?|P8 zyKzuL8f&wvE1mt_D?6|8YKK?3EM2vUvpUjQ{yV$w4wf^~RYn(io<}^gQIG1#6uy08 z=hg$>hZgPswYv!JzKELB7_mW-djOO(_%AIfC&zaMO_f%1JIr?bj zoq<^ynVJUS-A^KN+EOoU3+7TYb%|khiCrmR-eS|~+2A7Kr4<{SR@r5#(P&nyv9jJ| zPtFb1GiK2n7hY>C=Bd#NWQ)Q3E>T~m42l~wLA>gehgn|C;-#=7jlmsFKowNWRspCx{%+59-w z(XK*w34U=|?B$mG2TP0EDwJG1@UC2*i&boEo_#sznEF;^7auM@tT#&edWQ*qcSV9| z3u8<+kE5EO(#<7|je7(Jj!8Z+j?ewMgZ>QnV|M+7%B8`kbAFhvJ|$6?RDS-yqxmRjy7(Mlq4xJzNH-{ZC#~b5^l5coj>0pB9@rg`0VNz zy0-J|_k9^d)XY3G^~5r9T^rr1c7Dy@B++|nP4;y;-FvRbZ8v_gtF228_f^{V@M_AC z;T56e&+PTAtY;)fng%|L9OAvp<*MQr@$AWAy;G$!<@U2bi?c1JNKsj2pIE(Lj^*t6 zZpufjUE7)S!ppf{oQ;-?k@Q?EnRh2cB&oA9B)&05GlW6*e!lpvr%px1D+iAl?zYw0 zndmBWH*b?b)GIxvaE*KYfl5Ezex$s7`{-$WchQ_DCX%~qf2`IUPU&s#?a!tQQ;VuN z!6&t+IqC}i%eJ7;75Tev9{$w)schjgxt+LuTm9$vSMG{g6q3#DD*7a#J1z2v#4?&W znqFrjkFQn==vME3zQ#QG)m5gJ#G~2PJ2-48e<@U^Bvse0?}*HPnzYRR++Mafjy0U~ z&$Y_<*eBk$y0|+!eYp1iPtA~~E3X-&SM+}~*I$(-+HvGS>e64go#WSUetg8GT&hqv zxbgbH(AS=aUl%Ukd0mm={Au^(BgrXIx)R?scG-MgDIWckQCycXGdv}%b})%ICe-eQ zz_N`aXYRbc)cEdeNJP-P-t>r<{-R1|pRW~{pY1=_!*&;Ex6gV{ksi^Fd|mX@jtS$uDy7`{o_Ej*`3Govo}LP4j;aq1;YqpM9E zgXX+q_}053p-^9u{%tOuR)F8N-q}%9^FPJTjk?8c*1Ik9*oGq`8BdGezu9)Mch|P+ z`X{seSWDwxCT&q(epA+0shi^(tfAcDQNs>@|(>;48M(GzF z8BzZE*&P8ZvLA+i7;3WD>AjMe`s#AuTl=-wq?KdrMetI!EUX!R=VdxxJ+EE8p=afz zlV!(D)LG)U&k`CrxA?`m(BNGvgUL4=7|y*mvtP=#C8hg(OTonw9;#LGx{2$q#doz^ zc5me9RynWw_*Jcc?y<1%`0Fam=Py1p-(%jd6(gT>C4EFCN*$QCi(87M)zjfBK0d%R zZaZV9HleiC6|9Z45?h?@{y||*P+=+~@j)#U%G*q{Sy8bBHGWgg~Bf}yw*Hs^1B50VMoA&@0aR{%} zCG_d=t+#3UVyW_{;uoelC7p^ZZ@i_f9CYG(&)I>8eBtSu^V-vu^6#cU=(u`T%}o8{ zC(D&T3T5xSjs0oV$6}d*OWD5MK+nYIQg3m4Qs_uaaqOe(w=Xv=3eUK)nrdPAImfu7 z+tur+_jtck;Cxd2pz*NO>4UjB$1MwH&!^D6cD4GzNQ*2#o5>os{__HP73t=0dmCe4 zyk}nb296Zf$i_ab$!gSNJx%el+T$WUuVH#r^7S=ePU5v) z?=1H^8j90zZH~XmW}3-gd`9&fT^MumGL`c0>}$mnj9!=&#C4r6^j$O8>+Q;Or_vH+ z7s&B>z1{j#z*Dd(sg}v5*pAks_3hQXW1?Er7dVp*BN=HG{AdpaK54yf5dWI%#r*e8 z!JjFMU-;2dsf1AtxbPjE<-(9+aQ5s4xwGdZ?cVKd_xN$7=Ov}qa)0ZJ-XSkp%lAE+ zl1+`zGTm6XgLSXbHhj$g-e~7gAG@kve^dC@U13_nD*GH%pFI^YPid>Onj3n!$Cr;% zv>AP`)=u8c`xj3;#_#IhWFrL=lhhv?{CXIe||m_7h`X~`OwE= zWmzf9``^^+%0G&TgfdxJFpd;Hdu9;nFl@~C^Df)Q)a!LAdt@y$)!UPJc531 z^gyq-lTOmzJ<2hh%-?%Hv{cNNy2)L=q{_EJwK4a#S7jGh&sE6*pUualo+nt`P3SOm zbDPWN<#wsfvACtFF=cSylMuJH{gy$S-P{J)WFJz5{$g0~VWzz1>9*rp%elVyQd^fM z&M6d@tB*He#wR(?EqNR`e5m6J>#w9FYI%yHTl-3n(yvY{mWeG|F>8 zHOq(0A1k+7**^bK(%y0Ckm_oNYd7v2*4DY&+-#*%c%8Sxi8jB~2O9*KWx z{VFAM$`IdQdb`h`jRl{8)7Py3;7R@co@#K$p~jWbW~PQ3C$7lr?>K+=u0|UF-DuTJ z@ttdJ-|iXQy-is2^`0n!&=1?bXKNhy6)>e=GdpRX`tXGf;)Sm`s1{V)-qW^U#60g< zD|?{E?M3M$!J&H9(&;+KgWTUNVek`6^%grY$LjoH=j=KkhqhgX+-;e?X)9BW+usHo zeiw6D^+mn+Avc9y-mgL7kCpgAtH*6`jdNb-rb$Vq;8UZ-uOBmJJK}5^SioG&7jP`e zrP1xFDD}OY)PaG)+KszJ%0gHFa4(^gr#QE~CB>(i^W^2AIe6=fO;J2L%TJ&0^WxkZ zu17U;Qt$kO^;dFyvL7TC9osZd=_z}pQpVw=yphAQt{aR6#Fl;eKELb&K1IEOV<88v z6otSR?)ig(ui68hk2R!9dfNhZ7OZrz3cqKLlk^%9{@0Y0Js%l>d3VV`h2)-Riv2E1(V`L^YHQA!(^e_FvQ$Gi>O z)q|No>aPi}`T0d*Wb>vp+p3btdiwe`bUF(8-`WeF9>3_EaxRp$l$vCH zt!4W(1eoG|;x7vf3yN>O92mr~xTeF@XsfiN;lX&$T8GRzMcg81_KS7W>aMe0ouzPp z^QQFzi+`PdwMZVnS3!N-P4&~)8`AdiSt_~zz@Lj=+G1h+TvJa`)BSsKEPvq&`@&Dh z_usv_ZJ<#5inK0&Qcy7Mg$?X7O&^+AtuM;OuzGA;dv{S}!wM&%x0UmxyeJwiv?Fdh zcX70>2(<2*f3xywR{5j&r6Xr<=NbrkTxtFimv!4chB2%9Y+GdB<5k`MnnCp~j@s)y zEz@3oyEJG&^zkdFqmf2ii{l)3=8Msh`eohAO|L(bIFQ?aR-8_SOXU*l!1j?uLG7Kq zK|_sh$Damz#pT_xTW1-!%U-)8l7+7?WoWSXkv>yl?3&kWrD)t4|!?oJ&nUQfzM2rjsT;=w>iq+j|mMrne%1(Js#K?sm zrxscCn^(51wW-#*=b8@)Dlk zyCKSPsZzx{|3~^DPqV?|YnHi1so&~zMvNWQ4o18zw^F^n>ATLU?t$!UY@ZV8>67A? z$GJOidg12a#?o}5B~&c>QN+@)_CpfxXI%%*Z%j%4K9W#z+w0A%`&@E{=M8h7M-6>T z%BXwcS1NozZ!Pcr{YT+1RGWvGNdG(;ml5H2dF}ox>iYDB7fX#6 zH0fq6m(p|n+`Rhrx%jG&+W9^Owwh)*A$6JsA!ogKlolF(30F6c)j!H5#38y}NN!{7 zr;6QfXMM7s)bb3fF(25&Y>uxfXW!QBYvL?*em%qKCB7NahB;wTJUmfHY>EVqv@}QN z&2bK!ukwM@>F93B^|OuFtfox~+;!t}^%vjuAD`9l9Wpj@NU~^ajO_{a5^}e=?Ov>L zMQnTZ`HadXO8$>6zq4MF^=$o-ap))BkxzWnz*p1j4^>)n1`uM5IWD%WI`-y(*qj`9i4#gC=`IRynhtj!lJe|-vwIzHc=tW+ z?N@p9qYW;whExsB<>apQtl@KJ?1!}gwwSQewdS1uDJQ2XQPCJ{? zng*QurJg&pow7FVj^+R8@{_M9BW&-Q(_Fl(R3)k|Ya zN;XuT*YzK`J~B5Z>g}s9U0szI8acx?mgTvNr1Fa#AuhC}G>IpXfO756(=JY@(uK_6V6Y<4;Dt)bJs7D_#xTU;-+O8oqiBwh^%eCK{% zR^oR*)cxbCFQ3kvcn>eRQT6HIy3?6u`6|Qyow{}(U%im{8E~=Q?S4p~#p5eWjyWFM zP-ZS+m=VFFGB@tXuy7GXg-SID zg?vfwsm6a+`xY;Lp|xsI$5be`@9Pa?nN`J!MMYOq;^TL=I(4_&U7nwKHK9Q5lxMe- zW7)dfoR;h5<<1%ucQG>PK3wa+I{(fSO{(FgVS7xk-Sjh9cP+TG`+Qh;z`d#uKfdn^ zFL)%eT6dX~(=y+Tt`PG!#~2fLC%Mi_7f;U%^=rD0u5e7~s0y8H73q%W`K5P^@p!#U zN`vnCuIIXRb6>JXP`T2oZ8y_xeB_XML;7P!0JXnE^>U@Qc^+CB3-a~wcfzF~bXsNB z`c&+`o^|*qSEq$(a2w07bLHW&xQ9+r-Y%|Lo8CFBdfRw+-P2Roj%?L8iC=#vE|r!3 z{fpwryiAtf=PAaD^Nsv&R%iO8wZDBNZsvKb^jG~m83~~`BUj>hv*P=9J=o-wy?PtY zzU^5_t2Iw>Sh7v+z4WNgJMEqsD{Sr7DL=ern;dRP*ZBIJ@LdzFx*reki5{00Q|ifk z9-D4|#v;#-fj!O5?eU3Y^u6XXejY4C!5$;Qt=ondF8(-2alT>2tC+fs{Mz~S>T|n7 z!@lX~-ryclJC_$+(fvS(-05&v?Xqb6~4 z5AJAMQ63yvY$L-=b^n<{PV2%hwV;Eh^3L8&sh7nT-gL_n=ckrh8Djk0;j@XuGo1k? zuT$c!39rJKxzbvDn5l9Dyq_J|dR5>@80*#pf|0y}kw!cD%p>aGEm*B-JYr9)G;;5- zo0-28u5|~m>8t1?b+P7F`)}-&yu2px$*aD5qCSzdLmu1cBGQFwBzf=DNvpUgDXh57 zurFGVCgYPS#GD>&5zI&NubDzw|;(^a)q zU6Q$Jt$B@XLmXRcRkK@`i)*f^t2wo!qWw#CPulhCr;VQ;;yGs=R+ZWmV7tNWqmx3( zlZxY((ch(RFWSAwT-_l_>b>68AU@Wsj^}OFi&y34r#Rdbx^gWMug1^$W-s^aj2i!@ z_ztGxML+C4tbf>98Jld6T792~k4u&}pt)p4OnB8t*Y&Dqx~f~7pQ;;KsNBvFREs>d z^W~t}XW2M-t<^}6u& zpG({rSbF?(A;(a#Mu5V*HH@^2uC@0|UbTE1Zd9_XwDFyG@0(c-5(W2$_;duCOjo48 zzANJv^W@y&t!sw*3);or9K^rSGI_gB(S3$!Voa*iE-sgTCYv_5gq$<&`eXd6E z2U%L4-8@_?SEtx&ZkCDD&2es7Px0&9(yo17Bm6j=p(ZnZ_VBx7Uw%o^`Zcv^2R7}p zlFJFAo&R`k@R#4Xx8~%MoSe5EHv`K~Gz(aiZa8^!;2zOI71Pa$`;4(#3Oh64sQ?tM8?e4{4LVrBNLbzw6%0JNm5Gf;Rr# za&g1zt5;Q@6)9TNIXj;{*XXe)$#|=Z@5kc|Gh zY#Hxf2=I)T7Ao-1F|g9YE+b({?`@>1xfDW zm0eCF&S}w>YvJV3)fCd!N0a0+Wx2hG52eBuj=xLft_ zLk5meU;ZAqO3AFv`S#Yui|3m&?H-b;D$9?GN(o_1{35*jUf(k#@4TJ%4JKAeOo~a- z6`beN`M&m-dC?rY>N8LANc3GH9ahy8HXfd(S2Z=$R&jGLPu`wz#3A~cHcyI$T}Dim zD(;)coAwKaBkD%nLm6sn8bK0A64HL0_?aDSvRCI@=GL~nHbbut{Yt<0_g*?2HX5M5 z-v4Nr*Qnf7c;+>N~3G=3Ks zm>2}DK2@vFxJBjjsk9ASUw&S1A~nCbyfn{w{;LG9-f*7>p#rHx%`ppk4>xPQJ373{ zmqW@`V!!vYg|~iQ70DA;61I7%pQyEz?E`Pc)#G|UOXh{WWHd4GZT#$HA~nmvT2_Nr zHR*j{IMoiG;qz&%z6Y0Or?Cb-d&X}fH9K5TV4wt?$QB(Fsd>$F-swn*ZI%@g7nUw< zF~@znDW;>d<|BWGgR|C)h|tjVj?2Z*Gw#1jJ-;WF!?U;Y%c9y3QOj01xCK88-e?(> zxHie+Q}c=+5M3%|>RKjU^YT`)!QQI5ZVb1mdcUZC;&A+A@cH_x zn3x!T;iX@*J~9p;-=Z!nDQ3FV>G|@Dy=P6g_xd_!l|R_L5qjL?R!~QzB(1fq3Ay&6 zX5$6e=P983*4FCFE3C@4GiF=7soAllc1QKo4E6hKb7NNIvI*Dd2Aa3mJU`74oNa0O zWKPRo@eO@08n;!N+3fZxFErdyzoYte@qwxu8$)S(JAIEshdk16q$c~=TU+uPM%{4D zxEEn@RX4r)d7Yj7o^-J@uE7)=MXuZS_XU-9SR`4zxfR&jEwnnBF|xhX0~e5#BjTia ze@>Bq(VQBmPfbrR;AdM1bwr(Cia!&0bYyM7-VtWA^fH4>GQxLD#Y9vp#bm`K3d<D6rHBGakW~=@NhSdLxMGc>Ev5|rEI?_`g;C?yY#X0<>||mUOapr&qyKT@9$^4 z#)|RDMv7OnZ=8`!^Jpkk!%^;5y4cCN$>6fjA(2hd55CA1GvK_#{R}>v@_X3+457Us z{UO#bR-@q+S9$c-jkCn5CG+fFn>=rg?7u@7#&LVKQO(5`-&=a_Wpp_~bdnaH+J^7r z3U-Ok%6hY1km*L@ruM??OI(EMJx>&zTv5*UP?;%L&oXhYani*!iZ=ewwq2&N-mh8` z)`@GGJZ_lthP6ws$${BI{<0BYU)*9*1+J#%pjN zs!jI0`#R{}hq_sOmzf@PP^RX*I={f?{#IcTZ>}urm6pC9>a)&nd*i5U9+Nea-&Eoq zl=!;!5ns@mkcRZs>ndv6$C?ljmW(NyuvS8&Pgg?hDtF<%!x z(MY|X>T&cr?WSix+R<`|Xy9-w-VE)*2s<1~V$}lJ5udOWq{zyf?%#&9wzPt)qT+D8i*zI?B}v|2 z9(EWTtJfsu)e1|%`vBN!(rR(lr4F@9OZ`9OrplGNEZBx$OHsJxv_sBk3fDsvc$e9g zVeGv0?>&FyGGDf~EqEdjc)=sjq>#gNps%l@;)l!oRY&gcX~XAt7PY=}81Cq4)*H<0 zi>&al{E`>bHr&oT^1AwP9b3kkxcBeB4u5Oi#6K7iQ1_v~qcC%@!}HgNq66!P;keqc zJ+tBm?$?JGnlEbGKM7Q~n+)HL>m2;}wcF|a&o^^^N||^Sr+Ioc+zHjR9~^S=`jr*a z`(lAtj>%ws&s%l%+&d!&p5J}n^W#eA%8;U>0HKv`!|z6VPfM-*v>sRa;)giXW(V0& zLu>9}RW)l}Y1O1xItRm#311C5y8{=m&asg+oWb9M@)V6E62ZQmNv?(t>wr#%aej|q^Exfw%ZqM!< zJ>!$rCAQtWJ@|}y)26&w*xuyo9+ShEcBcA+Yman}hH*f3aeJ4v2b=M_v?(tZwKsor z&&^qx7FqrAThGB9W8={3()R9y9-EB?(x$rTSg@jr!QCf^!tsyH~0!Y*?La;m5-R0#`%r(9(|Z0}i{qf+lHQ5@a1)`Pj8)A3<+ z({}eWIkb*p65}r}$U4CPSY7XJ&M0R6G<8}A@3)8TlfK$Bn9EB&`XtEpG zg zaA^1>8uv81I?7{tef*+jj(USVEq5d6`99tVI+@vebah(uh<2iWFi%8<=q{(TZSv=h zReu_CCondo8ZYz_did~u{1T5n;g_D;W_vEmG1$)MPLEr2>J%<@Zb^-a2XFf&t9K_P zY%`<>Qv@zHHn;3<7E3YL9lmRq<9blc;Yz;Yr@UI6+(7?Y9qYpjJnnP%aXGD}=i=4j zqUq+@nw(c#B4=%*r8~b++-U9W+)ZYM7u4DeUot|NxM&GNk)AK{*qOr zOs@0|%``pjqSB7MbS<7W4b(N(hjD^Ay2BkCzVJ9E$G3{Rhxcr*!jMFXzP$|L2q{KGtEyU9r*$6&B^I~ zgA%uDx>zSN5Tu$xLt$ta2c>!JqNoEf{Qdn$1av(5A)QBxAIjj^(O+RntZOjp96aq0 zG@gh1$KFGFANq^7(|`@Sp!2o}?BXE7E)E4gVo-P^fsVnJi9itx>3(!g3R+Rah8wW& zg)qCgpeW%l>Rbz5dBwpxNkCl^?CObZ6Z``W=AbzW_5u+ivZTMFuxTmwVyF>A9~Xs> zp})}94L%A;i9n}(5m7)GI_E>@XfddJL&&2(hT>QQX#f`P$DW104x-QiR74Ek0nea4 zN?;dO)MOg=UxH&OHX+*WcHzAHi3;>Ic4g$q(k@u#aB*iX!Zb zGaB=8nYWp>izDpT-<3JtblHJhg?rwOx8)jjz8Poz`Q}wHs1LFp@TT8@+q-dt&OQ4` z)AMZHe1-?4)0t^%FKy6SX!|1fphn{#SS1CTM<%a?kyQ6^T62`R~m}b(+{z7e2es)1hc=XJ10anSLQpe%Va$I{g zUkC0IJ^d)xi0fu5Wxgy6(<9?wPxODWU9u~G!6sL!e_iS<&!(h2wTfYx5{k@*ftBJi zDxI=AuRSvBYhJBia+YB}lUSox%TbRuk?L6aZP#XxNQBcr4L$MlxiUq?o}+n;)m)eN z?xKwfxF$RM_*|p;JlT#^bJxde-aUiv3OgZ&8LdlYrHQ}bjgn$7EHHQstjNT|1lFO1F-4*2@cw1dv6&VNw=lxniwT8FP`t?K&)ezI4;~!H!*nCZ0WK~kHac!*cH3?yPR1j9 zn7hYiH@62Tr}Nd-<>`&aqG3ae`nkpVRL2meffKomM&7urq_~U%C30k-NgaKgP(Lk# zc~{~bB`h4v{N^KI-%Ao-WddG|HF83PABcn;#OHV|_F?&4geF}yA<&{MCzkc!ibV63 zu?d#@Zsl>jCt3U02;NhB^k7g-(PP1bry&@E>llylzCU~~VsxfTwspnMwjv~TLS|b#c{)--G%43#3x+Rg@aXwHL5KN3R^Kk;GO*KeVnPeyT!|(aMSZ!m zyS1x~&lu4f>{jXHa0i6HK|p}_%^BxM^3_4dXM^?%={Kbu5=}_3ZLS|6 zP0CG_SWMg>Ya!IK?L6cY_3Yh*Ne5pGa39YB&CMdDLe=n&e0KDZ6+$)WS6M_3f3F_d zher^Th1T&=Ws&g~&ykk{g&F?zICwAvrutb%P2?u@Q{bLes7U#P1BD6{G=G`^HjSYq z>sr(i9KbOvo$ydN4%YCgJvukquRx|Ygieg~L3@&vX%yYoZ3)RGH6Js2inV%Buc*@1puo%2d0bI`05;iWLm|*FVJOwfu0|Ekc}OgonAo zAu|!b>O<6wzvTor>97&1%kF>~auQnF=$mfLl4Hi|{B-agb_v6n)*CAJiH(~hVY;>k z^MnI|_T~ix{Pxz}y z4(SdC1~c4lU~JlW+goZcKqoL2%)vRWKW$44fDvwv_Irc@d4$D zVjGd5#L`9yQ}spBI~CkZc1TX1Do+vfnd8bR-%2C-^uA1pr3_14AnA}tpxd!pfH6qa z*d2@7md-*K{tkE{^Vt*NWBXx0kn=J(?QYAEj%D{MPg4!Fb0#WeJ0)5|o`QHjL=MC} zBW!T$Fs4>Lp?#2p%(@yNkNk{bEny~%Z6P)XfoHA5cU0n8;&!0Ni?eGBdkxE* zTD=}1C(hrKdd)e)(adBqPyq^k5cFVwJ!ey*>f3H*!ahdX@)P zuLUU5ia^psMI&!b_?@XIUsU4+$ohr}$Og*P%JvRi)?Ral|DX+#hq(-(8@bxlN-AJY zaD$`)+~1*}$_r``KU$|5{{So~+cb5tdqAarJ4;K>dS}b3{CI1rHMOtY!eSdl&8q`7 zYPndP(7jZ3-#34uGU5pXBs99#JpEDLRsXTldNuU&eBZQCRbI4+jC43+b8N0E+p0#K zUzU(99RzI@rUqq%oUP?;!1yNi0X3ry7cu^7->~s0s*c(8|@d?~J z^IvbvEizebelL_F`G!p*H%b!`qMiU}NUWf|eEWeo_mjlmL-JFwA?w_UV#|0XD=TrN zw|XJ#rMM+S;$grch~Y?=^8MLNCW=LqB@)<|#G-m>8bK;3XvnqJTYwSa@UVR^1Mc?k z1nlz}*)5M7?LU(^xb8*5+M$Y2C*V0g01jnYKS>4?15P(jerH->MZH-pJm13i7nDWi z?c61F*=Nc%-SdHc-$3>pJZ3GBD?&=(`Pn(VJ{X|rS1MNQo78gHVswm3O4HNp{BsFO z>i}vy#KmV-5?AUK`I5pD9?IVOW!mnD$C}3z<1-X<59e^>VDS0JP1m=(-;BB1coJ6u z_ect;GCZ7W^}-dy#Y{BU6^rH?dnDm#w1{yZ zEBGB1Ug^7~>PV^-pbHA~jA&XtlUv%BsqFU+x~%CI0E?d#PA%ML3+UM#}g7q@wCw$%^VT zwP%(#87}u9h+WT3UQcs?HIKhU@_Lm_;U=7LS)bRMI=!v}lDxhiFaNRqO`drgx%$%26L&;%!6wA=haUUh6yq4=3Be{#wZoI_Mj zV^wRjn$Mp=4kypeH*R z#-fyDr#wd^VYeOUA+j!2FrG)t!Fv?fkwyJg-H$l`veVY}jpL{7%UFJD%05|( z5<%LBaHjdQTZ4QNJR7`ILWSm&+Eq=zM{33EqtpdC9BLz${q|rZ4r2;Ei4oR|Nm}A_ zudQ-QCzZSQHPi_(4?X0rT6dp?$VoXTVGS0=K9cQRNUUUHOKjZcv!K;_bXA$>(q@NM z=c3A53oUaC^Sm|Qz0Bjl53KXIKEi;7>x)2gH;)Lt;pgW;(gp2BRnp#v!tKJD-V#5Q z-3_`hmnFL9)tj1xS^1#M(2LD^hS|N&(G#bpq$cV5rl^N=mhpC5uP1(6ufmPYAZbnS zWOcylV+p*zelB16s!e%=$_nZ> z$H6jf`FON(gTU_>67`h+JjSOtRqv*Ynw=b!6s`|UX3ciGWu2wY2E=W(>oI8Xku44zOl_h0t`%~+6{AusP*+w+(I&a7HN)BHC39`IIoF}_lilUa-5RL$ zE>kekQ&}jhZpoYNgG0G@`v)#=6UsFdv6n`SCc}OA_s`ZzPK+mw?3Ub;$vw0RI|mHC zkXKb~{te{$=tsI>6*IT0^k+%S2#yngvUnCnprRhCz^nEPvf;!2RJ9AP2qlHR{bI!c zCa`IfO|!D$R<~2d^e#<|0|NK{GMbT*;fV@6wl>BDXDw}V?y-A!+sU330v~ZOrVUZP4y2V7&=Cg*v>wBoV-#t(m7+PXCHZpM!rXR!m44ytZ4#wBqti>N14lPQWQo;mXtld>NVn zaH0=eyx+qJE&L>W5Dc_v)NlH7@5kMD`f@?AB_^X^$fbO!`YNz)=eWbxC})|T$1ky z@BfulY2FJ?P|xgo%9d6vHSK{hF2~s3g_u_(Mu_rQT@`;eJ^^pmM-b1GYO5(yBu;h* zu1`SXeHxj^hS-BLr@zLSC{-h@r@q>X4M~+GVlNP@MeOQfjsxggkPHLgtz7C{N{aft z0^5*cXb+=gO)5?Ra))rZc@h`mb;l|0Xl5McGX$F>IFgs39t)oVP=8hnQc9p+n;S-fN)P)zuhv2ZuPC5TZ}!kShJ zPrT@W0Cd?FETEXS|J+?m$f%~k%j+6VQ^4ABDtcye2ENmSl+0tqWOKSDJ)IO7$pCgG z`eGmJFTZ>%_sH<(0c@1-5I$@+-?TK2gP<0^(N&F0$oE$EvnfwNh|Ro<}*E$R$3n7 z*Py}o$3mJB)aynJBv~N(agqc02aX@gmV2nS*M?ZDx&C&2hYT* zXsC^~4qHz)>+x#rQE!AxbNmaTfUZz!9N@sO1r9B4ED>)uCO)r2p1ZqU13+_+IrW`` zk;0@q6IWoWQIUCU%~1eBBR|&xt0@pOSbHyghWb>A ziIO914n)w38Go-T3cZqEDfcJvhUaqF#{RNHQDu=6OO?Pq^;29xOws5|4$wgvJr5_^ zdwSk~3rhJ>k7#*il7XXVN4VH#25Ve47O1#fDA`2v8D74z0uNc8Y{)#2>8xb93bj@e zHQHSigIn-Q5&wa$A#vxFyNU&B-qir@=#R2g(A0}F1_|lJS2}=SQ5StPb|D$jY>#pM z30-N5^8BA^0DowW|DJ61zZQwVShviKEdM4FQ}bJy>;GNi{r7tDzi@c}Q7`@?-2RJR z{Pj$qj+Tk_t0&9f^H)`Vli4ymJOJQUAQd$4x{=+x?&)(w;koup-|MA!_KIxaD`*&sdZ@IquqW|Om z|EKxiWa_`(=SwkW{AwWkw>*EO=)dA$?KJ;&{^xwZfSCXK`d?H^#xJ@0Ut@o*`{(%2 zYx1A}2L3@Y{zp3g-|ud|xRYOvO26vx{<_(rW%#cZ$W^#OI;+noTy

QE%uEFX*Z_ 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 delta 29263 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 HP$K<53dLe* diff --git a/cookbook/doc/TheRISCVSailCookbook_Main.adoc b/cookbook/doc/TheRISCVSailCookbook_Main.adoc index 7d5f54059..5812e4df5 100644 --- a/cookbook/doc/TheRISCVSailCookbook_Main.adoc +++ b/cookbook/doc/TheRISCVSailCookbook_Main.adoc @@ -1,7 +1,7 @@ :doctype: book :sectids: The RISCV Sail Golden Model: A Cookbook for the RISCV ISA -============================================== +========================================================= William C. McSpadden ; Martin Berger :toc: @@ -109,3 +109,23 @@ Following are a set of FAQs that were generated via set of questions to the Sail include::./RISCV_model_FAQ.adoc[] +== Colophon + +This document was prepared on an Ubuntu Linux workstation +using Microsofts VSCode for editing and rendering the asciidoc +text. + ++'shutter'+ was used for screenshots of various parts of the RISCV +specifications and were saved in PNG format. + +These screenshots were then edited using +'gimp'+ to highlight the +pertinent sections of the screenshot. + ++'asciidoctor-reducer'+ was used to combine and resolve all cross-document +references and put them into one .adoc file, TheRISCVSailCookbook_Complate.adoc. + +The pdf was created using +'asciidoctor-pdf'+ . + +See the Makefile, +cookbook/doc/Makefile+, for the recipe for building +the document. + diff --git a/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc b/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc index 3264952c3..8ecc64082 100644 --- a/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc +++ b/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc @@ -3,26 +3,48 @@ The main purpose of this cookbook, is to explain how someone can add an extension (and a CSR) to the RISC-V Sail model. This example attempts -to add a very simple instruction a very simple CSR to the model. One +to add a very simple instruction and a very simple CSR to the model. One instruction will be added into the custom opcode space. And that instruction will be used to manipulate the new CSR, which can then be accessed by the existing CSR instructions. +This is an example of what *is*, not necessarily what it should be. +This follows a pattern from the existing code. + +First, we will walk through the pertinent sections of the RISC-V specifications +to see what the specifications have to say about adding instructions. + +Let's start with the Unprivileged Specification + +image:images/UnprivTitle.png[] + +Chapter 26 of the Unpriv Spec ("Extending RISC-V") describes how you can extend +the RISC-V instruction set. + See unpriv spec, chapter 26, "Extending RISC-V" See unpriv spec, chapter 24, "RV32/64G Instruction Set Listings" +image:images/unpriv_ch24_inst_set_listings.png[] + + See unpriv spec, chapter 27, "ISA Extension Naming Convention", especially setion 27.10, "Non-Standard Extension Names". See priv spec, chapter 2, "CSR Listings", Table 2.1 +image:images/AllocationOfRISCV_CSRs.png[] + + Other goals: * Demonstrate the experimental switch * Demonstrate how to code WARL fields based on settings in the YAML files. +So now that we've seen what the specifications say, let's take ka look at +what that means for the Sail model. +First, we'll define a simple instruction, xmpl. This instruction Example @@ -32,19 +54,158 @@ CSR: xmpl_csr * Takes an unsigned immediate and puts the value into the xmpl_csr * The xmpl_csr can be read by the normal CSR instructions. -* xmple_csr cannot be written with any form of the CSR instructions; +* xmpl_csr cannot be written with any form of the CSR instructions; it should generate an exception. Files: -* (new) riscv_insts_custom_xampl.sail : the implmentation of the instruction and the CSR. -* (exists) riscv_csr_map.sail : the address map of the CSR registers. +* (new) model/riscv_insts_custom_xampl.sail : the implmentation of the instruction and the CSR. * (exists) Makefile : must add riscv_insts_xample.sail to the list of source files -* (new) test.s : for testing the new instruction features -* (exists) riscv_types.sail : need to add new instruction to the proper instruction opcode grouping. -* (exists) riscv_insts_zicsr.sail : need to add new CSR functionality. -* (exists) riscv_csr_map.sail : need to add new CSR name to the mapping -* (exists) riscv_sys_control.sail : need to add the new CSR name to the list found in is_CSR_defined(). +* (exists) model/riscv_types.sail : need to add new instruction to the proper instruction opcode grouping. +* (exists) model/riscv_csr_map.sail : the address map of the CSR registers. +* (exists) mpodel/iscv_insts_zicsr.sail : need to add new CSR functionality. +* (exists) model/riscv_csr_map.sail : need to add new CSR name to the mapping +* (exists) model/riscv_sys_control.sail : need to add the new CSR name to the list found in is_CSR_defined(). +* (new) cookbook/functional_code_examples/add_a_new_extension/test.S : for testing the new instruction features + + + + +riscv_insts_custom_xmpl.sail: + +// include doesn't appear to render in github +// Therefore, asciidoctor-reducer will be used to create +// a complete (all files included) file, which will be +// committed by git. + +[source, sail] +---- +include::../../../model/riscv_insts_custom_xmpl.sail[] +---- + +Makefile (around lines 26-37): +``` +SAIL_DEFAULT_INST += riscv_insts_zba.sail +SAIL_DEFAULT_INST += riscv_insts_zbb.sail +SAIL_DEFAULT_INST += riscv_insts_zbc.sail +SAIL_DEFAULT_INST += riscv_insts_zbs.sail + +SAIL_DEFAULT_INST += riscv_insts_zfh.sail + +SAIL_DEFAULT_INST += riscv_insts_zkn.sail +SAIL_DEFAULT_INST += riscv_insts_zks.sail + +SAIL_DEFAULT_INST += riscv_insts_zbkb.sail +SAIL_DEFAULT_INST += riscv_insts_zbkx.sail + +# Example custom extension (do not include this in the +# usual model build.) +SAIL_DEFAULT_INST += riscv_insts_custom_xmpl.sail +``` + +model/riscv_types.sail : need to add new instruction to the proper instruction opcode grouping. +``` +TODO: What changes did I make to this file???? +``` + +model/riscv_csr_map.sail (around lines 115-120): +``` +. +. +mapping clause csr_name_map = 0xF11 <-> "mvendorid" +mapping clause csr_name_map = 0xF12 <-> "marchid" +mapping clause csr_name_map = 0xF13 <-> "mimpid" +mapping clause csr_name_map = 0xF14 <-> "mhartid" +mapping clause csr_name_map = 0xFC0 <-> "xmpl_csr" // Custom CSR example +mapping clause csr_name_map = 0xFC1 <-> "xmpl_2_csr" // Custom CSR example +. +. + +``` + +model/iscv_insts_zicsr.sail (around line 137): +``` +. +. + /* machine mode, custom extension example */ + (0xFC0, _) => xmpl_csr, // error: Xmpl_csr is not a subtype of bitvector(32, dec) + (0xFC1, _) => xmpl_csr_2.bits(), +. +. +``` + +model/riscv_sys_control.sail (within function +is_CSR_defined()+ ): +``` +function is_CSR_defined( csr : csreg, p : Privilege) -> bool = +. +. + /* custom CSRs */ + 0xFC0 => p == Machine, // xmpl_csr Example custom csr + 0xFC1 => p == Machine, // xmpl_csr_2 Example custom csr +. +. + +``` + +cookbook/functional_code_examples/add_a_new_extension/test.S : for testing the new instruction features + +[source, assembler] +---- +include::./test.S.line_numbers[] +---- + + + +You will probably have to add command line switches to enable/disable extensions/functionality. +Files that need to be touched are: + +* (exists) c_emulator/riscv_sim.c : implements the longopts functionality +* (exists) model/riscv_sys_regs.sail : function signatures for sys_enable_XXX() functionms. +* (exists) c_emulator/riscv_platform_impl.* : global variables for holding enabled state vars +* (exists) c_emulator/riscv_platform.c : implements the C functions that will be made available to Sail; +functions like sys_enable_zfinx(). + + +What does the test.dump file look like? Remember, the RISC-V assembler knows nothing +about the custom instruction we have added. + +cookbook/functional_code_examples/add_a_new_extension/test.dump: +``` + . + . + 89 80000062 : + 90 80000062: 0dead12b 0xdead12b + 91 80000066: fc1021f3 csrr gp,0xfc1 + . + . +``` + +What does the Sail log file look like? +``` +. +. + 424 model/riscv_step.sail + 425 model/riscv_step.sail:75.25-75.32 + 426 entering step() function... + 427 + 428 mem[X,0x80000062] -> 0xD12B + 429 mem[X,0x80000064] -> 0x0DEA + 430 [41] [M]: 0x80000062 (0x0DEAD12B) x.xmpl 1824162 + 431 + 432 + 433 model/riscv_step.sail + 434 model/riscv_step.sail:75.25-75.32 + 435 entering step() function... + 436 + 437 mem[X,0x80000066] -> 0x21F3 + 438 mem[X,0x80000068] -> 0xFC10 + 439 [42] [M]: 0x80000066 (0xFC1021F3) csrrs gp, xmpl_2_csr, zero + 440 CSR xmpl_2_csr -> 0x001BD5A2 + 441 x3 <- 0x001BD5A2 +. +. + +``` diff --git a/cookbook/functional_code_examples/add_a_new_extension/images/AllocationOfRISCV_CSRs.png b/cookbook/functional_code_examples/add_a_new_extension/images/AllocationOfRISCV_CSRs.png new file mode 100644 index 0000000000000000000000000000000000000000..7c278db350b4be2d29991057eeac2b7f43e0c984 GIT binary patch literal 275646 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 TpMNeM(693T-3QR0>An3g7~2Of literal 0 HcmV?d00001 diff --git a/cookbook/functional_code_examples/add_a_new_extension/images/UnprivTitle.png b/cookbook/functional_code_examples/add_a_new_extension/images/UnprivTitle.png new file mode 100644 index 0000000000000000000000000000000000000000..e8380db69ae67d1b3b9d6d41f787c969ebece6d1 GIT binary patch literal 74880 zcmeFYWmJ}H*Dg#cC5V7@hk$g4G*Z$fNJ@8igP=&4(kU%n3Q|%cC@CRG2}mO;((H+A zJ?nkmZ|@)9JI3Dso_nk{2J61A>%6aXo->Z)m~(}zD$8PFkYFGnAYjSM-B(9IK;c3_ zK>UD)1mB?V2+tuP;0ya`>bR*Jdr~>MI9gcSnNzuWJDF3Nds$l`Ab3p`q-nd*HYG`4 zaz;=fH4|go-5<;eo3o{5dZ|C=>t2bE%fyw65Hoo_Zu0VXThG}|BPMT0le@fcGgytP zyO-~&y!LNBIp4BtZrj%0`OSWQzUI!ozfrQnx!Si9ot7>8`|xA~*)g_apT)mHEwhsU z!wUZtcg3$?pQ6ufEz;t%Dkq|+{Id7_J6jxvvdt%_ZH^m4tFwD1R}cQi$liE+bIY9@X-^|#wyj}+Oo{ixYq+Sa zS?n~S{0t-dIIVouC^?i}VqiN~tkpsPWKYJ6axRceaQrvd@tKd`i0NkX>c&cj)}R4* z=_)7Q`kC(NH{5OR3exEZQrexPHLPcJ4r)I=7n{__604IkJ$6J4T(jKB31?hp$lq=+ zx+OBnv_-QE?*^PW8I|Q8Ef={Ey=tA=eM(lL+Plzf9oybE*ga#Mp1B~? zpy=Mj+_IyXQ_S90hKc<8Orp^{BX1`R(;-JTTGXG-PtqKM=33hVm@0#B+>w67I)b+8 z<-nP6`V{5+9U&*ZDL#joV`S_%TQNYt{0cFj7uS?5YX9{0&7eNZ)bI0grhq zmX!z36$T4gOWtyMr?y$u8DwUq+Nofz+)v;-@D)w=U2h+ENg^+|{O+)-kgZyBe5&@C zlixt*+LrOiUhjD%>FR#G8EM>?MnCn;S_~SCVS8Tr-9uMb(aS??f4-!BfAPFqc=5`4 z16dzXs!R{vrH=fg#2foFPS>oZS4@lW^<3-;-kC%@S(tx*mqm15OYg4E7m=P@C9rNK zgW)@I-TA2Dx5LY8UMXg>{JVP>1xLIeQ zKRYlRVoH#|h7vs&NQklDvnzl2z}ulR3$YCC@OlK}8ynha1=;NIlzsnnLzny_S@au` z7T`ivhb@kQs0<}HWw$1)mUW-) ziJ8(hFm-cI6LV)d+#|eMG-*@H~8jin_;uCDUq{ehm zGKX%BZWg4H4LP_+^BVIL`O8rjJ+#82yDwJaUX0`2zdFSKUC4H3UG#C&xPL?nmR9Kr zRhZ@Ar~D>eu|5huKiYP7vgf$bx`^T%i6xd5Q+)LZB9C&A_`cWAD0ih;{D}0epdb%b zB&xal=5PV^F?ClNgGa>ZrcZ;w(fIrCscEVKH}pIV*HOl9@_AK;K2|;6l<^;)vuAjL zJ`olkw=PU4^IG*v6 z;dA*Ix?|TRe`2hqd*E8Fl2pg4T{B+QBf8pHg(j=A^Z8YbmBqd5DIXf7aKpJU_D5?% zjP3`B8Sq-=xTkw+7(J)Nl;M)R9l^nlEIOR4mQ^-zpE-Iaqt0v=;ggj;VwD53RdMBF zPhrbpuE%Ooa9RkVFVc@2&d>aUj(DDXz5DeF^KdgUYEi_6{Nb*}274&uA2JNSA=4;k`moYwe!sV2pZcn6{X|avge^e!%bp=> z$|f;cM=$wk=|i0qu7Ybgk5Q1^HKfgcG^oTn&IIWz5g^AF$X0?Q`!Wr<74 z8`kI^oZfQ3(t_R7sr_TiK7Fg8MfvS^A&=GunSaY51 zN6Vup1fs9$ZlL#hs5!qld#><}M71<*hKck*t%8W7tfz$M#gIQOjn1Q@3vm)*dclZt z9h;Zq2hyiFjJJ7ipb!v|qlXkIYdWk^3_q>1=}o@XZ0z@V7<2VGE3r|X@mI7PkqUQJ zb-L#ca!y`2N>G*F)Q;$Qq0bSpguTd5g+$U|CWkNoWrN+|VH{wy(FA1mKL5Tz6 zaV4KQbxJRu6Cu;udCwb^*)u7Z4Y73sNw{7Gq!e-iAk7`UV{O7e0VXcm90?{;x+@T~@^g{fD*m$=4m_9Dn^%kV%wq(rR zDKn?TPKv_P_R}YEdKftP=wtNQ#7{%sifdXLBWrVVyYfSlX{{e{N1TP!|>J$E4)NCJQTE`gsfAM&RD( z^fN?k=G<77y-qX3J-HC&bDW)Ji(2$l8G#hi$2tAe)iNW8Ylp__(cHAUB4yHxa+y2TO|i9iU7^-$xh=Q9>I=$J}*?%A|9 z@1Ej?3QR9hrH79{KYQxoQb$bmVb9X!xDY)#e(AXr6;879=k`h*mM2k%Y!6rPi6qC- z^nZpOliELE2tHN4Ro|E_@oiL;q{ZQfgIcpGdyti)Rhnpoxa6Z3sDenRvzFqSA(YRr zy}lPk5cQdWWTUtdlbraj1qI`W%@^uH@}j9|SuOTSUFv8Io8&A%kac5|f^-sz#dkfl z+V5x=cRkgSqPlnV(=0)A)t(FNmxw>^#X4YaNTLKu7GEE}ZOt2snDKse|4wyv zy@^vi?Nn3Sk8A0OEL6195hlGsy7%K>aX)qF?tkUqgC%KV$+4=58dny+T3$huj)Tiq}?k%L~_W4}PYkm(CH9AUa%C}Ha&K8SS2nZzNP zhVV#|rNj4ux!Kpwkz$LxsNAy&XGI2jy2S3 z{DO&II&YqvzdM?Zyd~)E=x3J4#C_fquO9ur{(z<;)svk1RPN3&mO#4o&JS$UP@)g- z8=sBFTceGLIf>o=?62z@6*Xcl^h7{_;nhfW*yO$IQbcPvaD`vmgilSDR4ih=nj!yb zjeyb3Zfv-$VlOj=}N*BAtOf4BiN0NFJ&R*{F+|m@h4li)9YL` zV{P@U@x#h;JyMz8C`8$0cg9y$=cjJdzURqk?%(2Ai(r|2>eMOF%OGJtDl{e+?|J_r zicx3k&wwOcF3jiVdyw+h*cQ15Z3dPv84x|Piwj_PU14SATZJdjAB zMthZ$pg%TyT>diphiny%#P5&9$3ZW;eW$KXe{p$O<6h(>6y5ejC35*;c11Hid!hp2(Qr%?R8!Me(%Q*+}Udb0#^Dq znmO)0;&Lqbx9uVs#Hln^GT$oZk=VTy?&|VJ*mH=@qtdg~jT8;SS{n_0B=b||0hw8A zAz1)IB%%^k>H!|^3EN@~SK`{+M=9pB9Y^_FTmhj-Xjm3e#2sO3X`{nF#n15TV+c!- ziBR~8qx_?LELTs9o*`<)YLOTS+%`S@$48a(9k~kSl;D%)wOdv z?oP$LsTNA+?<&_#URg8qIX=9ribdGpp3=s&Zj1f!ZiNN8D#kox*8?M*&@XHKC4$~m zd~z`eWIUr;AJrTyMvPp_Y;r$tr4l~I+rjKh=My9dz~GWF$LmK~dS6gmGOU_1WLA+# zP@TZIM9}%9tYhFY|6R62493qz>^dJ2FA1inzkGa@{$M4E%>-pm+?cvfmF%la8EQE4 z{MfxZU$VM;UJ=9{v_`A3pDCmwH__y#bHlq*7>8x@h%$vdb#F#KimPOli6u>!MMa%> zBT<>+v7=anVOye;6cJ&jWt(toIp_;-$%D_xx_c?dGIdK8!7(DmUR_+Y#%N`HFOz7o zdb~&Pc93l$7)yPB9Qvp@GbO5P*|mT zUwuvHJ^1P}y3P1dhR8P|VVwH#!;-zOjwHr;y>2(d;GSB^XmTm-n_T&c z_(K#qI7k%sGeJMe&kV6XkF()V<_$Kk(k*pOJsGX@|3aKL;Vo9K5PgfD1rtA9LgK?A zvf`_Qo8*xnZy97hxpy;VQqx)Vz+stl5%Eb8Q?%@XNaz-+YAS-|U7uylgy#tA?NpDs z5xaHoDLiHeAGEIvD(^u*Y7fM()M$jn%5KXtc?Dyof%5Uc4fD4xkiA{C?c}=h$;Qa_qqD&l4qay>Go!eup;~?posx z;s>O?uiV{UJ)tb0!@i^@FhHx^+G0|{j->laK-ix7sqK+2el}HG{g^&W7HxyW{9|I| z7d*J}zdsFpTt(M^#rYuLlbB+H2b%^vz)nlA0iEb91ACv9^1CgLXg_{axHc;CgZyZc z(WyFQyW~d8OvLg4s<(#ssgzLL42LK<#e%3$95s_VKG*9NWNP4|C_Xc)w+O)4(J*N% z;kbiV#roLrlH{dxw0%(8^@ICVR_wo@-*&sR_+=#PT3y(iRc=p3jQtOk?hMN@*Ob5h z=GoV-PKh1E4bY%nxt&pL!1}F}4rkf06uU*T?;d@K;tn5`tpsigPD%uehyF|Bfwa>UacnGF7CQWZut$&wWqM1srJh*&in zsFxvgwe=C<=$TXR+jU$XNjzUgkFtB6=H?{C&hF{y$>zz;=ICO{&M7D;$j-sV&c($Fcd)v8 zJGdEpu{yZYUM=z08u!gzOs0@GKYJ%7rGJ)paQ)i~ zU=MaLV<&b_HV$@sd-i{S!qrXM0~Y!Fh5nCExN3qt&aQ6m>geubYA)?z?%+oI?@O4O z{`0((yNlhQ?Uz9HtDOJsCuQZ8RR4M6$^@3y_D+AE0%QNTJKd};{>xbZ z?cJ`f{MpXGzX&}3&$|EZ?tkt5&&_a`l9JGUM^pE!*OR|5LUZ-|LS~Mp)@DL~{xs(l z;NUmqS`&o ztEB|E_yjowxmYbs%uQH%I0a2u1-bb6Sa}2l%y})$EG#$$c>gSAW-27(=wfdS$7yYE zY-!H!xo{_7i6J7YHsctC_k(b~b?>%T5&THBjzxEWtrlar61 zpHG0BTY!UulaH7CuOIre-a~U2SMbEEH90xhxc^%B>R5zeGhkTbD?fz={wxc75t4E- zH+FM$(R6gQ6QQ|Ug6itYKkiK>{MVt#S-Zj=-d7&~x6f;sJOA}xe}#aZ^`A>rRDax7 z$k_C+A8|GIF#pS(@Z4XQOs$L^EX^Ul|8}T-~x zb2xcUUSmEk3sV!=|DSFAv%0IJg`20bi@Ag)>=bqb4)kX?RE&R2$@Jgv_Ovp;vJ(dv zH!BDH!>P$3CZYb_N%D=*N%nR|2LZm|GDAc(f~a7*LRR!AX~Bj zldk@@*_9dpAAbHmi~one089VpNB&3l{g1i+W3K;^1^!1j|Hr%jW3K;^1^!1j|Hr%j zubB(uzX*@H1E3&Jpfe91Os-uG!8pl1az#ME#Jl?lKcF z-zjB`KwSMAoMU3l54)hI;$6BS`0I4hZ*Ij?OanW2;l$^n-E?`@b>nkO^69%GoU3`9 z|NozP?fZB~11tN~8h<}CcNZylIFzAJy!G!d0$9)#{{9mu>F+wmw75K905 zy@t?%`}bG>TthHM|NESiTECtl{^v( zyf~|**!#6H(arjEago-62|JAT++k^DMd3K);lqa=N;yi_c6N2OwX|YG@7y;okWsrA zcVj5UD)RC|=9~}K$3D%>od2E+?Ab=r)YL>mLR#P02zl}ZM{<8<&~Y&=F)ohk=M!~J zP1w7shW63=81th?kDNEUzGHms?Y%XSq4(B7Vjzf8Zi!a`4_kqX4_SSED7SNEFniZh zN~-hX{B&buqxALbg}0xYJho`enZRpXTU(D%Ou15}rKPV9keRvD_4L<3mnW685BbX-> zy?1!{bE1;c`(7kYUtgb)^Fo){S5Y2mgE}^Pw zYQrDnX?t7b3=J=S&NLm#UBgaY2Mb@jb`5^%`}gnQmhK)NhBap4!NI{bH7<#>Xf>0Y zFJ9p9jrI1HR8(LGj*pDI3%nFfHMg{!kTLw=Dv-gd_eMZau(7f6oWYTon3x!R_e+t= z+v@80xXs}_S!7gfI-_5|enmz^1gs-l)=rxC#I(3?K$EENjs3SIRy`S!A6dfQHQxKn z-`+avJ$htrW;XxzVs$vLyp`11**TU%M7J%VB_Tl_Q(H?zBQZ5qzRx|G-KgUAYh4YE zkRmWUnW$fbJadMSyN#~y)amc--WNMNJ6R&W3xg0D@ikE=ZROR~pyf4|m3^L=_`TQ@ zOUFVi>L*}^eWaHEx*K7bG>+neu%M*G`*8D-e!q+to5kbDR2<2le!$@_@Ia^_xt0t* zwXdxUjnIACJ3OqWUjy!-oGBFlqBHDfWohZ@df&B(*o4GH={ui3ed-+CFlh3yx3j}f zEo^SiIMHOtt;=s{@LCzx<7hgue43MrKR8a2H!)NQiqv%jp=Vg6umR~pNPex(i_fyMvX-z zfnDIesQ(G%`NT>Hsf&_WAu+Mb`SuVrYG&rrwJ$}H3d>ttEiOO$vVWs&KxHac%iCFb z_fE*>#V@VX!>x_+@^5j}QuAUpFLDIQtQMjC_iL)FKf$S~s(K$yoMt&*_DEM(7s5Gz zU?lKcm2sz26ZR%V2uL%xqTY*m+% zk^(QbcEvnt-clq9b)Da+S1Tiq?{QM8A)q&mG%7dhZ|ij+1V?{`UM%;MGO^nb z6Q@4KBn-%#LA!a=k}GxYKrZYCu_Q^*?c2AdWn>=Ij#iuYfQ^b2Q;{xX5CM{%tvgxE z@1MBlckl-8Oa)v+QaLVnna^(*kz9onNWlBl+Z$fGud1#6*0}Tf-q`fCA5<-+DLgT; zws9X8ka{)5>CCVqSKlHn?w$8|_mlRBVLZq)f2r zTky-{D0}x#*X7v8HkTj;1r;@rS0wop7CQRwuU}7fH(Baz~C6|+2sj$1u%!@z$ODgmmCATO%_m+BSzxqoG+qdVnSp6?alz;qz4Zkpg7z@2+AhE zQG}KzuczmGusS@NgxhawYRc_%V8wKrsVFDsb$;TmuATrD`{`5ZY>1-Y+m~YnxOjMQ z7sR4AWXi8!zg8IB^YuN2ES;!K*Om@IC_kTWuO0%DRyM}&*aj@Bq@?6L*o>AN6cl7T zQPB_B53<KHP?Ct0Df%` zF{Mr{Ei)YQ4n z&C~7e#*i%Y#n}Y~k0DceE%EMoLYBUM{kmB_6f^K(I>g9s7bmAUj#oz3)=WR`-!wEd zl$9w0+Le{g&ctRYH;E%V zhK6=3+b$AzK7)<7AfpoE>Ltd?}TyZGd0qn`ncxi zvjlpD@p8Sew(F><8uyU#3CPGc*Ve+rT&)wPr>9|~ZT_cx5RQd~G71W%@Y-H1h3z4z zk^1>R#QZl5AFvQ?0FHN@YwiE|vACopJ~_E3EQlYgTXw$f&;ujr;if1N-cKqWu90ey z6C>1iN>M)|F0<$0_UY;0${y8z49o*cps=dC2S&)Z%mNVS__fM-@k2Bl8=F_(^INnK z=52bY?S7({2WwwOKe5u#ys8&Mn{9B;`^c;dC)3|=|Lu)EU>bWXtGEksIy;4$lM|ma zxtY5tLR3@D-n9)cAjetTY`-cWk=TI>6I$C+Q`555*DkKXG$+ z{{^_4hlfWdn&fHTEn%WthGvkkI!gOLf6lLX2uPc%J&Kt7{xV%iyH1T6dW`mMe0->( z%RhenSX^BE{ymsMIgKa$%x`3r0{<&c{YCClWOZSo#nx2)Q8F(tuR*hyv#RP)-%Dm^ zGB#RTZrIKAw0>|wsB7o!Y}Vk4wzjsfmlxO`i-_a#&*{eevs&NZKOJYAt$Q1_wY2E< z^TU5v!8fo`29>PO0|QAGTJ-ev`^){Ew|t>YJgm?sCL%iOp$wdt)d74OOwm%{t%6TL zFn*UDg;Kx?A&?bdbGxwQbD2E()fZ<_lA-uSwJ>s^yl%jL;w?-;;RD&@Smj*gD;%;7OHcTTGUF9X)g5*bt$ z)_{u{k-N6kcO*cKjq}Wa%$b{;J5r|KSC#+n-AU=~^@Cr(`0c)mQwUv~H^wW`&EjVL zeRk{`ELB`tNvM3d)QcAymz=C!y8T|e6PF|AXTX&0muQA1^8%{K8%kBSF%t?6RrX>I@{zKtGo6C zTo+&xln6E!mS(SAnpEYQ-A~Ev0DFbJcBp=7y?b9f3J@LAc1dNbw5Wpr*%6e|7=d;` zHpQmPT|GUC=Kg+u9}9QYZV+({SKU>?Je>sA+A`;xHo=jM@Nh zz95$a`1GoB4&V-8!7hM5P>A?=d3nWU0?6m%~hFFezCP;t+4ZY`ye19JcCy8;~sbPTXKM zUON2&3JMA++0;e_Hxvf4L=;9gr|KgWS6muLBPu%_v2-uKyd5uik(elj@k%zDL^{*` z^w6HmDZk+|90VHBi9+dFu@o{gGXaOeuZt_x5iF@IJnR;A% zqDdzrjKd2G=rb2Sr*flWlkM#9)3UPR-@Yv(BC;Fzxtu6z=lBc?o%Qt%U__1H`-M9T z9a4B4sh{6C(fr!_mi$heK{*3QncI7B$%1gZj)UdaS5y`rp3#8;WvVByL{Hcan^S~< zWuvwA68yf;>#?b0qa&#rsgzHw96$A?G&?&xK3+{)`dap2k%!yz!U9bde*Hqm`&xXD z)gfy1L3QAEW>jjJn3142tWUpxFJ4oYn3(v!X4E9H61(W*%6^Hz99kHCeSJOMom8Mk zA9*tboRJs+Hp(d}-BuQNf#{y?>5)BJ^IjV%FrysE7Mttfj(f+4E)z?^8dpse(oUsi zk9w2h^LHl{+&CJ2P;mgBqrcsC(Z*Qm z1V|+)g^3-A6tT(i@zgj5zTV#72ez$wrT`{{YM-uT2QJ*yuF!|yb}Vn{@9+PWx3jzZ zsK%@pL<`vcElF@me~2zGFM;}W_&>vJZBK#X*x38V+t}Jdkz$^{#t_+!n=&G^&KOu< zG!L8>k}<{&_q}tqT4qo;fz&iN;|rMHk_15oY4}c9rvw`M3+!7BSn8hwZ>^Jbban!5 zj46$YBEOeZ=atH7Dx)!o(u>aLFfEs+1VTy1lqe$g0RRY%&V+};;>JKn8BF)kDDUtY zcc75bJk-{Xv{O^!i+}kNymJeLkLOLi=$AwNIJmejM?1#$_V&HK6-I5MZmX)og|Eez z6R!(`M-n>x+=B#4L`u4t!~lpv?9k+GT^${}2`C)W*yRmSAAyQT+M?1R)>rF;;&2Tk z^NwPQ_#5A|Bj;XA?b^T-0>cL$9v({-Bc;Txv*!0SmmX?>(8z6zW6Yg6v z269RK2rzB>s3jc(0}=B+d>ij6?ZDOL-QC^ZzCOSKq}&!!p+`$lfC4Yi`Q0CQdkgaJ zcVqeAv-`?%mdonqBST(&0n8C#Jd!sB0fEexl8%o?q2lCQ$L#cUJ@Kng(0l#$(pMmM z^p>7Dh_xVabJqgojV9%HxHvl=9v)^DM7g3}IjN!9J2;Y~gwjZt??A_tXo-!~V=dA7 zb-4A-@$EjjkQ<;BDSdsi0F_>g+P8L-G&R@EY@OZQu9zfkUmNH{OFf!^wdl`--sGOtMsnK$)syG1tSlrBA-PrJj z3fXpXqHv^`cNoi{?{VB3Rw&2UC*DR zxio=JOU9&_Gm8$%xN8PozMUzg{c-JNxo;Y8XT)vhi=)MxXMzF(UIQ6|N8HJuX24-9 zD;-NWjm^#Je=>ulb){veY0oW?ToRCwl4gU89Pe9#PX6%W;l_>2Yv8f-VKDj2j&(gm zLKGwo{dt3XFU!kWqh$cX&v^>q5E2sNChd4NfBY!7Zfd14Ix!(DEgcQATTYnKU62NE z-n?mRy8(6_A03@fp%xR%KIyZ+;+$1WAY+XBT&e@cNfY(=(bY|>ujh4e{JZI{`B7vJ}fsi~<+NJs$gh@Hw`RfIQ=a{=Ewo`O2qF{lCvu@x{NfPFn@ zO#<}JqPkZ#HC#*~!H&_owrVa|0qcXZ9Y^CQxdp!$xMNVPR3u67F5uSIHE5 zTBK^btyR)eT29B_67QYG`lGMtK~ zbMC!^1G0M_cECBhBME`tGOH#oUFq7OaY1^pwf}jFudgZTtHOz!tuQhg) zMd&LW91zW?O&{?HNJxAj62U-zYLU%&;4KTN*XdmRzkAptY2}nsH0=*f1J19^H zJ`Fedr_EjA;{E$56bo3?ZlKgd62s)d!?gs$)Z+6iO~84<^Q%3&$dJY$=k%Oy=_uLh z+3`MD@e-meUh7Qyl}C1T_Ig(?fevpTg(EINrOZENBh$W*w$kYS zR`!BY4K51>pnA+m{IQ{-Vc_{MLbeHz`_Fg2OPQPhfa;1OlW(uCxUjnV{9dA}rlzpl z>JapczRi=1?>)xWC{m`M!DZ2J;Gm;h3Y%y^zG`*0njGzX&vz{chV!<+DnBPD$9;m5 zl(Y#dQRN+45eKHbcXf4i&^}{fU;soXh;dC(w2+hg2<0SyF6^o}`ySf;=zDoItf8jn z3>CQCJt!a`fR051%^t)*XtsgfI%IdhctZfcVA23{K@TaoXvpeH&URlPwFcJ&ivyd7 z^adpcm?|CZq1+qKZ9}Lf+jvQ62kSDtW*>3Z6P;7;KHxL z|F93;56ZxENDX)I-u)0oEG47v_!^6pFAn?X+4=cXQ(S9Q&r|2*5m0gD6}g<|#n;go z?ALJ+tk74(G0#vNo0<|m&%h_3#^T}v2x=nMdYLAX!{%abT_VnmL=ZWaAnFasrx^J# zTxvb^U~^K#3n#>3=3V?9GPGPk;^^f0SHMS9R1`d_e9S^7sI(MJZ*c7*P(v2=)Z71f zub`?bZYr4>U^6+>JnpK*^Ak*U$_LQn4C}NmU*9$|7zC-RyMG;|6L^E(2@oG66jIaD zgzUanjgD$sW8-+bj^-n~IXO|qZtAmX>$5)KOIJ!;W4?P=UAFg(8VMPB*A|JX($>bv z22@rG0Vk?s=tPO2+X?`(1St;%=UH_2zh(g_?DaS=(`_be%=5Fp1N;FTJKY=*Tn(<7 zFbL^`P+8m_<=4ywCeNC>4Q&|0RfnA?Iwl6&-3|xcUSS~f9^tK9#*ZKGkRLucD!70U zyhbq(uRf8W^f~k1@6rM(*%-2R$}Xq}ffs)2k{uScvQb3N5Kxs4Y5f+1kmR5&!#&nE zgVstu>bU`1!+AY95+N7dD_hXq?B=cdz}^Vi1jWZOFYDbXb|xk!rXZPetr06`kMvTl z(~|zfhaNxrZlgy+e>FsNTFCE+Ben-Gm4%9G9{Pz$gn13fUE3sSZb2X|OmT%xMGI*8 z`3ZX)&9AI5Ok-_$9v*J#0sVJQefDE{8R{!dXjyqVbW)0I4>u>J){h};Do&Hs)Yd{X zwY;K&O|@HD@?v9sov;3xWg_%Btfw2C=`d>EzAbvDqaDt0?M%Xw`#jdE-p0MiWItxWw0BFoa<0P0XwyIvRT{O-Xs@#A@uZ}Hn?B5SfGP( zay!5+(BnYS=!iCYnknipBrHruy|lc{=f1A#yfNAA?P_L5SCQ3jQvD&8vdwL61bVTN z3W1QKA!p0T%7V0ckUmb5Cg^&nzTGyRM6&uvisCXLWYC_k749GV=`#&~`J$0iX9kEf z-(?;;j2~@(fz|=hoFx1~?bq5DSt<%D0kW9vY|46k1+Pmm%NvK82r&kFdRC)WeJ?!U z!_7vg?;XIwu06x->ilLpntTovfRl^M#%4ka7Q93K8}faYsQ=x#p!UacGp^3g$2Ome zw-=$}gsK6DVg0 zP;)4lUDQr)LLVea+p%+SvV-;u-snO+0pIe6=w;6Doz2j^guLDB9YZSNADLZ4pN#tp zhlZB++N(6^vVw}DCj0rtbT}D;J)Y9hC8ZgL)w3(&-_xT}L?+_%qInpQ4`7cs@AuoG z9~3&_3W9Zhem;m10C0q*wY1zp?M0&oSYTvs2 zIQeMQJ1SXz1Z_qcH8eD&q@A)^7DSi#>CWn z=f<=q@ezmtq;pV=;cY?Fg~|l<4*z&a7?PVG6%Pq3Bcs*Q$9OP0Jb4cJ%b6m<&kICi zDJf*^<`Tk1C|D)O1Ox?W_qMQ-1IDIG}=P0an_>(>U5%pn7}x3@zx9QF?K1jH48 zz1TC@E+8nxtF9{3G(IUckNp%6=*ytFU16-ARqzd{412RvBO|zNQ99sr8b(4O3@@Mj z+5o{n0}vPhP92t{r%$_qy=`u70gwGwZ>#<2(J>sw{5+^3!hkry!PT3o&M+(>^LYgo zA|hY+^7Z}p^{bVYl^<|e(20RzgN)SRwQF*vG!T?kR8a6(4K;agI|abb-a@+oR1dJG z3jhP|h(+id)q%az($c{GgzSdUa@@;Ui@^;`!lKumIHqT${V-Snogr}f+!qC7t>hf&&>4kxl5~Y7_!fKvt>aO1P~qWm z=nWtFU4R)uW#r}IK^d=?CAo7Ze6qm1a+_ zzOHU`Yz(?DS29=gV<4;I;t2I=iBF$Ch4^W0y;|6b1e#_*#-Sy*-dEC?3on(E<8-`d zoOG_WES>lepitV6i!F%@gJrK>lgfSauhWxB73d5qNrly8k9{@BE zJ3zno_Vy$sB*4$1C0ZyG1#Lzs20{SHOil9|{97R$>$%cjzg~y)nY4Qo%8a@F47LJ( z1guQEwg9%x!J#_OsVOUK2@D1ZAk8=HW}jaV9@E1(4kQUetG$ZCLO$z}e9#CYzVU>0 zPPX{I1$OzU>-~EwE-rPdNdVGMxgQxA7)VG2w?9UsV`F8VsWFcX2?-IOl!WF50h@kG zQqrAfQmApDyA6+y=3flKnZe0HZWf4!ZMEJ~`z--E6fO(!x7vWwpy>zZ_Y)OkXLkhW zqVe@qg=zv}0D=}>X_1W;D`M~z)rT!gn#J{Pp&nSy}$IolG62Lf@&z(CBw zL{VWOG)zI|%PTHstO`5Y+aAtC6@DK?iS$6>J$rPw3A8h{w6$%mt%*rUF22Uk;9SY2 z&;bP9Mwns{bQH+1{j&v-k{~le&pQ6(XD$RUY*9p{<@M_bnY?_THC2=XzYLQ zM7<7*1qVzBfE*ro%Cr8wOCITEBWF3EfXfhuJO=VU%J4nlMEMA9eK(N;IbY=2xHL{LEG&RZ02(0QONIWSuV0^|dQOav z@^EwG{XAZ5I#;kcEa+OZOQCrVoqj@@Ej(U%Kq3rID=L2m3sL=~3*kyquiJ zFago536v8)Fu_?-;Q*x`dK_iN#m{kIXcc}OEKPjN(djJ_CM9Iv9{)Q{{rVe$_tg^TwQQ`b@ga$Wj@LAsdACRY+t$FTNHv@ z$N0th`3JRTcAATS5S55KVZLS z#|B>scmOm)85C9p1xS&kjhg3YXFFXmgZNz5>r7Y$H5tDt_tloiPxCu z=y+1L1l=|-lYjtG`Ok~H&u&u2;E)Kq(7F3SU&P6&3Z^Y#2G3Ccq{{3|p%Tp^6rMvKOW5yxhIJ~VS5j7%KO5b4 za=LeX1|v8zr2IdNJ^=-_Oz513LgcAqX==I{NX61V+wA=X-t9F&1T%U-iyi2IS;BB& zltu$uAUo4QB;X5vCKhPv(O{&`kj4w{{9$Dy-~y3J{29$9^)qqnyE5^Xmna zNT+D7UcfaEK{OU~ZJdVYZTl}w1Q>w|%6>>40hr(n_SAnyO%Q}FzgN++lSdh~hjG$@U_rry{ z6!B`TeWzBp&MF?Vz{MHpQ8w<_h|rZ)R8cW{V@GU8f{-JxuA#9ThDpfgBtYie3!|v{ zv91oF5t;U2tH(0KpdDbHxUnm%ARIj+2Cb0t8o->cg6SsD%8(E#fX7r{5RL{w&<$8W zpBNr)rv#teURwjDotbMg6dlj!a8sTY`PK@IW`V;3hRxu2q(~(qA;BoZKnTM4z=}A} zu(-0~2}74>f}r;>GJXV9Nu}iCvIn^u& zlBtvwN*ZLUXiy=f5}K2u=ks&j_r2D(J!@NU)~jdRRxhseyqv24@Aw_Zci8v+yB~`d zg+PfVB%B4FExNU?UJ>kwV$+k}&&w+{G}M$u1$)Xks!Nq{3xo~r4@k1qVaA7Fb5J1T z|JG;9r>%Q%_awawSnz<@d2SJ@VLl`sGfn9-@JYMqv+NJo(KNyN*{zt z2M!(#iZnuy3zqKh@6RgDH#Yv;R4r70v9aH&lEGVMSx(l|6Nob-<$+sPEL!v(WejB= zlm$2*@3;e?Ss*uO_*&kve-7f5l_f((VsdkBmodx_~qe6YNWTy%g=9YY@|4w;Z`$^ngpN}!4>3y=dZfQ zX=xRZN|f5RV^vPcNJ+W#>H5p-qLY`AmUbtL&_J=dlr}%@{^aRXwuauQQC|p)lwb6r z;WX$64?ex8dw^z!gl#fGO23K#LPN&+7(UH$3Hxihd#z!R+mBLH{k;=k7ZnYalhfT= zX{4qW5B#^~UBc1KPYOO@cf7y+L){8RME-7!au5+INd-L#+Nh2sK=U!(QD1R!pZ0#0 z^*fMHzRAlw|Jo6jQqVrCsCczCjPg3Lo}S)SdoNAehs|P5PriKoI4jm7)&9Bk)Nk}e zPEJn9`fZ(zjr)bR7g~91p++rnq}|AR`I3UPxuqo)Du*VQO8cNgkDfh=P4KAOYm24; z>+(tA7oevML@Bd?0eb)Zj!sfsTwFpQNyI&;vT?{hwth9HvL2w1e&=|qYQA#w6V&mb zST6gBQmUc3Kl29`qE7W`Hyiw-9EHz}88gCDK>B2-IZB*ueyP{FWQc&8{6_;>ZvpSt zqmR_kp+hGC(6gvCx&ucWKezM&kUN@@gc*B6DhqU}{cR)@%ihDB6?;uGyCiB$F!qO#zNLd5v+VUNV`@Aux* zV9`~Sr+UtS)bk0X?IGKAcOR>xGd$Ca-$`E$I+DZ*qy71?i*i^!s~F$$(GC6MIigo$wfXdW7uBwFRkZm#xLrH@=;qy^-YG($Yew zI`R%N#@FG><;xcLw_Sn3;vsES)=yRi<=g8PR4@B`ZFEHjsOw=kaTg?;N37P}9?r?T53dxcGvF3$vSubrwoC z0F|$fJE3XmwEAsW)&-JwV;X;q;Qqx+x&>2u;x;J9iC_9$aWhbKQ@&vE*J-1F%jScCU9)?%lgjS4Y` z{3gVB?J&{5y&5=x(y72SF?f_qKs2Dv=&fKIijx^m7;s8_gwIJ8%LNe!zIA+XjG>`P zyr}{}P?%-Lo>iN&^UEYzeQ3;}nw_u#UAJ1L>^dN^i_wreg@qrCoZzkgD{jp2_;s_+no#NGd$W6|1Q{s!mHaI* zMbd}TmMTEKuDxD-bT;%f_IX9X_|Nin{@gsMz`Wasn30Hcs9b6p ze^lc9k2OwCH+<|4gssea_AEGlxTf<5VAr&TQ$mf%C=Ue9_?_Fg*Q9#PXZ&x0scCUx z;Sg_KmkI+Evu;1Ae^4M(Vi%1I%`e!hJY~uN?-7s1=U#Yicq1rnOf7Y^QcKiZt2DCG z{vk?Xn)D&8OZ``-xWOw-gLr#elX?ofP7ydneXp8ilQbH^581cfNJVWVTBINk|FoEgONz#?jr`>4+i;Ao1Z2KB1 za3m9EJD$CCR+aJ{KJp5Rl?4mv)jk(9$no&O1KG??peO|)=*EwaG2SsyRAE`g6Z<=$ zQIvFbs~gHc&WkYXnlaVY)wSQhFM>k$^XJ1k1f*mADpFL%DoFqhFq`Ge@35=)nu6dY zo<8vMtGt%0EySJk>R$hJ{Vz8ll}oJA(yszjg`xq^U@h#=%1R=+lqR zspck%Ny`qMShU~ky2ez0y_uz@nY3k};@eeC$c)=}B z+HO%@l6gg9$fx*@&!)g%glAuR^Vvy!_JZwbLA#bN;HHxEK)Bn!OeDZ{Z9s}5+ z??`=ZYM~7HI@)E+6#dz=IU0zD=ewxPdVaC4&bd^v-;WyM*+qVhr6y-oQZnE~?$<_` zWh)aCM<*xar@y1lx4c<+Xi@jTgOwDnn?f|=^W5WKFSvD--h+nJtD+h*Z*l8>Xp1vp zVZo=qklTXNCDHgrMCfote?Ew$4E=m3vG?AI4xo)FmczDFBewq=${N}~yLH{mVZi=u z4l`5J2-;Lia{_qQ^XF<)rkLK}Rt<5THPfg2*w_tdwCx8bUbCrb{`H4$20R#Xyy4|J zm7hOH$HiG$SX@W5>8csUUZdXzUw5UQQ{2*z#uYvz&7pw0>eAxKe%swdyj)%-&|RH| z_G}Ho8J1_OMXsLzDDdQM^ zn3+Yv=%ds)fiLMDg9eftZzA_kOe??F^7qf~22bBIJ={%dby#YpRrd}yfar*o6qRL3B zed&%i%J(!e5@dbwu%mMaI!&3>rFzK1#7#cpdJUdP?Rwsu$%xp(1q%*kO{47x67RTI z#4kwp_042AacGUcA4{0OD%NbyRl}vbM@g-+wEX_%%NvTsw>7~FcEM+7$|LzlaM1Ey zy?|*@-c3hwW~OhpE#jFv-$+%VGIRef9r+UR=M)VM6pn*TSIsm!s~x)SJlNajK?=&d3Q<+jue|L0#W3{bOKd!-@hYxzsB#?;EmDi>QZ1oIH6@Lb7=6CG^>~#di>$ zg#@x|auv2hhAOFa{_AW-y!sV%4d#ynN6fNape>h1vbu2LLXS$PlDlGhM(w<6>w(d; z%HIOmEfJWk$mwo}JTd|--ZN`4xO)6fbP;Kbw*b`k>)Us8^E`8(C6qz&W+ zWw6h4Qu{zt+4_i=!)Pw)BGKKWOkE4zL4jHPZ~fj0;~~)bA8$_`HR>X$MTP!ZHqELP zD@2t5eW0IP&PzU%G(oLi=8i@;Eocbv-n%tQ_-!gTxMd+9hxs zWA6X)1prj@?DdAtfK-3T1d|cgXaesuuBK?!`KQ$?F|wP;-~L0(d+do^xOwx$A8se+ zUO-H~)U|@L@`#K^KLt3_T`*J(<$P@%CO(%LNPRn>02*b7!#z&u=zi^>?+jO_YdUDREKNPTn@V!3Di++MK zjs(J$4lzwTW#r`pwjaDdhc4)MXW)QjQW$WEb62A6-s4GOt+vsbra;t8*ezvn0C-8iJH7!+zYqwSjl+Xt&iPNDR+0uj=k@8^mr0(+ zx;lxWwH`dQ<~2}1XB)YI?Q|LxQ9(`shV-x0AgIXm!dLU7J{Me6?_F}=ZT#6^h~aB~ zohvCR;pri@Wc9o}sD}|DK$8%LS)Oi;vm z1_q*E=fZcED~ipi&vyUYv2%Ka7s~9!Tixn5_KOh}G;b-3!qgRf&?%3w`%R5Cf}r`5F}udE)V6V-!PRNVZZx&W#x{V$aL3XhmiV+10!I!M*eX zO&pon4iJ5QJQQ46X(p*8{6=TH$-?tXc= zp5FpODd>5`74~mtJE@o_813kA)7Nhy`S|6Q6P}J+&qvTZX5k~HDtet#PqR`-J#P5$!NzTDKb4bcLuKl~gBK0q23B1n4g z!XIG7!Ija(my`SUb!{#k5px%+jV>U`H=KMlXU-Rbf`v*eGCTHyt@$q>0%3%vi_QG` z{*RQsI{$3nE3a>Ax|5!^YxYp_g9r-h&VCpVHrAICqT`IU*dnM5#gQUjDx1{X`B_wt zi=-_cfVp43eEHw}*Fq~RE8E#^mwwCz=a@4G8En5FOG028i7=rRGg`ZtEnBv1)v8O^ zuWxd6{1xo3XSQ_dar)6UYhKvgx*H!)Sp`u1aD7HBweJx*9cgd-$wLz-9DBT$4HSC% zw8uS#r&kbqH#aqT_kqn2#>RyavV$MeyiF1Fi-@Qar1OAu^UB=oCDA_No4Yhh;i z!bjuv#hY4)luVR%Y1@x#lL|mksL;rwUWW8BH4V+M5vB{_E;2IgD8N{#Xy1+eG(|-T zz;piPZf|XgCD7C`!I0o*&#t-F>eqwc_TT<5k6QaIjN1HP4lW;h?f>7MTmFYA`@fu9 z{>Rm&V}xs950Q>#)XD;}+?|(8ITW~bbFbj+70jB3gk+SBg-ldodf%1vcwnH$v}w*s z7NELR{UGz+8_DKbbNQf~WsjJ5eH3R$V*u>f*4D<0*>MQi6^_O0b8K8(XGhzeGiOQ= z&pW(4`@OQVr&ddP^UwEi!#|0nwuf%q5NtJYu}}#o@&%f4uO-cYr*=7# z0kRbb84iEL+O?AzzOk};&&d%BWBh5jo|pFD!AeSkqy~;_%|ov;>QOvC;HW4FhM>&x zcux3?W2$4z2#FT{1wx=|opwc%WvyZrV$EN^2j(}JDcbJzu zFqO1Ay?XR`{LV<^(Y>@@A|29o?~3OKEBh~W{`9o(zn%SwvygRT)szhdm+dD#`{)b- zGe95U`pnzmn`w~_g7e6w5bK^ABdPV zV|KfehmW&NK6&OlPzPlCKPl_pCqj$KloPWdyv@UlV*!B;O&V!UFE3BDxN-P!AALs> zkn{R(B4>JY<{ovv#M;8uB<*V>6`|3E*G7vLQ9mhUn!(pz8g=-SgCm&-=|=Wgu-C|t zkmd{hfP5N2exQ3dk88|4GK>OP=3_NUMpR+1-xOu#o(kIxh6?(Qh*+PmY2;|3QW~SJgY8MAI%{#sm@~suKdvw0D30Oaj(y#Jr>Al2F=t@C}@mX9%GUag=oBSlO!oxNehxYVVH zp3L=clSqLh|qrBc_BsfBWjy%{zD6YdX!2 zKknw6{@8Aa@D!(k<_W7*Ha;5To}X#+`1{0v;FVF6S5W;1dfZyrZy{R6`b%geCN}tJ z!)=DI6WMdpcN86|$cSu;yaDlANE40a%yJU!0*y&@Enzv{ZNm-eDPwgXfvwj zwNgjtVi&|5E0y|l-MO@6VBlge(=rYF-MoT`k8v4@5y+P-`SahM0|R@k)lqSKDb>@U5OCr3Rhqifmd3Zdi zo8WPT7Zo(4*O1J-Jlr`ZPnxut9Qn(cI*T>x_I0R8)R(oT?9tWe21!W+3KNDbv9gjM zK3wQ7`}yvdaCLV_r*of;k+_m6Amp=|85tCRHPzKD5}@YcCigSPkJqz78IC~)6cshI zy!~xqAwC>H2>-mLZlQ~_7}!&xiF3!qE^(7D{3QBGPrHotM_s*zCr91J$bZEXf7?Hl z&bw(65D{?Hm|Gonqn+Bj1o}sBN1cd*5+m8J2&?ih9ls&YN%~oq?0e5-_3BoPjz;=W z4{_G%m#yvX)frQ3=qjhM!pv+J%rmo6R3}EWXCt4Jv0X*VMhkOr;lczsa^ujW zs=m2|Z=_vy`95J>UZJd(Jm9atgk+)1ex5JrM9ZHy6$`HS}d~SH-hZ&hLT%Z^$%{JS9b5{f@dJBl0T2;E`Z!^GAWC7iFKc ze}DRW?@mOrM0g-R&?G3P1)q2ERJgI|fN(Q+FBgE_g!7M5E%wgs5(0^^I}5|fw4?g) zj={j+Ad)f|V*8ec+``hbKK(7?W?qCKOq7v%wsx|du7@Mrb>l{JGqaqJ&Y0s2l9UWW zwGk5X1(bF4=plm#k9rVHjSC^h%m+yevDoO*nc3Ovv0sQj9LB8LJOZrlz`gzy zF$8Ye$!ljWSkOE2CFUx9q$c13rR;hAqijNad`AB$B$BVs&tcRV^A&((T8`<)v{=jM zWp)Onv>!QKv8&V9+x^s<=&^Go3?6ko)N^-#lUwHuZ&^R-TBPb@3TlCsb|T z+_{`Nc72{6atVwM-khJ)XV)cyfn9RunB@-TyUon+I@XtabuReLT!*LvG9#_wJid=a z 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 literal 0 HcmV?d00001 diff --git a/cookbook/functional_code_examples/add_a_new_extension/images/UnprivTitle.xcf b/cookbook/functional_code_examples/add_a_new_extension/images/UnprivTitle.xcf new file mode 100644 index 0000000000000000000000000000000000000000..91ab04626c18a89fc5390113125a2fc4dd406952 GIT binary patch literal 158916 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

w1-bDL{!bIMge0 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

)if)Rn;n03<{h^^$>rQUoAY^NlwJ!;5*FgqO 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 delta 32523 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 +<> + :sectnums: == Introduction @@ -100,6 +102,10 @@ TBD [#platform-configuration] == Platform Configuration example (Bill) +TBD + +// All code and asciidoc description for "add a new extension" +// is in the functional code example directory. include::../functional_code_examples/add_a_new_extension/add_a_new_extension.adoc[] == FAQs (Frequently Asked Questions) diff --git a/cookbook/doc/images/AllocationOfRISCV_CSRs.png b/cookbook/doc/images/AllocationOfRISCV_CSRs.png new file mode 120000 index 000000000..1e418f58c --- /dev/null +++ b/cookbook/doc/images/AllocationOfRISCV_CSRs.png @@ -0,0 +1 @@ +../../functional_code_examples/add_a_new_extension/images/AllocationOfRISCV_CSRs.png \ No newline at end of file diff --git a/cookbook/doc/images/PrivTitle.png b/cookbook/doc/images/PrivTitle.png new file mode 120000 index 000000000..6af47d38a --- /dev/null +++ b/cookbook/doc/images/PrivTitle.png @@ -0,0 +1 @@ +../../functional_code_examples/add_a_new_extension/images/PrivTitle.png \ No newline at end of file diff --git a/cookbook/doc/images/RISCV_base_instruction_formats.png b/cookbook/doc/images/RISCV_base_instruction_formats.png new file mode 120000 index 000000000..06e45bf57 --- /dev/null +++ b/cookbook/doc/images/RISCV_base_instruction_formats.png @@ -0,0 +1 @@ +../../functional_code_examples/add_a_new_extension/images/RISCV_base_instruction_formats.png \ No newline at end of file diff --git a/cookbook/doc/images/UnprivTitle.png b/cookbook/doc/images/UnprivTitle.png new file mode 120000 index 000000000..6c7ee3250 --- /dev/null +++ b/cookbook/doc/images/UnprivTitle.png @@ -0,0 +1 @@ +../../functional_code_examples/add_a_new_extension/images/UnprivTitle.png \ No newline at end of file diff --git a/cookbook/doc/images/unpriv_ch24_inst_set_listings.png b/cookbook/doc/images/unpriv_ch24_inst_set_listings.png new file mode 120000 index 000000000..5c295bdd1 --- /dev/null +++ b/cookbook/doc/images/unpriv_ch24_inst_set_listings.png @@ -0,0 +1 @@ +../../functional_code_examples/add_a_new_extension/images/unpriv_ch24_inst_set_listings.png \ No newline at end of file diff --git a/cookbook/doc/images/unpriv_ch26_1_non_standard_encoding_space.png b/cookbook/doc/images/unpriv_ch26_1_non_standard_encoding_space.png new file mode 120000 index 000000000..ccbddb262 --- /dev/null +++ b/cookbook/doc/images/unpriv_ch26_1_non_standard_encoding_space.png @@ -0,0 +1 @@ +../../functional_code_examples/add_a_new_extension/images/unpriv_ch26_1_non_standard_encoding_space.png \ No newline at end of file diff --git a/cookbook/doc/images/unpriv_ch27_10_non_standard_extension_names.png b/cookbook/doc/images/unpriv_ch27_10_non_standard_extension_names.png new file mode 120000 index 000000000..bdf2fb040 --- /dev/null +++ b/cookbook/doc/images/unpriv_ch27_10_non_standard_extension_names.png @@ -0,0 +1 @@ +../../functional_code_examples/add_a_new_extension/images/unpriv_ch27_10_non_standard_extension_names.png \ No newline at end of file diff --git a/cookbook/doc/images/unpriv_ch2_2_base_instruction_formats.png b/cookbook/doc/images/unpriv_ch2_2_base_instruction_formats.png new file mode 120000 index 000000000..6d30cf9e1 --- /dev/null +++ b/cookbook/doc/images/unpriv_ch2_2_base_instruction_formats.png @@ -0,0 +1 @@ +../../functional_code_examples/add_a_new_extension/images/unpriv_ch2_2_base_instruction_formats.png \ No newline at end of file diff --git a/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc b/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc index 8ecc64082..39eed7583 100644 --- a/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc +++ b/cookbook/functional_code_examples/add_a_new_extension/add_a_new_extension.adoc @@ -19,47 +19,102 @@ Let's start with the Unprivileged Specification image:images/UnprivTitle.png[] Chapter 26 of the Unpriv Spec ("Extending RISC-V") describes how you can extend -the RISC-V instruction set. +the RISC-V instruction set. In this chapter, we find the following... -See unpriv spec, chapter 26, "Extending RISC-V" +image:images/unpriv_ch26_1_non_standard_encoding_space.png[] + +This encoding space can be found in chapter 24 in the instruction space listings. +This where you go to find encoding space that has been reserved for custom +extensions. + +You should be familiar with the various types of encodings that RISC-V +has defined. These can be found in chapter 2 of the UnPriv Spec. Here +are the very basic encodings... + +image:images/unpriv_ch2_2_base_instruction_formats.png[] + +Almost certainly you will want to use one of these formats, as all existing +RISC-V instructions use one of these types or their variants. Now, having +said all that, this example is going to do something a bit different. +For the purposes of this example, I simply wanted to create a single +instruction that has the side effect of writing a custom CSR with an immediate +value. So, when we get to the Sail implementation of the instruction, you will +see that I created a new type, and X-type. [red]#WARNING: this is not a +pattern you should follow. This is for educational purposes only.# + +Now, let's figure out what opcode bits you should use. Go to chapter +24 of the UnPriv Spec. See unpriv spec, chapter 24, "RV32/64G Instruction Set Listings" image:images/unpriv_ch24_inst_set_listings.png[] +Here we see the opcode bits (bits 6::0) that can be used for a 32-bit opcode. +This is imporatant. If you stray into other opcode space, you will almost +certainly end up hurting yourself and creating confusion. -See unpriv spec, chapter 27, "ISA Extension Naming Convention", especially -setion 27.10, "Non-Standard Extension Names". +At this point, I should mention that are naming conventions for extensions that +get added to the instructions set. See unpriv spec, chapter 27, +"ISA Extension Naming Convention", especially +setion 27.10, "Non-Standard Extension Names". Following is the pertinent +portion.... -See priv spec, chapter 2, "CSR Listings", Table 2.1 +image:images/unpriv_ch27_10_non_standard_extension_names.png[] -image:images/AllocationOfRISCV_CSRs.png[] +For this example, we are adding a single instruction: xmpl. The name +for this particular extension will be called "Xxmpl". +Now that we've covered the instruction and its name and its opcode, let's +move on to the addition of a new CSR. First, we need to move to the +Priv Spec. Why? Because inherent in the access of the CSR is the +concept of privilege. CSRs are typically have some sort of privilege mode +associated with them. So, go the Priv Spec, go to chapter 2 and look at +Table 2.1 (which is reprinted below). Within this table, you will see several +regions that are used for custom implementations. -Other goals: +image:images/PrivTitle.png[] -* Demonstrate the experimental switch -* Demonstrate how to code WARL fields based on settings in the YAML files. -So now that we've seen what the specifications say, let's take ka look at -what that means for the Sail model. +See priv spec, chapter 2, "CSR Listings", Table 2.1 -First, we'll define a simple instruction, xmpl. This instruction +image:images/AllocationOfRISCV_CSRs.png[] +For the purpose of this example, we are going to use the region +that is marked with a black rectangle. The CSR will be a custom +read-only CSR that can only be accessed from the machine privilege +level. -Example +So now that we've seen what the specifications say, let's take a look at +what that means for the Sail model. + +Note: there is a coding style guideline at the top of this github +repository (CODE_STYLE.md). I have attempted to follow the style in the example. +If you add code to the model, please make the effort to follow the +coding guidelines. + +First, let's be clear what we're going to implement in this example. Single instruction: xmpl + CSR: xmpl_csr * Takes an unsigned immediate and puts the value into the xmpl_csr -* The xmpl_csr can be read by the normal CSR instructions. -* xmpl_csr cannot be written with any form of the CSR instructions; +* The +xmpl_csr+ can be read by the normal CSR instructions. +* +xmpl_csr+ cannot be written with any form of the CSR instructions; it should generate an exception. +As you will see in this example, adding an instruction is actually +pretty simple. It only requires the addition of one file and the modification +of the top level Makefile. Adding a CSR is actually a bit more complicated; +no new file is needed, but no less than 5 files need to be touched. + +Following is the list of files that will be added/touched for this example. +We'll walk through each one of them, one by one. However, a lot of the +code will be obvious. + Files: -* (new) model/riscv_insts_custom_xampl.sail : the implmentation of the instruction and the CSR. +* (new) model/riscv_insts_custom_xmpl.sail : the implmentation of the instruction and the CSR. * (exists) Makefile : must add riscv_insts_xample.sail to the list of source files * (exists) model/riscv_types.sail : need to add new instruction to the proper instruction opcode grouping. * (exists) model/riscv_csr_map.sail : the address map of the CSR registers. @@ -68,21 +123,17 @@ Files: * (exists) model/riscv_sys_control.sail : need to add the new CSR name to the list found in is_CSR_defined(). * (new) cookbook/functional_code_examples/add_a_new_extension/test.S : for testing the new instruction features +Following is the file that implements the xmpl instruction. - - -riscv_insts_custom_xmpl.sail: - -// include doesn't appear to render in github -// Therefore, asciidoctor-reducer will be used to create -// a complete (all files included) file, which will be -// committed by git. +model/riscv_insts_custom_xmpl.sail: [source, sail] ---- include::../../../model/riscv_insts_custom_xmpl.sail[] ---- +We now need to change the top-level makefile to bring in this new file. + Makefile (around lines 26-37): ``` SAIL_DEFAULT_INST += riscv_insts_zba.sail @@ -103,10 +154,16 @@ SAIL_DEFAULT_INST += riscv_insts_zbkx.sail SAIL_DEFAULT_INST += riscv_insts_custom_xmpl.sail ``` -model/riscv_types.sail : need to add new instruction to the proper instruction opcode grouping. -``` -TODO: What changes did I make to this file???? -``` +//model/riscv_types.sail : need to add new instruction to the proper instruction opcode grouping. +//``` +//TODO: What changes did I make to this file???? +// Apparently, I did nothing +//``` + +The new CSR (actually 2 CSRs; I was playing around with the +Sail capabilities of mappings, so you will see references to two) +need a mapping from their address to their names. This is done +in the following file. model/riscv_csr_map.sail (around lines 115-120): ``` @@ -123,17 +180,29 @@ mapping clause csr_name_map = 0xFC1 <-> "xmpl_2_csr" // Custom CSR example ``` +The code that actually does the reads/writes to the CSRs using the +Zicsr extension instructions is found in the following file. Note +that only the Read of the CSR is supported, no writes. This was done +to check out what happens when you try to write a read-only register. + model/iscv_insts_zicsr.sail (around line 137): ``` . . +function readCSR csr : csreg -> xlenbits = { + let res : xlenbits = + match (csr, sizeof(xlen)) { + . + . /* machine mode, custom extension example */ (0xFC0, _) => xmpl_csr, // error: Xmpl_csr is not a subtype of bitvector(32, dec) (0xFC1, _) => xmpl_csr_2.bits(), -. -. + . + . ``` +The following file provides a function to see if the CSR is defined. + model/riscv_sys_control.sail (within function +is_CSR_defined()+ ): ``` function is_CSR_defined( csr : csreg, p : Privilege) -> bool = @@ -146,6 +215,20 @@ function is_CSR_defined( csr : csreg, p : Privilege) -> bool = . ``` +And with that, we have completed the implementation of the CSR for this +example. At this point, you should probably try and compile. Got to the +root directory of your repo, and run... + +``` +make ARCH=RV32 csim +``` + +If you've made it this fair, you need to do a little testing of your new +instruction and your new CSR. However, your GNU assembler (or whatever it +is that you're using) probably has no idea what +xmpl+ is. So, how do you +write some assembly code to test out your new instruction? Let's take +a look at one way to test the new instruction. + cookbook/functional_code_examples/add_a_new_extension/test.S : for testing the new instruction features @@ -156,15 +239,6 @@ include::./test.S.line_numbers[] -You will probably have to add command line switches to enable/disable extensions/functionality. -Files that need to be touched are: - -* (exists) c_emulator/riscv_sim.c : implements the longopts functionality -* (exists) model/riscv_sys_regs.sail : function signatures for sys_enable_XXX() functionms. -* (exists) c_emulator/riscv_platform_impl.* : global variables for holding enabled state vars -* (exists) c_emulator/riscv_platform.c : implements the C functions that will be made available to Sail; -functions like sys_enable_zfinx(). - What does the test.dump file look like? Remember, the RISC-V assembler knows nothing about the custom instruction we have added. @@ -180,7 +254,23 @@ cookbook/functional_code_examples/add_a_new_extension/test.dump: . ``` -What does the Sail log file look like? +Note that the disassembler has no idea what to do with the opcode, +0x0dead12b+. +So, it just leaves it as a word at location +0x80000062+. + +Now that you've compiled an assembly language program +and gotten a .elf file, you are now ready to run it against +your model. The executable is found at: +/c_emulator/riscv_sim_RV32+. +To run the simulation from the example directory, perform the following... + +``` +../../../c_emulator/riscv_sim_RV32 test.elf +``` + +The simulator will send its output to stdout. You can capture it in the +usual file I/O redirection method. + + +What does the Sail log look like? ``` . . @@ -207,5 +297,27 @@ What does the Sail log file look like? ``` +Note that on line 430, we see the execution of the custom instruction +and notice that the simlutor knows how to decode the instruction. On line 439, +we see that the normal RISCV instriucion, +csrrs+, can successfully read the +CSR. Woohoo! + +You will probably have to add command line switches to enable/disable extensions/functionality. +Files that need to be touched are: + +* (exists) c_emulator/riscv_sim.c : implements the longopts functionality +* (exists) model/riscv_sys_regs.sail : function signatures for sys_enable_XXX() functionms. +* (exists) c_emulator/riscv_platform_impl.* : global variables for holding enabled state vars +* (exists) c_emulator/riscv_platform.c : implements the C functions that will be made available to Sail; +functions like sys_enable_zfinx(). + +This is actually a separate topic that requires its own example +and will be added soon. + + +Other goals: + +* Demonstrate the experimental switch +* Demonstrate how to code WARL fields based on settings in the YAML files. diff --git a/cookbook/functional_code_examples/add_a_new_extension/images/PrivTitle.png b/cookbook/functional_code_examples/add_a_new_extension/images/PrivTitle.png new file mode 100644 index 0000000000000000000000000000000000000000..9909b28ef73dc3dba2675f07767d4175b78965ab GIT binary patch literal 53398 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⁡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

wvK-SAEoH$NnO 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 Md5h*=GTspIKhaY~qW}N^ literal 0 HcmV?d00001 diff --git a/cookbook/functional_code_examples/add_a_new_extension/images/RISCV_base_instruction_formats.png b/cookbook/functional_code_examples/add_a_new_extension/images/RISCV_base_instruction_formats.png new file mode 100644 index 0000000000000000000000000000000000000000..af26b07f1531ab605d1d98d0f7c3bbdb68cc64d6 GIT binary patch literal 44954 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 b;f;MJ(&U!Jh9oic=M7m&C5ck8r~dy3|K+o) literal 0 HcmV?d00001 diff --git a/cookbook/functional_code_examples/add_a_new_extension/images/unpriv_ch27_10_non_standard_extension_names.png b/cookbook/functional_code_examples/add_a_new_extension/images/unpriv_ch27_10_non_standard_extension_names.png new file mode 100644 index 0000000000000000000000000000000000000000..2e37a531700e53c957263198928e464b74909535 GIT binary patch literal 58275 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 R79ZgcElg$`C(Us1`acbtj9&l% literal 0 HcmV?d00001 diff --git a/cookbook/functional_code_examples/add_a_new_extension/images/unpriv_ch2_2_base_instruction_formats.png b/cookbook/functional_code_examples/add_a_new_extension/images/unpriv_ch2_2_base_instruction_formats.png new file mode 100644 index 0000000000000000000000000000000000000000..996838f04dedce9edab56f0a1cacc4b9048c3697 GIT binary patch literal 45344 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 literal 0 HcmV?d00001 From 6e7c8e9d28a8547aa12632f8a381020c516854da Mon Sep 17 00:00:00 2001 From: William McSpaddden Date: Thu, 2 Mar 2023 11:32:31 -0600 Subject: [PATCH 11/12] fixed a problem with test.S (which is used as an example in the cookbook). assembly define was inconsistent with Sail implementation --- .../doc/TheRISCVSailCookbook_Complete.adoc | 4 ++-- .../doc/TheRISCVSailCookbook_Complete.pdf | Bin 727265 -> 727104 bytes .../add_a_new_extension/Makefile | 13 +++++++++---- .../add_a_new_extension/test.S | 4 ++-- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/cookbook/doc/TheRISCVSailCookbook_Complete.adoc b/cookbook/doc/TheRISCVSailCookbook_Complete.adoc index ad9fb6911..e8a50e8c2 100644 --- a/cookbook/doc/TheRISCVSailCookbook_Complete.adoc +++ b/cookbook/doc/TheRISCVSailCookbook_Complete.adoc @@ -411,7 +411,7 @@ cookbook/functional_code_examples/add_a_new_extension/test.S : for testing the 16 // Support for a custom extension 17 18 #define X_XMPL_OPCODE (0x2b) // inst[6:5] == 01, inst[4:2] == 1011 --> custom-0 - 19 #define X_XMPL(__rd__, __imm__) .word (__imm__ << 12) | (__rd__ << 7) | (X_XMPL_OPCODE << 0) + 19 #define X_XMPL(__imm__) .word (__imm__ << 7) | (X_XMPL_OPCODE << 0) 20 21 #define XO (0) 22 #define X1 (1) @@ -570,7 +570,7 @@ cookbook/functional_code_examples/add_a_new_extension/test.S : for testing the 175 // The test! 176 177 the_test_begin: - 178 X_XMPL(X2, 0x0dead) + 178 X_XMPL(0x0dead) 179 csrr x3, XMPL_CSR_2 180 181 // li x4, 0x76543210 diff --git a/cookbook/doc/TheRISCVSailCookbook_Complete.pdf b/cookbook/doc/TheRISCVSailCookbook_Complete.pdf index 2b2d55a1222228de2967551df099afda4dd1ec22..813fa4756ffe4ef2edd2a7a69017854d35a9fc9c 100644 GIT binary patch delta 9713 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 delta 9412 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 diff --git a/cookbook/functional_code_examples/add_a_new_extension/Makefile b/cookbook/functional_code_examples/add_a_new_extension/Makefile index 2da527894..96f541b08 100644 --- a/cookbook/functional_code_examples/add_a_new_extension/Makefile +++ b/cookbook/functional_code_examples/add_a_new_extension/Makefile @@ -87,6 +87,8 @@ ASM_OBJS := $(subst .S,.o,${ASM_SRC}) ASM_FLAGS := -DCONFIG_BASE=${CONFIG_BASE} ${MARCH} OBJDUMPFLAGS = -t -Dz +LINE_NUMBERS := $(addsuffix .line_numbers,${ASM_SRC} ${DUMP}) + C_SRC := $(wildcard *.c) C_OBJS := $(subst .c,.o,${C_SRC}) C_FLAGS := -DCONFIG_BASE=${CONFIG_BASE} ${MARCH} @@ -117,7 +119,7 @@ $(info DUMP: ${DUMP}) $(info =================================================================) -all: ${TARGET} ${DUMP} +all: build @@ -132,19 +134,23 @@ ${DUMP} : ${TARGET} %.o : %.S ${ASM} -c ${ASM_FLAGS} -o $@ $< + %.o : %.c ${CC} -c ${C_FLAGS} -o $@ $< +line_numbers : ${LINE_NUMBERS} +%.line_numbers : % + cat -n $< > $@ -build: ${TARGET} ${DUMP} +build: ${TARGET} ${DUMP} line_numbers dump: ${DUMP} install: clean: - rm -f ${OBJS} ${TARGET} ${DUMP} ${OUT_FILE} + rm -f ${OBJS} ${TARGET} ${DUMP} ${OUT_FILE} ${LINE_NUMBERS} run: ${TARGET} @@ -156,4 +162,3 @@ clean_all: clean - diff --git a/cookbook/functional_code_examples/add_a_new_extension/test.S b/cookbook/functional_code_examples/add_a_new_extension/test.S index 52ee45a93..988a07c07 100644 --- a/cookbook/functional_code_examples/add_a_new_extension/test.S +++ b/cookbook/functional_code_examples/add_a_new_extension/test.S @@ -16,7 +16,7 @@ // Support for a custom extension #define X_XMPL_OPCODE (0x2b) // inst[6:5] == 01, inst[4:2] == 1011 --> custom-0 -#define X_XMPL(__rd__, __imm__) .word (__imm__ << 12) | (__rd__ << 7) | (X_XMPL_OPCODE << 0) +#define X_XMPL(__imm__) .word (__imm__ << 7) | (X_XMPL_OPCODE << 0) #define XO (0) #define X1 (1) @@ -175,7 +175,7 @@ reset_vector: // The test! the_test_begin: - X_XMPL(X2, 0x0dead) + X_XMPL(0x0dead) csrr x3, XMPL_CSR_2 // li x4, 0x76543210 From 64818a9da9a342c239188dba15d54b05c1c345b3 Mon Sep 17 00:00:00 2001 From: William McSpaddden Date: Thu, 13 Jun 2024 09:51:17 -0500 Subject: [PATCH 12/12] update upload-artifact to v4 --- .github/workflows/compile.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index de9590807..5d370ce93 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -20,13 +20,13 @@ jobs: run: eval $(opam env) && test/run_tests.sh - name: Upload test results if: always() - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: tests.xml path: test/tests.xml - name: Upload event payload if: always() - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: event.json path: ${{ github.event_path }}

!f9?Jr2@d4XqFHp)8GF`eqG9jz;?4~Uf#@8Z5oeB!%z??UBqI)OVv z71Qf+(Lx~*Y>%LgFlw$@qE1wL^&+EyiXb_C2fLismPbj_+@U&j!LR1Iz*bams!abO z_V$XlRMTqHm@>@%A)?=d)McpRL^oyCrA89HH{a2*7yl_U^YxrKT=T#Uxc19bM0j!c zKNbbfczFN5X!1|(e&ptPX?T3$I62b z>ZnXnXbGLweS1l%nng9N*!02MoEBNUPfkw0=A|Ee!MBUYiWPUJmlB9}karU6 zZQ%bF&uWaBcj3eJb;o*U>XQa)lUA8NdnweudVpezgIa9FWdog6lD7S{$yw*5upakJ zeD+e;G86UNaXZEvj~llUr3k0jfXt#BH%?x>_!x?N_{_3;KcXKmExe&(16`&nk52&9 zbwl&G*fq0EVT-6z0{l*^cPpx>EV9%F}`!mrDE{sk-&Zq$W4>9r&vl7N2&W28p^kx; zR#Z$tA!=-D3gO+)Yz-tTLEnOxj?<2$!$LvsJY&wBKQKt3a`f*sB}M(C6j`VrpbRJ^ zeULBkn+Ob`v(R-u^YZw?O;!po0T3xGIKA7cxEaF$h9C?e10b-}K4`RT4<4S=1s&X8 z6OiYinP4x6i3OPnn$;CtrGnzKxw-lCXa9hJ-AEgo=jYmv8#}hb>x+N^hTI;bBu#Tl zhfr8p_-TBX61{-6YZq7#?;If|FOSyd_ZrhL54&vE0k-2Lp;?OV9)Im6O)$(N=L+M2 zB>$>%1dj>-;1i_ufmgG<)nA5uUyi92Q-1@hXsX>AzfcBBpJ`mbhADdm2X|6?M|WAc z?rEnLjq%02Jo$GMe8naNdbqpSfw@qT3Q^zM+Rb0StS6OO?c8qdYz3d5u|G}aW_=k^ z=$Spz?aJ?*rDj9}b2Ai(3nD=wWIfnwo8kK<%NVnQiK70t8*w!=|M;VwuOs(~>R(a+ zDD|?nAOZ=)5$$tGWa_alMKxKS+=*2z<;a1XfMC51;}9%Bd&1)eFB8U~y=rVsYpi9; zN7#<7zN_8cEinIG^P-1QS}-*zAfcKIAj|4%kO?SFT}3BsQ}&RLog=Be$8Bue^|iYt zawIw|m|r7zvp?1`(1<2g5^AJPDB2tIg+{I}Cop?lk3M|Q3JZFMF0 z^qhiSyB=hHj8pxalsV6Uj#a1o9(O_zqWPA&YzW8 z{HUFD4pKK)jcLXUNfojP>rQ=RtutSTZ2KT1b{Dmin?X@eRs{Q&w&yuG5mnaOKi&)AmG6afSC?2~4_H6RBX>{8Y7xab72BO0XspEEqVNNd1 ze@6X$z`dF)F>!*>N6;VP?lNrkCGi8^r7Duo{XZO#&y`{76cL2di2OXbZb>dR2@W7$ z^XFZ}%iVhky3(y%4^P)_KFhrJ zlF1K2utMi&AGhN;q`>6Fz&)t>T{+V@I}A~{3BqBx(`c~^IXOL5R5+>uVELj8r*?!| zrd4tsa@(N!C>uWFCae*07xZhEmPPp7G+j2q@Da_%vm#v+qy->c-ZSK(n)!>#@0XxP zg4m!Q3oG(ozC5BoV<9%ij?F)H>ej=DM*onB zyL*dS(qYiStUJM=rT2`Oa?*jyQL)+ZsIt;SKZzE>XLKLa?G2(b-g#+hCD74;9Tlx) zBl1oAJ^3>&4Z@pn5ijM?n}*eY@_k0X?zInAg|g5&Z}re8LsOjl?U>-y_a`wNYu8>t zj@dS-@VmKP9mX5J2Sg&W(*6CviM}KDg?xS` zApx3a#8)1q>k-2~qV&&t>_a#Ts>}XTJE*Vc%;6ExAH*jm(Wu&Io;_AjFn;vq!4`~$ z34GR9WjYD?5Z??q6uJ1sZ++#12c`GR<=>s`ea6+#SRHzTujcjZ*K7u?TFi=&2*ZHZ zguH`�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 Uv4gQP6p3a`vzeM^=Cb?$0HY-29RL6T literal 0 HcmV?d00001 diff --git a/cookbook/functional_code_examples/add_a_new_extension/rv32i_isa.yaml b/cookbook/functional_code_examples/add_a_new_extension/rv32i_isa.yaml index 68f3c85da..6ca76f6c7 100644 --- a/cookbook/functional_code_examples/add_a_new_extension/rv32i_isa.yaml +++ b/cookbook/functional_code_examples/add_a_new_extension/rv32i_isa.yaml @@ -31,6 +31,29 @@ hart0: &hart0 - extensions[25:0] in [0x0000000:0x3FFFFFF] wr_illegal: - unchanged + xmpl_csr: + reset-val: 0x0 + rv32: + accessible: true + Rsrvd: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - mxl[1:0] in [0x1] + wr_illegal: + - unchanged + FieldWARL: + implemented: true + type: + warl: + dependency_fields: [] + legal: + - FieldWARL[24:0] in [0x0000000:0x3FFFFFF] + wr_illegal: + - unchanged + xmpl_csr_2: mvendorid: reset-val: 0xdeadbeef rv32: diff --git a/cookbook/functional_code_examples/add_a_new_extension/test.S b/cookbook/functional_code_examples/add_a_new_extension/test.S index 1b16fa504..52ee45a93 100644 --- a/cookbook/functional_code_examples/add_a_new_extension/test.S +++ b/cookbook/functional_code_examples/add_a_new_extension/test.S @@ -16,6 +16,7 @@ // Support for a custom extension #define X_XMPL_OPCODE (0x2b) // inst[6:5] == 01, inst[4:2] == 1011 --> custom-0 +#define X_XMPL(__rd__, __imm__) .word (__imm__ << 12) | (__rd__ << 7) | (X_XMPL_OPCODE << 0) #define XO (0) #define X1 (1) @@ -50,7 +51,6 @@ #define X30 (30) #define X31 (31) -#define X_XMPL(__rd__, __imm__) .word (__imm__ << 12) | (__rd__ << 7) | (X_XMPL_OPCODE << 0) @@ -174,13 +174,14 @@ reset_vector: // -------------------------------------------------------- // The test! +the_test_begin: X_XMPL(X2, 0x0dead) csrr x3, XMPL_CSR_2 // li x4, 0x76543210 // csrw XMPL_CSR_2, x4 // Q: What happens to a write to a read-only csr? // // A: illegal_instruction trap - +the_test_end: diff --git a/model/riscv_csr_map.sail b/model/riscv_csr_map.sail index 2b0421e59..1e2fa2a60 100644 --- a/model/riscv_csr_map.sail +++ b/model/riscv_csr_map.sail @@ -116,7 +116,8 @@ mapping clause csr_name_map = 0xF11 <-> "mvendorid" mapping clause csr_name_map = 0xF12 <-> "marchid" mapping clause csr_name_map = 0xF13 <-> "mimpid" mapping clause csr_name_map = 0xF14 <-> "mhartid" -mapping clause csr_name_map = 0xFC0 <-> "xmple_csr" // Custom CSR example +mapping clause csr_name_map = 0xFC0 <-> "xmpl_csr" // Custom CSR example +mapping clause csr_name_map = 0xFC1 <-> "xmpl_2_csr" // Custom CSR example /* machine trap setup */ mapping clause csr_name_map = 0x300 <-> "mstatus" mapping clause csr_name_map = 0x301 <-> "misa" diff --git a/model/riscv_insts_zicsr.sail b/model/riscv_insts_zicsr.sail index 707eb4c75..94eeb6a30 100644 --- a/model/riscv_insts_zicsr.sail +++ b/model/riscv_insts_zicsr.sail @@ -137,10 +137,7 @@ function readCSR csr : csreg -> xlenbits = { (0x7a0, _) => ~(tselect), /* this indicates we don't have any trigger support */ /* machine mode, custom extension example */ -// (0xFC0, _) => xmpl_csr, // error: Xmpl_csr is not a subtype of bitvector(32, dec) -// (0xFC0, 32) => xmpl_csr, // error: Xmpl_csr is not a subtype of bitvector(32, dec) (0xFC0, _) => xmpl_csr, // error: Xmpl_csr is not a subtype of bitvector(32, dec) -// (0xFC0, _) => xmpl_csr.bits(), // error (long error message which i couldn't interpret (0xFC1, _) => xmpl_csr_2.bits(), /* supervisor mode */ diff --git a/model/riscv_sys_control.sail b/model/riscv_sys_control.sail index 310a3fdb7..6970dbef9 100644 --- a/model/riscv_sys_control.sail +++ b/model/riscv_sys_control.sail @@ -132,7 +132,7 @@ function is_CSR_defined (csr : csreg, p : Privilege) -> bool = /* custom CSRs */ 0xFC0 => p == Machine, // xmpl_csr Example custom csr - 0xFC1 => p == Machine, // xmpl_csr_1 Example custom csr + 0xFC1 => p == Machine, // xmpl_csr_2 Example custom csr /* supervisor mode: trap setup */ 0x100 => haveSupMode() & (p == Machine | p == Supervisor), // sstatus diff --git a/model/riscv_sys_regs.sail b/model/riscv_sys_regs.sail index f264eaeda..79d155079 100644 --- a/model/riscv_sys_regs.sail +++ b/model/riscv_sys_regs.sail @@ -828,18 +828,13 @@ function write_seed_csr () -> option(xlenbits) = None() /* Custom CSR example */ -//bitfield Xmpl_csr : xlenbits = { bitfield Xmpl_csr : bitvector(32, dec) = { Rsrvd : (xlen - 1) .. (xlen - 7), FieldWARL : (xlen - 8) .. 0 } -//register xmpl_csr : Xmpl_csr register xmpl_csr : bitvector(32, dec) -//function legalize_xmpl_csr(o : Xmpl_csr, v : xlenbits) -> Xmpl_csr = { -//function legalize_xmpl_csr(o : Xmpl_csr, v : xlenbits) -> bitvector(32, dec) = { -//function legalize_xmpl_csr(o : Xmpl_csr, v : bitvector(32, dec)) -> Xmpl_csr = { function legalize_xmpl_csr(o : Xmpl_csr, v : bitvector(32, dec)) -> bitvector(32, dec) = { let v = Mk_Xmpl_csr(v); // TODO: Write a meaningful legalize function. @@ -857,7 +852,6 @@ function legalize_xmpl_csr_2(o : Xmpl_csr_2, v : bitvector(32, dec)) -> bitvecto let v = Mk_Xmpl_csr_2(v); // TODO: Write a meaningful legalize function. // Just return the register value for now -// xmpl_csr_2 // ERROR: Xmpl_csr_2 is not a subtype of bitvector(32, dec) xmpl_csr_2.bits() } From af862d8048e668f5e45400b2c5a97b38565ca6b6 Mon Sep 17 00:00:00 2001 From: William McSpaddden Date: Wed, 1 Mar 2023 19:47:02 -0600 Subject: [PATCH 10/12] updated text and images for the cookbook (add a new extensiona and CSR) --- .../doc/TheRISCVSailCookbook_Complete.adoc | 198 ++++++++++++++---- .../doc/TheRISCVSailCookbook_Complete.pdf | Bin 577818 -> 727265 bytes cookbook/doc/TheRISCVSailCookbook_Main.adoc | 6 + .../doc/images/AllocationOfRISCV_CSRs.png | 1 + cookbook/doc/images/PrivTitle.png | 1 + .../images/RISCV_base_instruction_formats.png | 1 + cookbook/doc/images/UnprivTitle.png | 1 + .../images/unpriv_ch24_inst_set_listings.png | 1 + ...riv_ch26_1_non_standard_encoding_space.png | 1 + ...v_ch27_10_non_standard_extension_names.png | 1 + .../unpriv_ch2_2_base_instruction_formats.png | 1 + .../add_a_new_extension.adoc | 192 +++++++++++++---- .../add_a_new_extension/images/PrivTitle.png | Bin 0 -> 53398 bytes .../images/RISCV_base_instruction_formats.png | Bin 0 -> 44954 bytes ...riv_ch26_1_non_standard_encoding_space.png | Bin 0 -> 22373 bytes ...v_ch27_10_non_standard_extension_names.png | Bin 0 -> 58275 bytes .../unpriv_ch2_2_base_instruction_formats.png | Bin 0 -> 45344 bytes 17 files changed, 324 insertions(+), 80 deletions(-) create mode 120000 cookbook/doc/images/AllocationOfRISCV_CSRs.png create mode 120000 cookbook/doc/images/PrivTitle.png create mode 120000 cookbook/doc/images/RISCV_base_instruction_formats.png create mode 120000 cookbook/doc/images/UnprivTitle.png create mode 120000 cookbook/doc/images/unpriv_ch24_inst_set_listings.png create mode 120000 cookbook/doc/images/unpriv_ch26_1_non_standard_encoding_space.png create mode 120000 cookbook/doc/images/unpriv_ch27_10_non_standard_extension_names.png create mode 120000 cookbook/doc/images/unpriv_ch2_2_base_instruction_formats.png create mode 100644 cookbook/functional_code_examples/add_a_new_extension/images/PrivTitle.png create mode 100644 cookbook/functional_code_examples/add_a_new_extension/images/RISCV_base_instruction_formats.png create mode 100644 cookbook/functional_code_examples/add_a_new_extension/images/unpriv_ch26_1_non_standard_encoding_space.png create mode 100644 cookbook/functional_code_examples/add_a_new_extension/images/unpriv_ch27_10_non_standard_extension_names.png create mode 100644 cookbook/functional_code_examples/add_a_new_extension/images/unpriv_ch2_2_base_instruction_formats.png diff --git a/cookbook/doc/TheRISCVSailCookbook_Complete.adoc b/cookbook/doc/TheRISCVSailCookbook_Complete.adoc index 27989fa03..ad9fb6911 100644 --- a/cookbook/doc/TheRISCVSailCookbook_Complete.adoc +++ b/cookbook/doc/TheRISCVSailCookbook_Complete.adoc @@ -32,6 +32,8 @@ handle on the Sail programming language. <> +<> + :sectnums: == Introduction @@ -103,6 +105,10 @@ TBD [#platform-configuration] == Platform Configuration example (Bill) +TBD + +// All code and asciidoc description for "add a new extension" +// is in the functional code example directory. [#add-a-new-extension] == Example: Add A New Extension and a New CSR @@ -124,47 +130,102 @@ Let's start with the Unprivileged Specification image:images/UnprivTitle.png[] Chapter 26 of the Unpriv Spec ("Extending RISC-V") describes how you can extend -the RISC-V instruction set. +the RISC-V instruction set. In this chapter, we find the following... + +image:images/unpriv_ch26_1_non_standard_encoding_space.png[] + +This encoding space can be found in chapter 24 in the instruction space listings. +This where you go to find encoding space that has been reserved for custom +extensions. -See unpriv spec, chapter 26, "Extending RISC-V" +You should be familiar with the various types of encodings that RISC-V +has defined. These can be found in chapter 2 of the UnPriv Spec. Here +are the very basic encodings... + +image:images/unpriv_ch2_2_base_instruction_formats.png[] + +Almost certainly you will want to use one of these formats, as all existing +RISC-V instructions use one of these types or their variants. Now, having +said all that, this example is going to do something a bit different. +For the purposes of this example, I simply wanted to create a single +instruction that has the side effect of writing a custom CSR with an immediate +value. So, when we get to the Sail implementation of the instruction, you will +see that I created a new type, and X-type. [red]#WARNING: this is not a +pattern you should follow. This is for educational purposes only.# + +Now, let's figure out what opcode bits you should use. Go to chapter +24 of the UnPriv Spec. See unpriv spec, chapter 24, "RV32/64G Instruction Set Listings" image:images/unpriv_ch24_inst_set_listings.png[] +Here we see the opcode bits (bits 6::0) that can be used for a 32-bit opcode. +This is imporatant. If you stray into other opcode space, you will almost +certainly end up hurting yourself and creating confusion. -See unpriv spec, chapter 27, "ISA Extension Naming Convention", especially -setion 27.10, "Non-Standard Extension Names". +At this point, I should mention that are naming conventions for extensions that +get added to the instructions set. See unpriv spec, chapter 27, +"ISA Extension Naming Convention", especially +setion 27.10, "Non-Standard Extension Names". Following is the pertinent +portion.... -See priv spec, chapter 2, "CSR Listings", Table 2.1 +image:images/unpriv_ch27_10_non_standard_extension_names.png[] -image:images/AllocationOfRISCV_CSRs.png[] +For this example, we are adding a single instruction: xmpl. The name +for this particular extension will be called "Xxmpl". +Now that we've covered the instruction and its name and its opcode, let's +move on to the addition of a new CSR. First, we need to move to the +Priv Spec. Why? Because inherent in the access of the CSR is the +concept of privilege. CSRs are typically have some sort of privilege mode +associated with them. So, go the Priv Spec, go to chapter 2 and look at +Table 2.1 (which is reprinted below). Within this table, you will see several +regions that are used for custom implementations. -Other goals: +image:images/PrivTitle.png[] -* Demonstrate the experimental switch -* Demonstrate how to code WARL fields based on settings in the YAML files. -So now that we've seen what the specifications say, let's take ka look at -what that means for the Sail model. +See priv spec, chapter 2, "CSR Listings", Table 2.1 -First, we'll define a simple instruction, xmpl. This instruction +image:images/AllocationOfRISCV_CSRs.png[] + +For the purpose of this example, we are going to use the region +that is marked with a black rectangle. The CSR will be a custom +read-only CSR that can only be accessed from the machine privilege +level. + +So now that we've seen what the specifications say, let's take a look at +what that means for the Sail model. +Note: there is a coding style guideline at the top of this github +repository (CODE_STYLE.md). I have attempted to follow the style in the example. +If you add code to the model, please make the effort to follow the +coding guidelines. -Example +First, let's be clear what we're going to implement in this example. Single instruction: xmpl + CSR: xmpl_csr * Takes an unsigned immediate and puts the value into the xmpl_csr -* The xmpl_csr can be read by the normal CSR instructions. -* xmpl_csr cannot be written with any form of the CSR instructions; +* The +xmpl_csr+ can be read by the normal CSR instructions. +* +xmpl_csr+ cannot be written with any form of the CSR instructions; it should generate an exception. +As you will see in this example, adding an instruction is actually +pretty simple. It only requires the addition of one file and the modification +of the top level Makefile. Adding a CSR is actually a bit more complicated; +no new file is needed, but no less than 5 files need to be touched. + +Following is the list of files that will be added/touched for this example. +We'll walk through each one of them, one by one. However, a lot of the +code will be obvious. + Files: -* (new) model/riscv_insts_custom_xampl.sail : the implmentation of the instruction and the CSR. +* (new) model/riscv_insts_custom_xmpl.sail : the implmentation of the instruction and the CSR. * (exists) Makefile : must add riscv_insts_xample.sail to the list of source files * (exists) model/riscv_types.sail : need to add new instruction to the proper instruction opcode grouping. * (exists) model/riscv_csr_map.sail : the address map of the CSR registers. @@ -173,15 +234,9 @@ Files: * (exists) model/riscv_sys_control.sail : need to add the new CSR name to the list found in is_CSR_defined(). * (new) cookbook/functional_code_examples/add_a_new_extension/test.S : for testing the new instruction features +Following is the file that implements the xmpl instruction. - - -riscv_insts_custom_xmpl.sail: - -// include doesn't appear to render in github -// Therefore, asciidoctor-reducer will be used to create -// a complete (all files included) file, which will be -// committed by git. +model/riscv_insts_custom_xmpl.sail: [source, sail] ---- @@ -236,6 +291,8 @@ mapping clause assembly = XTYPE(imm, xop) ---- +We now need to change the top-level makefile to bring in this new file. + Makefile (around lines 26-37): ``` SAIL_DEFAULT_INST += riscv_insts_zba.sail @@ -256,10 +313,16 @@ SAIL_DEFAULT_INST += riscv_insts_zbkx.sail SAIL_DEFAULT_INST += riscv_insts_custom_xmpl.sail ``` -model/riscv_types.sail : need to add new instruction to the proper instruction opcode grouping. -``` -TODO: What changes did I make to this file???? -``` +//model/riscv_types.sail : need to add new instruction to the proper instruction opcode grouping. +//``` +//TODO: What changes did I make to this file???? +// Apparently, I did nothing +//``` + +The new CSR (actually 2 CSRs; I was playing around with the +Sail capabilities of mappings, so you will see references to two) +need a mapping from their address to their names. This is done +in the following file. model/riscv_csr_map.sail (around lines 115-120): ``` @@ -276,17 +339,29 @@ mapping clause csr_name_map = 0xFC1 <-> "xmpl_2_csr" // Custom CSR example ``` +The code that actually does the reads/writes to the CSRs using the +Zicsr extension instructions is found in the following file. Note +that only the Read of the CSR is supported, no writes. This was done +to check out what happens when you try to write a read-only register. + model/iscv_insts_zicsr.sail (around line 137): ``` . . +function readCSR csr : csreg -> xlenbits = { + let res : xlenbits = + match (csr, sizeof(xlen)) { + . + . /* machine mode, custom extension example */ (0xFC0, _) => xmpl_csr, // error: Xmpl_csr is not a subtype of bitvector(32, dec) (0xFC1, _) => xmpl_csr_2.bits(), -. -. + . + . ``` +The following file provides a function to see if the CSR is defined. + model/riscv_sys_control.sail (within function +is_CSR_defined()+ ): ``` function is_CSR_defined( csr : csreg, p : Privilege) -> bool = @@ -299,6 +374,20 @@ function is_CSR_defined( csr : csreg, p : Privilege) -> bool = . ``` +And with that, we have completed the implementation of the CSR for this +example. At this point, you should probably try and compile. Got to the +root directory of your repo, and run... + +``` +make ARCH=RV32 csim +``` + +If you've made it this fair, you need to do a little testing of your new +instruction and your new CSR. However, your GNU assembler (or whatever it +is that you're using) probably has no idea what +xmpl+ is. So, how do you +write some assembly code to test out your new instruction? Let's take +a look at one way to test the new instruction. + cookbook/functional_code_examples/add_a_new_extension/test.S : for testing the new instruction features @@ -633,15 +722,6 @@ cookbook/functional_code_examples/add_a_new_extension/test.S : for testing the -You will probably have to add command line switches to enable/disable extensions/functionality. -Files that need to be touched are: - -* (exists) c_emulator/riscv_sim.c : implements the longopts functionality -* (exists) model/riscv_sys_regs.sail : function signatures for sys_enable_XXX() functionms. -* (exists) c_emulator/riscv_platform_impl.* : global variables for holding enabled state vars -* (exists) c_emulator/riscv_platform.c : implements the C functions that will be made available to Sail; -functions like sys_enable_zfinx(). - What does the test.dump file look like? Remember, the RISC-V assembler knows nothing about the custom instruction we have added. @@ -657,7 +737,23 @@ cookbook/functional_code_examples/add_a_new_extension/test.dump: . ``` -What does the Sail log file look like? +Note that the disassembler has no idea what to do with the opcode, +0x0dead12b+. +So, it just leaves it as a word at location +0x80000062+. + +Now that you've compiled an assembly language program +and gotten a .elf file, you are now ready to run it against +your model. The executable is found at: +/c_emulator/riscv_sim_RV32+. +To run the simulation from the example directory, perform the following... + +``` +../../../c_emulator/riscv_sim_RV32 test.elf +``` + +The simulator will send its output to stdout. You can capture it in the +usual file I/O redirection method. + + +What does the Sail log look like? ``` . . @@ -684,6 +780,28 @@ What does the Sail log file look like? ``` +Note that on line 430, we see the execution of the custom instruction +and notice that the simlutor knows how to decode the instruction. On line 439, +we see that the normal RISCV instriucion, +csrrs+, can successfully read the +CSR. Woohoo! + +You will probably have to add command line switches to enable/disable extensions/functionality. +Files that need to be touched are: + +* (exists) c_emulator/riscv_sim.c : implements the longopts functionality +* (exists) model/riscv_sys_regs.sail : function signatures for sys_enable_XXX() functionms. +* (exists) c_emulator/riscv_platform_impl.* : global variables for holding enabled state vars +* (exists) c_emulator/riscv_platform.c : implements the C functions that will be made available to Sail; +functions like sys_enable_zfinx(). + +This is actually a separate topic that requires its own example +and will be added soon. + + +Other goals: + +* Demonstrate the experimental switch +* Demonstrate how to code WARL fields based on settings in the YAML files. diff --git a/cookbook/doc/TheRISCVSailCookbook_Complete.pdf b/cookbook/doc/TheRISCVSailCookbook_Complete.pdf index 8f202bafd38e581fd7b2e646c9e287d9693bbd9b..2b2d55a1222228de2967551df099afda4dd1ec22 100644 GIT binary patch delta 170837 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