# Copyright 2020 OpenHW Group
# Copyright 2019 Google LLC
#
# 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.
#
# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.0
#
################################################################################
#
# CSR definitions for the CV32E40P CORE-V proessor core (an RV32IMCZ machine).
#
# This file can be used as input to "gen_csr_test.py" delivered as part of
# Google's riscv-dv project.  Assuming you are running this from
# core-v-verif/vendor_lib/google/corev-dv and you've cloned riscv-dv, then the
# following command-line should work for you:
#
#    python3 ../riscv-dv/scripts/gen_csr_test.py \
#            --csr_file <csr_template.yaml> \
#            --xlen 32
#
# Source document is the CV32E40P user Manual:
# https://core-v-docs-verif-strat.readthedocs.io/projects/cv32e40p_um/en/latest/index.html
# Revision 62f0d86b
#
# Assumptions:
#       1. Core RTL parameter NUM_MHPMCOUNTERS is set to 29.
################################################################################
#- csr: CSR_NAME
#  description: >
#    BRIEF_DESCRIPTION
#  address: 0x###
#  privilege_mode: MODE (D/M/S/H/U)
#  rv32:
#    - MSB_FIELD_NAME:
#      - description: >
#          BRIEF_DESCRIPTION
#      - type: TYPE (WPRI/WLRL/WARL/R)
#      - reset_val: RESET_VAL
#      - msb: MSB_POS
#      - lsb: LSB_POS
#    - ...
#    - ...
#    - LSB_FIELD_NAME:
#      - description: ...
#      - type: ...
#      - ...
#  rv64:
#    - MSB_FIELD_NAME:
#      - description: >
#          BRIEF_DESCRIPTION
#      - type: TYPE (WPRI/WLRL/WARL/R)
#      - reset_val: RESET_VAL
#      - msb: MSB_POS
#      - lsb: LSB_POS
#    - ...
#    - ...
#    - LSB_FIELD_NAME:
#      - description: ...
#      - type: ...
#      - ...
###############################################################################
- csr: mhpmevent3
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 3
  address: 0x323
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent4
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 4
  address: 0x324
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent5
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 5
  address: 0x325
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent6
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 6
  address: 0x326
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent7
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 7
  address: 0x327
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent8
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 8
  address: 0x328
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent9
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 9
  address: 0x329
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent10
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 10
  address: 0x32a
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent11
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 11
  address: 0x32b
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent12
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 12
  address: 0x32c
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent13
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 13
  address: 0x32d
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent14
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 14
  address: 0x32e
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent15
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 15
  address: 0x32f
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent16
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 16
  address: 0x330
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent17
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 17
  address: 0x331
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent18
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 18
  address: 0x332
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent19
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 19
  address: 0x333
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent20
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 20
  address: 0x334
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent21
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 21
  address: 0x335
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent22
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 22
  address: 0x336
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent23
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 23
  address: 0x337
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent24
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 24
  address: 0x338
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent25
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 25
  address: 0x339
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent26
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 26
  address: 0x33a
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent27
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 27
  address: 0x33b
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent28
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 28
  address: 0x33c
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent29
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 29
  address: 0x33d
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent30
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 30
  address: 0x33e
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
- csr: mhpmevent31
  description: >
    (HPM) Machine Performance-Monitoring Event Selector 31
  address: 0x33f
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
        Always zero
      type: R
      reset_val: 0
      msb: 31
      lsb: 16
    - field_name: Selectors
      description: >
        Event selector
      type: WARL
      reset_val: 0
      msb: 15
      lsb: 0
###############################################################################
- csr: mhpmcounter3
  description: >
    (HPM) Machine Performance-Monitoring Counter 3
  address: 0xB03
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter4
  description: >
    (HPM) Machine Performance-Monitoring Counter 14
  address: 0xB04
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter5
  description: >
    (HPM) Machine Performance-Monitoring Counter 15
  address: 0xB05
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter6
  description: >
    (HPM) Machine Performance-Monitoring Counter 16
  address: 0xB06
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter7
  description: >
    (HPM) Machine Performance-Monitoring Counter 17
  address: 0xB07
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter8
  description: >
    (HPM) Machine Performance-Monitoring Counter 18
  address: 0xB08
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter9
  description: >
    (HPM) Machine Performance-Monitoring Counter 19
  address: 0xB09
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter10
  description: >
    (HPM) Machine Performance-Monitoring Counter 10
  address: 0xB0A
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter11
  description: >
    (HPM) Machine Performance-Monitoring Counter 11
  address: 0xB0B
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter12
  description: >
    (HPM) Machine Performance-Monitoring Counter 12
  address: 0xB0C
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter13
  description: >
    (HPM) Machine Performance-Monitoring Counter 13
  address: 0xB0D
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter14
  description: >
    (HPM) Machine Performance-Monitoring Counter 14
  address: 0xB0E
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter15
  description: >
    (HPM) Machine Performance-Monitoring Counter 15
  address: 0xB0F
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter16
  description: >
    (HPM) Machine Performance-Monitoring Counter 16
  address: 0xB10
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter17
  description: >
    (HPM) Machine Performance-Monitoring Counter 17
  address: 0xB11
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter18
  description: >
    (HPM) Machine Performance-Monitoring Counter 18
  address: 0xB12
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter19
  description: >
    (HPM) Machine Performance-Monitoring Counter 19
  address: 0xB13
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter20
  description: >
    (HPM) Machine Performance-Monitoring Counter 20
  address: 0xB14
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter21
  description: >
    (HPM) Machine Performance-Monitoring Counter 21
  address: 0xB15
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter22
  description: >
    (HPM) Machine Performance-Monitoring Counter 22
  address: 0xB16
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter23
  description: >
    (HPM) Machine Performance-Monitoring Counter 23
  address: 0xB17
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter24
  description: >
    (HPM) Machine Performance-Monitoring Counter 24
  address: 0xB18
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter25
  description: >
    (HPM) Machine Performance-Monitoring Counter 25
  address: 0xB19
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter26
  description: >
    (HPM) Machine Performance-Monitoring Counter 26
  address: 0xB1A
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter27
  description: >
    (HPM) Machine Performance-Monitoring Counter 27
  address: 0xB1B
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter28
  description: >
    (HPM) Machine Performance-Monitoring Counter 28
  address: 0xB1C
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter29
  description: >
    (HPM) Machine Performance-Monitoring Counter 29
  address: 0xB1D
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter30
  description: >
    (HPM) Machine Performance-Monitoring Counter 30
  address: 0xB1E
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounter31
  description: >
    (HPM) Machine Performance-Monitoring Counter 31
  address: 0xB1F
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 31 to 0
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
###############################################################################
- csr: mhpmcounterh3
  description: >
    (HPM) Machine Performance-Monitoring Counter 3
  address: 0xB83
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh4
  description: >
    (HPM) Machine Performance-Monitoring Counter 14
  address: 0xB84
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh5
  description: >
    (HPM) Machine Performance-Monitoring Counter 15
  address: 0xB85
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh6
  description: >
    (HPM) Machine Performance-Monitoring Counter 16
  address: 0xB86
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh7
  description: >
    (HPM) Machine Performance-Monitoring Counter 17
  address: 0xB87
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh8
  description: >
    (HPM) Machine Performance-Monitoring Counter 18
  address: 0xB88
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh9
  description: >
    (HPM) Machine Performance-Monitoring Counter 19
  address: 0xB89
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh10
  description: >
    (HPM) Machine Performance-Monitoring Counter 10
  address: 0xB8A
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh11
  description: >
    (HPM) Machine Performance-Monitoring Counter 11
  address: 0xB8B
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh12
  description: >
    (HPM) Machine Performance-Monitoring Counter 12
  address: 0xB8C
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh13
  description: >
    (HPM) Machine Performance-Monitoring Counter 13
  address: 0xB8D
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh14
  description: >
    (HPM) Machine Performance-Monitoring Counter 14
  address: 0xB8E
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh15
  description: >
    (HPM) Machine Performance-Monitoring Counter 15
  address: 0xB8F
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh16
  description: >
    (HPM) Machine Performance-Monitoring Counter 16
  address: 0xB90
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh17
  description: >
    (HPM) Machine Performance-Monitoring Counter 17
  address: 0xB91
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh18
  description: >
    (HPM) Machine Performance-Monitoring Counter 18
  address: 0xB92
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh19
  description: >
    (HPM) Machine Performance-Monitoring Counter 19
  address: 0xB93
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh20
  description: >
    (HPM) Machine Performance-Monitoring Counter 20
  address: 0xB94
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh21
  description: >
    (HPM) Machine Performance-Monitoring Counter 21
  address: 0xB95
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh22
  description: >
    (HPM) Machine Performance-Monitoring Counter 22
  address: 0xB96
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh23
  description: >
    (HPM) Machine Performance-Monitoring Counter 23
  address: 0xB97
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh24
  description: >
    (HPM) Machine Performance-Monitoring Counter 24
  address: 0xB98
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh25
  description: >
    (HPM) Machine Performance-Monitoring Counter 25
  address: 0xB99
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh26
  description: >
    (HPM) Machine Performance-Monitoring Counter 26
  address: 0xB9A
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh27
  description: >
    (HPM) Machine Performance-Monitoring Counter 27
  address: 0xB9B
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh28
  description: >
    (HPM) Machine Performance-Monitoring Counter 28
  address: 0xB9C
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh29
  description: >
    (HPM) Machine Performance-Monitoring Counter 29
  address: 0xB9D
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh30
  description: >
    (HPM) Machine Performance-Monitoring Counter 30
  address: 0xB9E
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
- csr: mhpmcounterh31
  description: >
    (HPM) Machine Performance-Monitoring Counter 31
  address: 0xB9F
  privilege_mode: M
  rv32:
    - field_name: Zero
      description: >
          Counter bits 63 to 32
      type: WARL
      reset_val: 0
      msb: 31
      lsb: 0
####end######end######
