diff --git a/doc/01_overview/compliance.rst b/doc/01_overview/compliance.rst index ed4159ce..68750c36 100644 --- a/doc/01_overview/compliance.rst +++ b/doc/01_overview/compliance.rst @@ -9,7 +9,7 @@ It follows these specifications: Ibex implements the Machine ISA version 1.12. * `RISC-V External Debug Support, version 0.13.2 `_ * `RISC-V Bit-Manipulation Extension, version 1.0.0 `_ and `version 0.93 (draft from January 10, 2021) `_ -* `PMP Enhancements for memory access and execution prevention on Machine mode (Smepmp) version 0.9.3 `_ +* `PMP Enhancements for memory access and execution prevention on Machine mode (Smepmp) version 1.0 https://github.com/riscv/riscv-tee/blob/191b563b08b31cc2974d604a3b670d8666a2e093/Smepmp/Smepmp.pdf>`_ Many features in the RISC-V specification are optional, and Ibex can be parametrized to enable or disable some of them. @@ -47,16 +47,17 @@ In addition, the following instruction set extensions are available. - 2.0 - always enabled -Most content of the RISC-V privileged specification is optional. -Ibex currently supports the following features according to the RISC-V Privileged Specification, version 1.11. + * - **Smepmp** - PMP Enhancements for memory access and execution prevention on Machine mode + - 1.0 + - always enabled in configurations with PMP see :ref:`PMP Enhancements` + +Ibex currently supports the following features according to the RISC-V Privileged Specification, version 1.12. * M-Mode and U-Mode * All CSRs listed in :ref:`cs-registers` * Performance counters as described in :ref:`performance-counters` * Vectorized trap handling as described at :ref:`exceptions-interrupts` -See :ref:`PMP Enhancements` for more information on Ibex's experimental and optional support for the PMP Enhancement proposal from the Trusted Execution Environment (TEE) working group. - .. rubric:: Footnotes .. [#B_draft] Ibex fully implements the ratified version 1.0.0 of the RISC-V Bit-Manipulation Extension including the Zba, Zbb, Zbc and Zbs sub-extensions. diff --git a/doc/03_reference/pmp.rst b/doc/03_reference/pmp.rst index 86766ff8..54a64068 100644 --- a/doc/03_reference/pmp.rst +++ b/doc/03_reference/pmp.rst @@ -3,7 +3,7 @@ Physical Memory Protection (PMP) ================================ -The Physical Memory Protection (PMP) unit implements region-based memory access checking in-accordance with the RISC-V Privileged Specification, version 1.11 and includes the Trusted Execution Environment (TEE) working group proposal `PMP Enhancements for memory access and execution prevention on Machine mode (Smepmp) version 0.9.3 `_. +The Physical Memory Protection (PMP) unit implements region-based memory access checking in-accordance with the RISC-V Privileged Specification, version 1.12 and implements the `PMP Enhancements for memory access and execution prevention on Machine mode (Smepmp) version 1.0 https://github.com/riscv/riscv-tee/blob/191b563b08b31cc2974d604a3b670d8666a2e093/Smepmp/Smepmp.pdf>`_ extension. The following configuration parameters are available to control PMP checking: +----------------+---------------+----------------------------------------------------------+ @@ -36,9 +36,9 @@ When the granularity is greater than zero, NA4 mode is not available and will be PMP Enhancements ---------------- -These are described in more detail in `PMP Enhancements for memory access and execution prevention on Machine mode (Smepmp) version 0.9.3 `_. +These are described in more detail in `PMP Enhancements for memory access and execution prevention on Machine mode (Smepmp) version 1.0 https://github.com/riscv/riscv-tee/blob/191b563b08b31cc2974d604a3b670d8666a2e093/Smepmp/Smepmp.pdf>`_. If Ibex is configured to include PMP (PMPEnable is not zero) the PMP enhancements are always included. -Use of the enhanced behavior is optional, if no writes to ``mseccfg`` occur PMP behavior will remain exactly as specified in the RISC-V privileged specification. +Use of the enhanced behavior is optional, if no writes to ``mseccfg`` occur PMP behavior will remain exactly as if Smepmp was not implemented. The enhancements add: * A new CSR ``mseccfg`` providing functionality to allow locked regions to be modified and to implement default deny for M-mode accesses.