The RISC-V Instruction Set Manual Volume II: Privileged Architecture Privileged Architecture Version 1.9.1 Document Version 1.9.1 Warning! This draft specification will change before being accepted as standard by the RISC-V Foundation, so implementations made to this draft specification will likely not conform to the future standard. Andrew Waterman1, Yunsup Lee1, Rimas Aviˇzienis2, David Patterson2, Krste Asanovi´c1;2 1SiFive Inc., 2CS Division, EECS Department, University of California, Berkeley fandrew|
[email protected], frimas|pattrsn|
[email protected] This document is also available as Technical Report UCB/EECS-2016-161. November 4, 2016 Preface This is version 1.9.1 of the RISC-V privileged architecture proposal. Changes from version 1.9 include: • Numerous additions and improvements to the commentary sections. • Change configuration string proposal to be use a search process that supports various formats including Device Tree String and flattened Device Tree. • Made misa optionally writable to support modifying base and supported ISA extensions. CSR address of misa changed. • Added description of debug mode and debug CSRs. • Added a hardware performance monitoring scheme. Simplified the handling of existing hard- ware counters, removing privileged versions of the counters and the corresponding delta reg- isters. • Fixed description of SPIE in presence of user-level interrupts. i ii 1.9.1: Volume II: RISC-V Privileged Architectures Contents Preface i 1 Introduction 1 1.1 RISC-V Hardware Platform Terminology . .1 1.2 RISC-V Privileged Software Stack Terminology . .2 1.3 Privilege Levels . .3 1.4 Debug Mode . .5 2 Control and Status Registers (CSRs) 7 2.1 CSR Address Mapping Conventions .