<?xml version='1.0' encoding='utf8'?>
<ipxact:component xmlns:ipxact="http://www.accellera.org/XMLSchema/IPXACT/1685-2014">
        <ipxact:vendor>OpenHW</ipxact:vendor>
        <ipxact:library>cva6</ipxact:library>
        <ipxact:name>CV32A6_CSR</ipxact:name>
        <ipxact:version>CV32A60X</ipxact:version>
        <ipxact:busInterfaces>
                <ipxact:busInterface>
                        <ipxact:name>Other</ipxact:name>
                        <ipxact:busType library="cv32a6" name="cva6" vendor="OpenHW" version="1.0" />
                        <ipxact:abstractionTypes>
                                <ipxact:abstractionType>
                                        <ipxact:abstractionRef library="cv32a6" name="cva6" vendor="OpenHW" version="1.0" />
                                </ipxact:abstractionType>
                        </ipxact:abstractionTypes>
                        <ipxact:slave>
                                <ipxact:memoryMapRef memoryMapRef="Other" />
                        </ipxact:slave>
                        <ipxact:bitsInLau>32</ipxact:bitsInLau>
                </ipxact:busInterface>
        </ipxact:busInterfaces>
        <ipxact:memoryMaps>
                <ipxact:memoryMap>
                        <ipxact:name>Other</ipxact:name>
                        <ipxact:addressBlock>
                                <ipxact:name>address_block</ipxact:name>
                                <ipxact:baseAddress>'h0</ipxact:baseAddress>
                                <ipxact:range>'h4000</ipxact:range>
                                <ipxact:width>32</ipxact:width>
                                <ipxact:usage>register</ipxact:usage>
                                <ipxact:register>
                                        <ipxact:name>fflags</ipxact:name>
                                        <ipxact:displayName>Floating-Point Accrued Exceptions</ipxact:displayName>
                                        <ipxact:description>The fields within the ``fcsr`` can also be accessed individually through different CSR addresses, and separate assembler pseudoinstructions are defined for these accesses. The FRRM instruction reads the Rounding Mode field ``frm`` and copies it into the least-significant three bits of integer register *rd*, with zero in all other bits. FSRM swaps the value in frm by copying the original value into integer register *rd*, and then writing a new value obtained from the three least-significant bits of integer register *rs1* into ``frm``. FRFLAGS and FSFLAGS are defined analogously for the Accrued Exception Flags field ``fflags``.</ipxact:description>
                                        <ipxact:addressOffset>'h1</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>NV</ipxact:name>
                                                <ipxact:displayName>Invalid Operation</ipxact:displayName>
                                                <ipxact:description>The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic instruction since the field was last reset by software. The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.</ipxact:description>
                                                <ipxact:bitOffset>4</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>DZ</ipxact:name>
                                                <ipxact:displayName>Divide by Zero</ipxact:displayName>
                                                <ipxact:description>The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic instruction since the field was last reset by software. The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.</ipxact:description>
                                                <ipxact:bitOffset>3</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>OF</ipxact:name>
                                                <ipxact:displayName>Overflow</ipxact:displayName>
                                                <ipxact:description>The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic instruction since the field was last reset by software. The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.</ipxact:description>
                                                <ipxact:bitOffset>2</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>UF</ipxact:name>
                                                <ipxact:displayName>Underflow</ipxact:displayName>
                                                <ipxact:description>The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic instruction since the field was last reset by software. The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.</ipxact:description>
                                                <ipxact:bitOffset>1</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>NX</ipxact:name>
                                                <ipxact:displayName>Inexact</ipxact:displayName>
                                                <ipxact:description>The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic instruction since the field was last reset by software. The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>U</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>frm</ipxact:name>
                                        <ipxact:displayName>Floating-Point Dynamic Rounding Mode</ipxact:displayName>
                                        <ipxact:description>The fields within the ``fcsr`` can also be accessed individually through different CSR addresses, and separate assembler pseudoinstructions are defined for these accesses. The FRRM instruction reads the Rounding Mode field ``frm`` and copies it into the least-significant three bits of integer register *rd*, with zero in all other bits. FSRM swaps the value in frm by copying the original value into integer register *rd*, and then writing a new value obtained from the three least-significant bits of integer register *rs1* into ``frm``. FRFLAGS and FSFLAGS are defined analogously for the Accrued Exception Flags field ``fflags``.</ipxact:description>
                                        <ipxact:addressOffset>'h2</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>FRM</ipxact:name>
                                                <ipxact:displayName>Floating-Point Rounding Mode</ipxact:displayName>
                                                <ipxact:description>Floating-point operations use either a static rounding mode encoded in the instruction, or a dynamic rounding mode held in ``frm``. Rounding modes are encoded as shown in the enumerated value. A value of 111 in
the instruction’s *rm* field selects the dynamic rounding mode held in ``frm``. If ``frm`` is set to an invalid value (101–111), any subsequent attempt to execute a floating-point operation with a dynamic rounding mode will raise an illegal instruction exception. Some instructions, including widening conversions, have the *rm* field but are nevertheless unaffected by the rounding mode; software should set their *rm* field to RNE (000).</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x7</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>3</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>RNE</ipxact:name>
                                                                <ipxact:description>Round to Nearest, ties to Even</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>RTZ</ipxact:name>
                                                                <ipxact:description>Round towards Zero</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>RDN</ipxact:name>
                                                                <ipxact:description>Round Down</ipxact:description>
                                                                <ipxact:value>2</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>RUP</ipxact:name>
                                                                <ipxact:description>Round Up</ipxact:description>
                                                                <ipxact:value>3</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>RMM</ipxact:name>
                                                                <ipxact:description>Round to Nearest, ties to Max Magnitude</ipxact:description>
                                                                <ipxact:value>4</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>INVALID_5</ipxact:name>
                                                                <ipxact:description>*Reserved for future use.*</ipxact:description>
                                                                <ipxact:value>5</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>INVALID_6</ipxact:name>
                                                                <ipxact:description>*Reserved for future use.*</ipxact:description>
                                                                <ipxact:value>6</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>DYN</ipxact:name>
                                                                <ipxact:description>In instruction’s *rm* field, selects dynamic rounding mode;
In Rounding Mode register, *Invalid*.</ipxact:description>
                                                                <ipxact:value>7</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>U</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>fcsr</ipxact:name>
                                        <ipxact:displayName>Floating-Point Control and Status Register</ipxact:displayName>
                                        <ipxact:description>The floating-point control and status register, ``fcsr``, is a RISC-V control and status register (CSR). It is a read/write register that selects the dynamic rounding mode for floating-point arithmetic operations and holds the accrued exception flags.

The ``fcsr`` register can be read and written with the FRCSR and FSCSR instructions, which are assembler pseudoinstructions built on the underlying CSR access instructions. FRCSR reads ``fcsr`` by copying it into integer register *rd*. FSCSR swaps the value in ``fcsr`` by copying the original value into integer register *rd*, and then writing a new value obtained from integer register *rs1* into ``fcsr``.

The fields within the ``fcsr`` can also be accessed individually through different CSR addresses, and separate assembler pseudoinstructions are defined for these accesses. The FRRM instruction reads the Rounding Mode field ``frm`` and copies it into the least-significant three bits of integer register *rd*, with zero in all other bits. FSRM swaps the value in frm by copying the original value into integer register *rd*, and then writing a new value obtained from the three least-significant bits of integer register *rs1* into ``frm``. FRFLAGS and FSFLAGS are defined analogously for the Accrued Exception Flags field ``fflags``.
                                        </ipxact:description>
                                        <ipxact:addressOffset>'h3</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>FRM</ipxact:name>
                                                <ipxact:displayName>Floating-Point Rounding Mode</ipxact:displayName>
                                                <ipxact:description>Floating-point operations use either a static rounding mode encoded in the instruction, or a dynamic rounding mode held in ``frm``. Rounding modes are encoded as shown in the enumerated value. A value of 111 in
the instruction’s *rm* field selects the dynamic rounding mode held in ``frm``. If ``frm`` is set to an invalid value (101–111), any subsequent attempt to execute a floating-point operation with a dynamic rounding mode will raise an illegal instruction exception. Some instructions, including widening conversions, have the *rm* field but are nevertheless unaffected by the rounding mode; software should set their *rm* field to RNE (000).</ipxact:description>
                                                <ipxact:bitOffset>5</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x7</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>3</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>RNE</ipxact:name>
                                                                <ipxact:description>Round to Nearest, ties to Even</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>RTZ</ipxact:name>
                                                                <ipxact:description>Round towards Zero</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>RDN</ipxact:name>
                                                                <ipxact:description>Round Down</ipxact:description>
                                                                <ipxact:value>2</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>RUP</ipxact:name>
                                                                <ipxact:description>Round Up</ipxact:description>
                                                                <ipxact:value>3</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>RMM</ipxact:name>
                                                                <ipxact:description>Round to Nearest, ties to Max Magnitude</ipxact:description>
                                                                <ipxact:value>4</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>INVALID_5</ipxact:name>
                                                                <ipxact:description>*Reserved for future use.*</ipxact:description>
                                                                <ipxact:value>5</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>INVALID_6</ipxact:name>
                                                                <ipxact:description>*Reserved for future use.*</ipxact:description>
                                                                <ipxact:value>6</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>DYN</ipxact:name>
                                                                <ipxact:description>In instruction’s *rm* field, selects dynamic rounding mode;
In Rounding Mode register, *Invalid*.</ipxact:description>
                                                                <ipxact:value>7</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>NV</ipxact:name>
                                                <ipxact:displayName>Invalid Operation</ipxact:displayName>
                                                <ipxact:description>The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic instruction since the field was last reset by software. The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.</ipxact:description>
                                                <ipxact:bitOffset>4</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>DZ</ipxact:name>
                                                <ipxact:displayName>Divide by Zero</ipxact:displayName>
                                                <ipxact:description>The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic instruction since the field was last reset by software. The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.</ipxact:description>
                                                <ipxact:bitOffset>3</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>OF</ipxact:name>
                                                <ipxact:displayName>Overflow</ipxact:displayName>
                                                <ipxact:description>The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic instruction since the field was last reset by software. The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.</ipxact:description>
                                                <ipxact:bitOffset>2</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>UF</ipxact:name>
                                                <ipxact:displayName>Underflow</ipxact:displayName>
                                                <ipxact:description>The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic instruction since the field was last reset by software. The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.</ipxact:description>
                                                <ipxact:bitOffset>1</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>NX</ipxact:name>
                                                <ipxact:displayName>Inexact</ipxact:displayName>
                                                <ipxact:description>The accrued exception flags indicate the exception conditions that have arisen on any floating-point arithmetic instruction since the field was last reset by software. The base RISC-V ISA does not support generating a trap on the setting of a floating-point exception flag.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>U</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>sstatus</ipxact:name>
                                        <ipxact:displayName>Supervisor Status</ipxact:displayName>
                                        <ipxact:description>The ``sstatus`` register keeps track of the processor’s current operating state.

The ``sstatus`` register is a subset of the ``mstatus`` register.</ipxact:description>
                                        <ipxact:addressOffset>'h100</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>SD</ipxact:name>
                                                <ipxact:displayName>State Dirty</ipxact:displayName>
                                                <ipxact:description>The SD bit is a read-only bit that summarizes whether either the FS, VS, or XS fields signal the presence of some dirty state that will require saving extended user context to memory. If FS, XS, and VS are all read-only zero, then SD is also always zero.</ipxact:description>
                                                <ipxact:bitOffset>31</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>MXR</ipxact:name>
                                                <ipxact:displayName>Make eXecutable Readable</ipxact:displayName>
                                                <ipxact:description>The MXR bit modifies the privilege with which loads access virtual memory. When MXR=0, only loads from pages marked readable will succeed. When MXR=1, loads from pages marked either readable or executable (R=1 or X=1) will succeed. MXR has no effect when page-based virtual memory is not in effect.</ipxact:description>
                                                <ipxact:bitOffset>19</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SUM</ipxact:name>
                                                <ipxact:displayName>Supervisor User Memory</ipxact:displayName>
                                                <ipxact:description>The SUM (permit Supervisor User Memory access) bit modifies the privilege with which S-mode loads and stores access virtual memory. When SUM=0, S-mode memory accesses to pages that are accessible by U-mode will fault. When SUM=1, these accesses are permitted. SUM has no effect when page-based virtual memory is not in effect. Note that, while SUM is ordinarily ignored when not executing in S-mode, it *is* in effect when MPRV=1 and MPP=S. SUM is read-only 0 if S-mode is not supported or if ``satp``.MODE is read-only 0.</ipxact:description>
                                                <ipxact:bitOffset>18</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>XS</ipxact:name>
                                                <ipxact:displayName>Extension State</ipxact:displayName>
                                                <ipxact:description>The XS field is used to reduce the cost of context save and restore by setting and tracking the current state of the user-mode extensions. The XS field encodes the status of the additional user-mode extensions and associated state.

This field can be checked by a context switch routine to quickly determine whether a state save or restore is required. If a save or restore is required, additional instructions and CSRs are typically required to effect and optimize the process.</ipxact:description>
                                                <ipxact:bitOffset>15</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x3</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>2</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read">
                                                                <ipxact:name>Off</ipxact:name>
                                                                <ipxact:description>All off</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read">
                                                                <ipxact:name>Initial</ipxact:name>
                                                                <ipxact:description>None dirty or clean, some on</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read">
                                                                <ipxact:name>Clean</ipxact:name>
                                                                <ipxact:description>None dirty, some clean</ipxact:description>
                                                                <ipxact:value>2</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read">
                                                                <ipxact:name>Dirty</ipxact:name>
                                                                <ipxact:description>Some dirty</ipxact:description>
                                                                <ipxact:value>3</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>FS</ipxact:name>
                                                <ipxact:displayName>Floating-point unit State</ipxact:displayName>
                                                <ipxact:description>The FS field is used to reduce the cost of context save and restore by setting and tracking the current state of the floating-point unit. The FS field encodes the status of the floating-point unit state, including the floating-point registers ``f0–f31`` and the CSRs ``fcsr``, ``frm``, and ``fflags``.

This field can be checked by a context switch routine to quickly determine whether a state save or restore is required. If a save or restore is required, additional instructions and CSRs are typically required to effect and optimize the process.</ipxact:description>
                                                <ipxact:bitOffset>13</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x3</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>2</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Off</ipxact:name>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Initial</ipxact:name>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Clean</ipxact:name>
                                                                <ipxact:value>2</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Dirty</ipxact:name>
                                                                <ipxact:value>3</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SPP</ipxact:name>
                                                <ipxact:displayName>Supervisor mode Prior Privilege</ipxact:displayName>
                                                <ipxact:description>SPP bit indicates the privilege level at which a hart was executing before entering supervisor mode. When a trap is taken, SPP is set to 0 if the trap originated from user mode, or 1 otherwise. When an SRET instruction is executed to return from the trap handler, the privilege level is set to user mode if the SPP bit is 0, or supervisor mode if the SPP bit is 1; SPP is then set to 0.</ipxact:description>
                                                <ipxact:bitOffset>8</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SPIE</ipxact:name>
                                                <ipxact:displayName>Supervisor mode Prior Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>The SPIE bit indicates whether supervisor interrupts were enabled prior to trapping into supervisor mode. When a trap is taken into supervisor mode, SPIE is set to SIE, and SIE is set to 0. When
an SRET instruction is executed, SIE is set to SPIE, then SPIE is set to 1.</ipxact:description>
                                                <ipxact:bitOffset>5</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>UPIE</ipxact:name>
                                                <ipxact:description>When a URET instruction is executed, UIE is set to UPIE, and UPIE is set to 1.</ipxact:description>
                                                <ipxact:bitOffset>4</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SIE</ipxact:name>
                                                <ipxact:displayName>Supervisor mode Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>The SIE bit enables or disables all interrupts in supervisor mode. When SIE is clear, interrupts are not taken while in supervisor mode. When the hart is running in user-mode, the value in SIE is ignored, and supervisor-level interrupts are enabled. The supervisor can disable individual interrupt sources using the ``sie`` CSR.</ipxact:description>
                                                <ipxact:bitOffset>1</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>UIE</ipxact:name>
                                                <ipxact:description>The UIE bit enables or disables user-mode interrupts.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>S</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>sie</ipxact:name>
                                        <ipxact:displayName>Supervisor Interrupt Enable</ipxact:displayName>
                                        <ipxact:description>The ``sie`` is the register containing supervisor interrupt enable bits.</ipxact:description>
                                        <ipxact:addressOffset>'h104</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>Reserved_10</ipxact:name>
                                                <ipxact:displayName>Reserved</ipxact:displayName>
                                                <ipxact:description>Reserved.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>10</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>5</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SEIE</ipxact:name>
                                                <ipxact:displayName>Supervisor-level External Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>SEIE is the interrupt-enable bit for supervisor-level external interrupts.</ipxact:description>
                                                <ipxact:bitOffset>9</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>UEIE</ipxact:name>
                                                <ipxact:description>User-level external interrupts are disabled when the UEIE bit in the sie register is clear.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>8</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>Reserved_6</ipxact:name>
                                                <ipxact:displayName>Reserved</ipxact:displayName>
                                                <ipxact:description>Reserved.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>6</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>2</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>STIE</ipxact:name>
                                                <ipxact:displayName>Supervisor-level Timer Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>STIE is the interrupt-enable bit for supervisor-level timer interrupts.</ipxact:description>
                                                <ipxact:bitOffset>5</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>UTIE</ipxact:name>
                                                <ipxact:description>User-level timer interrupts are disabled when the UTIE bit in the sie register is clear.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>4</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>Reserved_2</ipxact:name>
                                                <ipxact:displayName>Reserved</ipxact:displayName>
                                                <ipxact:description>Reserved.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>2</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>2</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SSIE</ipxact:name>
                                                <ipxact:displayName>Supervisor-level Software Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>SSIE is the interrupt-enable bit for supervisor-level software interrupts.</ipxact:description>
                                                <ipxact:bitOffset>1</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>USIE</ipxact:name>
                                                <ipxact:description>User-level software interrupts are disabled when the USIE bit in the sie register is clear.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>S</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>stvec</ipxact:name>
                                        <ipxact:displayName>Supervisor Trap Vector Base Address</ipxact:displayName>
                                        <ipxact:description>The ``stvec`` register holds trap vector configuration, consisting of a vector base address (BASE) and a vector mode (MODE).</ipxact:description>
                                        <ipxact:addressOffset>'h105</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>BASE</ipxact:name>
                                                <ipxact:description>The BASE field in stvec is a WARL field that can hold any valid virtual or physical address, subject to the following alignment constraints: when MODE=Direct the address must be 4-byte aligned, and when MODE=Vectored the address must be 256-byte aligned.</ipxact:description>
                                                <ipxact:bitOffset>2</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x3fffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>30</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>MODE</ipxact:name>
                                                <ipxact:description>When MODE=Direct, all traps into supervisor mode cause the ``pc`` to be set to the address in the BASE field. When MODE=Vectored, all synchronous exceptions into supervisor mode cause the ``pc`` to be set to the address in the BASE field, whereas interrupts cause the ``pc`` to be set to the address in the BASE field plus four times the interrupt cause number.``Legal Values :``0,1.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x3</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>2</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Direct</ipxact:name>
                                                                <ipxact:description>All exceptions set ``pc`` to BASE.</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Vectored</ipxact:name>
                                                                <ipxact:description>Asynchronous interrupts set pc to BASE+4×cause.</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Reserved_2</ipxact:name>
                                                                <ipxact:description>*Reserved*</ipxact:description>
                                                                <ipxact:value>2</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Reserved_3</ipxact:name>
                                                                <ipxact:description>*Reserved*</ipxact:description>
                                                                <ipxact:value>3</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>S</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>scounteren</ipxact:name>
                                        <ipxact:displayName>Supervisor Counter Enable</ipxact:displayName>
                                        <ipxact:description>The counter-enable register ``scounteren`` controls the availability of the hardware performance monitoring counters to U-mode.</ipxact:description>
                                        <ipxact:addressOffset>'h106</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>HPMn</ipxact:name>
                                                <ipxact:displayName>Hpmcountern</ipxact:displayName>
                                                <ipxact:description>When HPMn is clear, attempts to read the ``hpmcountern`` register while executing in U-mode will cause an illegal instruction exception. When this bit is set, access to the corresponding register is permitted.</ipxact:description>
                                                <ipxact:bitOffset>3</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1fffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>29</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>IR</ipxact:name>
                                                <ipxact:displayName>Instret</ipxact:displayName>
                                                <ipxact:description>When IR is clear, attempts to read the ``instret`` register while executing in U-mode will cause an illegal instruction exception. When this bit is set, access to the corresponding register is permitted.</ipxact:description>
                                                <ipxact:bitOffset>2</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>TM</ipxact:name>
                                                <ipxact:displayName>Time</ipxact:displayName>
                                                <ipxact:description>When TM is clear, attempts to read the ``time`` register while executing in U-mode will cause an illegal instruction exception. When this bit is set, access to the corresponding register is permitted.</ipxact:description>
                                                <ipxact:bitOffset>1</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>CY</ipxact:name>
                                                <ipxact:displayName>Cycle</ipxact:displayName>
                                                <ipxact:description>When CY is clear, attempts to read the ``cycle`` register while executing in U-mode will cause an illegal instruction exception. When this bit is set, access to the corresponding register is permitted.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>S</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>sscratch</ipxact:name>
                                        <ipxact:displayName>Supervisor Scratch</ipxact:displayName>
                                        <ipxact:description>The ``sscratch`` register is dedicated for use by the supervisor. </ipxact:description>
                                        <ipxact:addressOffset>'h140</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>SSCRATCH</ipxact:name>
                                                <ipxact:displayName>Supervisor Scratch</ipxact:displayName>
                                                <ipxact:description>Typically, ``sscratch`` is used to hold a pointer to the hart-local supervisor context while the hart is executing user code. At the beginning of a trap handler, ``sscratch`` is swapped with a user register to provide an initial working register.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>S</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>sepc</ipxact:name>
                                        <ipxact:displayName>Supervisor Exception Program Counter</ipxact:displayName>
                                        <ipxact:description>When a trap is taken into S-mode, ``sepc`` is written with the virtual address of the instruction that was interrupted or that encountered the exception. Otherwise, ``sepc`` is never written by the implementation, though it may be explicitly written by software.</ipxact:description>
                                        <ipxact:addressOffset>'h141</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>SEPC</ipxact:name>
                                                <ipxact:displayName>Supervisor Exception Program Counter</ipxact:displayName>
                                                <ipxact:description>The low bit of SEPC (SEPC[0]) is always zero. On implementations that support only IALIGN=32, the two low bits (SEPC[1:0]) are always zero.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>S</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>scause</ipxact:name>
                                        <ipxact:displayName>Supervisor Cause</ipxact:displayName>
                                        <ipxact:description>When a trap is taken into S-mode, ``scause`` is written with a code indicating the event that caused the trap. Otherwise, ``scause`` is never written by the implementation, though it may be explicitly written by software.

Supervisor cause register (``scause``) values after trap are shown in the following table. =========  ==============  ==============================
Interrupt  Exception Code Description =========  ==============  ==============================
        1               0  *Reserved*
        1               1  Supervisor software interrupt
        1             2-4  *Reserved*
        1               5  Supervisor timer interrupt
        1             6-8  *Reserved*
        1               9  Supervisor external interrupt
        1           10-15  *Reserved*
        1             ≥16  *Designated for platform use*
        0               0  Instruction address misaligned
        0               1  Instruction access fault
        0               2  Illegal instruction
        0               3  Breakpoint
        0               4  Load address misaligned
        0               5  Load access fault
        0               6  Store/AMO address misaligned
        0               7  Store/AMO access fault
        0               8  Environment call from U-mode
        0               9  Environment call from S-mode
        0           10-11  *Reserved*
        0              12  Instruction page fault
        0              13  Load page fault
        0              14  *Reserved*
        0              15  Store/AMO page fault
        0           16-23  *Reserved*
        0           24-31  *Designated for custom use*
        0           32-47  *Reserved*
        0           48-63  *Designated for custom use*
        0             ≥64 *Reserved* =========  ==============  ==============================
                                        </ipxact:description>
                                        <ipxact:addressOffset>'h142</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>Interrupt</ipxact:name>
                                                <ipxact:description>The Interrupt bit in the ``scause`` register is set if the trap was caused by an interrupt.</ipxact:description>
                                                <ipxact:bitOffset>31</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>Exception_Code</ipxact:name>
                                                <ipxact:displayName>Exception Code</ipxact:displayName>
                                                <ipxact:description>The Exception Code field contains a code identifying the last exception or interrupt.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x7fffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>31</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WLRL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>S</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>stval</ipxact:name>
                                        <ipxact:displayName>Supervisor Trap Value</ipxact:displayName>
                                        <ipxact:description>When a trap is taken into S-mode, ``stval`` is written with exception-specific information to assist software in handling the trap. Otherwise, ``stval`` is never written by the implementation, though it may be explicitly written by software. The hardware platform will specify which exceptions must set ``stval`` informatively and which may unconditionally set it to zero.</ipxact:description>
                                        <ipxact:addressOffset>'h143</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>STVAL</ipxact:name>
                                                <ipxact:displayName>Supervisor Trap Value</ipxact:displayName>
                                                <ipxact:description>If ``stval`` is written with a nonzero value when a breakpoint, address-misaligned, access-fault, or page-fault exception occurs on an instruction fetch, load, or store, then ``stval`` will contain the faulting virtual address.

If ``stval`` is written with a nonzero value when a misaligned load or store causes an access-fault or page-fault exception, then ``stval`` will contain the virtual address of the portion of the access that caused the fault.

If ``stval`` is written with a nonzero value when an instruction access-fault or page-fault exception occurs on a system with variable-length instructions, then ``stval`` will contain the virtual address of the portion of the instruction that caused the fault, while ``sepc`` will point to the beginning of the instruction.

The ``stval`` register can optionally also be used to return the faulting instruction bits on an illegal instruction exception (``sepc`` points to the faulting instruction in memory). If ``stval`` is written with a nonzero value when an illegal-instruction exception occurs, then ``stval`` will contain the shortest of:

* the actual faulting instruction
* the first ILEN bits of the faulting instruction
* the first SXLEN bits of the faulting instruction

The value loaded into ``stval`` on an illegal-instruction exception is right-justified and all unused upper bits are cleared to zero. For other traps, ``stval`` is set to zero, but a future standard may redefine ``stval’s`` setting for other traps.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>S</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>sip</ipxact:name>
                                        <ipxact:displayName>Supervisor Interrupt Pending</ipxact:displayName>
                                        <ipxact:description>The ``sip`` register contains information on pending interrupts.</ipxact:description>
                                        <ipxact:addressOffset>'h144</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>Reserved_10</ipxact:name>
                                                <ipxact:displayName>Reserved</ipxact:displayName>
                                                <ipxact:description>Reserved.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>10</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>5</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SEIP</ipxact:name>
                                                <ipxact:displayName>Supervisor-level External Interrupt Pending</ipxact:displayName>
                                                <ipxact:description>SEIP is the interrupt-pending bit for supervisor-level external interrupts.</ipxact:description>
                                                <ipxact:bitOffset>9</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>UEIP</ipxact:name>
                                                <ipxact:description>UEIP may be written by S-mode software to indicate to U-mode that an external interrupt is pending.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>8</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>Reserved_6</ipxact:name>
                                                <ipxact:displayName>Reserved</ipxact:displayName>
                                                <ipxact:description>Reserved.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>6</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>2</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>STIP</ipxact:name>
                                                <ipxact:displayName>Supervisor-level Timer Interrupt Pending</ipxact:displayName>
                                                <ipxact:description>SEIP is the interrupt-pending bit for supervisor-level timer interrupts.</ipxact:description>
                                                <ipxact:bitOffset>5</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>UTIP</ipxact:name>
                                                <ipxact:description>A user-level timer interrupt is pending if the UTIP bit in the sip register is set.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>4</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>Reserved_2</ipxact:name>
                                                <ipxact:displayName>Reserved</ipxact:displayName>
                                                <ipxact:description>Reserved.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>2</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>2</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SSIP</ipxact:name>
                                                <ipxact:displayName>Supervisor-level Software Interrupt Pending</ipxact:displayName>
                                                <ipxact:description>SSIP is the interrupt-pending bit for supervisor-level software interrupts.</ipxact:description>
                                                <ipxact:bitOffset>1</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>USIP</ipxact:name>
                                                <ipxact:description>A user-level software interrupt is triggered on the current hart by  riting 1 to its user software interrupt-pending (USIP) bit.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>S</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>satp</ipxact:name>
                                        <ipxact:displayName>Supervisor Address Translation and Protection</ipxact:displayName>
                                        <ipxact:description>The ``satp`` register controls supervisor-mode address translation and protection.

The ``satp`` register is considered active when the effective privilege mode is S-mode or U-mode. Executions of the address-translation algorithm may only begin using a given value of ``satp`` when ``satp`` is active.

.. note::
  Writing ``satp`` does not imply any ordering constraints between page-table updates and subsequent address translations, nor does it imply any invalidation of address-translation caches. If the new address space’s page tables have been modified, or if an ASID is reused, it may be necessary to execute an SFENCE.VMA instruction after, or in some cases before, writing ``satp``.</ipxact:description>
                                        <ipxact:addressOffset>'h180</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>MODE</ipxact:name>
                                                <ipxact:displayName>Mode</ipxact:displayName>
                                                <ipxact:description>This bitfield selects the current address-translation scheme.

When MODE=Bare, supervisor virtual addresses are equal to supervisor physical addresses, and there is no additional memory protection beyond the physical memory protection scheme.

To select MODE=Bare, software must write zero to the remaining fields of ``satp`` (bits 30–0). Attempting to select MODE=Bare with a nonzero pattern in the remaining fields has an ``unspecified`` effect on the value that the remaining fields assume and an ``unspecified`` effect on address translation and protection behavior.</ipxact:description>
                                                <ipxact:bitOffset>31</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Bare</ipxact:name>
                                                                <ipxact:description>No translation or protection.</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Sv32</ipxact:name>
                                                                <ipxact:description>Page-based 32-bit virtual addressing.</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>ASID</ipxact:name>
                                                <ipxact:displayName>Address Space Identifier</ipxact:displayName>
                                                <ipxact:description>This bitfield facilitates address-translation fences on a per-address-space basis.</ipxact:description>
                                                <ipxact:bitOffset>22</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1ff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>9</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>PPN</ipxact:name>
                                                <ipxact:displayName>Physical Page Number</ipxact:displayName>
                                                <ipxact:description>This bitfield holds the root page table, i.e., its supervisor physical address divided by 4 KiB.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x3fffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>22</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>S</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mstatus</ipxact:name>
                                        <ipxact:displayName>Machine Status</ipxact:displayName>
                                        <ipxact:description>The ``mstatus`` register keeps track of and controls the hart’s current operating state.</ipxact:description>
                                        <ipxact:addressOffset>'h300</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>SD</ipxact:name>
                                                <ipxact:displayName>State Dirty</ipxact:displayName>
                                                <ipxact:description>The SD bit is a read-only bit that summarizes whether either the FS, VS, or XS fields signal the presence of some dirty state that will require saving extended user context to memory. If FS, XS, and VS are all read-only zero, then SD is also always zero.</ipxact:description>
                                                <ipxact:bitOffset>31</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>WPRI3</ipxact:name>
                                                <ipxact:displayName>Reserved Writes Preserve Values, Reads Ignore Value</ipxact:displayName>
                                                <ipxact:description>Reserved Writes Preserve Values, Reads Ignore Value</ipxact:description>
                                                <ipxact:bitOffset>23</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WPRI</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>TSR</ipxact:name>
                                                <ipxact:displayName>Trap SRET</ipxact:displayName>
                                                <ipxact:description>The TSR bit supports intercepting the supervisor exception return instruction, SRET. When TSR=1, attempts to execute SRET while executing in S-mode will raise an illegal instruction exception. When TSR=0, this operation is permitted in S-mode.</ipxact:description>
                                                <ipxact:bitOffset>22</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>TW</ipxact:name>
                                                <ipxact:displayName>Timeout Wait</ipxact:displayName>
                                                <ipxact:description>The TW bit supports intercepting the WFI instruction. When TW=0, the WFI instruction may execute in lower privilege modes when not prevented for some other reason. When TW=1, then if WFI is executed in any less-privileged mode, and it does not complete within an implementation-specific, bounded time limit, the WFI instruction causes an illegal instruction exception. The time limit may always be 0, in which case WFI always causes an illegal instruction exception in less-privileged modes when TW=1.</ipxact:description>
                                                <ipxact:bitOffset>21</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>TVM</ipxact:name>
                                                <ipxact:displayName>Trap Virtual Memory</ipxact:displayName>
                                                <ipxact:description>The TVM bit supports intercepting supervisor virtual-memory management operations. When TVM=1, attempts to read or write the ``satp`` CSR or execute an SFENCE.VMA or SINVAL.VMA instruction while executing in S-mode will raise an illegal instruction exception. When TVM=0, these operations are permitted in S-mode.</ipxact:description>
                                                <ipxact:bitOffset>20</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>MXR</ipxact:name>
                                                <ipxact:displayName>Make eXecutable Readable</ipxact:displayName>
                                                <ipxact:description>The MXR bit modifies the privilege with which loads access virtual memory. When MXR=0, only loads from pages marked readable will succeed. When MXR=1, loads from pages marked either readable or executable (R=1 or X=1) will succeed. MXR has no effect when page-based virtual memory is not in effect.</ipxact:description>
                                                <ipxact:bitOffset>19</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SUM</ipxact:name>
                                                <ipxact:displayName>Supervisor User Memory</ipxact:displayName>
                                                <ipxact:description>The SUM (permit Supervisor User Memory access) bit modifies the privilege with which S-mode loads and stores access virtual memory. When SUM=0, S-mode memory accesses to pages that are accessible by U-mode will fault. When SUM=1, these accesses are permitted. SUM has no effect when page-based virtual memory is not in effect. Note that, while SUM is ordinarily ignored when not executing in S-mode, it is in effect when MPRV=1 and MPP=S.</ipxact:description>
                                                <ipxact:bitOffset>18</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>MPRV</ipxact:name>
                                                <ipxact:displayName>Modify Privilege</ipxact:displayName>
                                                <ipxact:description>The MPRV (Modify PRiVilege) bit modifies the effective privilege mode, i.e., the privilege level at which loads and stores execute. When MPRV=0, loads and stores behave as normal, using the translation and protection mechanisms of the current privilege mode. When MPRV=1, load and store memory addresses are translated and protected, and endianness is applied, as though the current privilege mode were set to MPP. Instruction address-translation and protection are unaffected by the setting of MPRV.</ipxact:description>
                                                <ipxact:bitOffset>17</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>XS</ipxact:name>
                                                <ipxact:displayName>Extension State</ipxact:displayName>
                                                <ipxact:description>The XS field is used to reduce the cost of context save and restore by setting and tracking the current state of the user-mode extensions. The XS field encodes the status of the additional user-mode extensions and associated state.

This field can be checked by a context switch routine to quickly determine whether a state save or restore is required. If a save or restore is required, additional instructions and CSRs are typically required to effect and optimize the process.</ipxact:description>
                                                <ipxact:bitOffset>15</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x3</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>2</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read">
                                                                <ipxact:name>Off</ipxact:name>
                                                                <ipxact:description>All off</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read">
                                                                <ipxact:name>Initial</ipxact:name>
                                                                <ipxact:description>None dirty or clean, some on</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read">
                                                                <ipxact:name>Clean</ipxact:name>
                                                                <ipxact:description>None dirty, some clean</ipxact:description>
                                                                <ipxact:value>2</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read">
                                                                <ipxact:name>Dirty</ipxact:name>
                                                                <ipxact:description>Some dirty</ipxact:description>
                                                                <ipxact:value>3</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>FS</ipxact:name>
                                                <ipxact:displayName>Floating-point unit State</ipxact:displayName>
                                                <ipxact:description>The FS field is used to reduce the cost of context save and restore by setting and tracking the current state of the floating-point unit. The FS field encodes the status of the floating-point unit state, including the floating-point registers ``f0–f31`` and the CSRs ``fcsr``, ``frm``, and ``fflags``.

This field can be checked by a context switch routine to quickly determine whether a state save or restore is required. If a save or restore is required, additional instructions and CSRs are typically required to effect and optimize the process.</ipxact:description>
                                                <ipxact:bitOffset>13</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x3</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>2</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Off</ipxact:name>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Initial</ipxact:name>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Clean</ipxact:name>
                                                                <ipxact:value>2</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Dirty</ipxact:name>
                                                                <ipxact:value>3</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>MPP</ipxact:name>
                                                <ipxact:displayName>Machine mode Prior Privilege</ipxact:displayName>
                                                <ipxact:description>Holds the previous privilege mode for machine mode.</ipxact:description>
                                                <ipxact:bitOffset>11</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x3</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>2</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>VS</ipxact:name>
                                                <ipxact:displayName>Vector extension State</ipxact:displayName>
                                                <ipxact:description>V extension is not supported VS=0.</ipxact:description>
                                                <ipxact:bitOffset>9</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x3</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>2</ipxact:bitWidth>
                                                <ipxact:access>read-only</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SPP</ipxact:name>
                                                <ipxact:displayName>Supervisor mode Prior Privilege</ipxact:displayName>
                                                <ipxact:description>Holds the previous privilege mode for supervisor mode.</ipxact:description>
                                                <ipxact:bitOffset>8</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>MPIE</ipxact:name>
                                                <ipxact:displayName>Machine mode Prior Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>Indicates whether machine interrupts were enabled prior to trapping into machine mode.</ipxact:description>
                                                <ipxact:bitOffset>7</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>UBE</ipxact:name>
                                                <ipxact:displayName>User Breakpoint Enable</ipxact:displayName>
                                                <ipxact:description>UBE controls whether explicit load and store memory accesses made from U-mode are little-endian (UBE=0) or big-endian (UBE=1).</ipxact:description>
                                                <ipxact:bitOffset>6</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SPIE</ipxact:name>
                                                <ipxact:displayName>Supervisor mode Prior Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>Indicates whether supervisor interrupts were enabled prior to trapping into supervisor mode.</ipxact:description>
                                                <ipxact:bitOffset>5</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>WPRI2</ipxact:name>
                                                <ipxact:displayName>Reserved Writes Preserve Values, Reads Ignore Value</ipxact:displayName>
                                                <ipxact:description>Reserved Writes Preserve Values, Reads Ignore Value</ipxact:description>
                                                <ipxact:bitOffset>4</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WPRI</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>MIE</ipxact:name>
                                                <ipxact:displayName>Machine mode Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>Global interrupt-enable bit for Machine mode.</ipxact:description>
                                                <ipxact:bitOffset>3</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>WPRI1</ipxact:name>
                                                <ipxact:displayName>Reserved Writes Preserve Values, Reads Ignore Value</ipxact:displayName>
                                                <ipxact:description>Reserved Writes Preserve Values, Reads Ignore Value</ipxact:description>
                                                <ipxact:bitOffset>2</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WPRI</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SIE</ipxact:name>
                                                <ipxact:displayName>Supervisor mode Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>Global interrupt-enable bit for Supervisor mode.</ipxact:description>
                                                <ipxact:bitOffset>1</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>WPRI0</ipxact:name>
                                                <ipxact:displayName>Reserved Writes Preserve Values, Reads Ignore Value</ipxact:displayName>
                                                <ipxact:description>Reserved Writes Preserve Values, Reads Ignore Value</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WPRI</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>misa</ipxact:name>
                                        <ipxact:displayName>Machine ISA</ipxact:displayName>
                                        <ipxact:description>The misa CSR is reporting the ISA supported by the hart.</ipxact:description>
                                        <ipxact:addressOffset>'h301</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>MXL</ipxact:name>
                                                <ipxact:displayName>Machine XLEN</ipxact:displayName>
                                                <ipxact:description>The MXL field encodes the native base integer ISA width.</ipxact:description>
                                                <ipxact:bitOffset>30</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x1</ipxact:value>
                                                                <ipxact:mask>0x3</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>2</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>XLEN_32</ipxact:name>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>XLEN_64</ipxact:name>
                                                                <ipxact:value>2</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>XLEN_128</ipxact:name>
                                                                <ipxact:value>3</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>Extensions</ipxact:name>
                                                <ipxact:displayName>Extensions</ipxact:displayName>
                                                <ipxact:description>The Extensions field encodes the presence of the standard extensions, with a single bit per letter of the alphabet.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x141104</ipxact:value>
                                                                <ipxact:mask>0x3ffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>26</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>A</ipxact:name>
                                                                <ipxact:description>Atomic extension.</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>B</ipxact:name>
                                                                <ipxact:description>*Tentatively reserved for Bit-Manipulation extension.*</ipxact:description>
                                                                <ipxact:value>2</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>C</ipxact:name>
                                                                <ipxact:description>Compressed extension.</ipxact:description>
                                                                <ipxact:value>4</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>D</ipxact:name>
                                                                <ipxact:description>Double-precision floating-point extension.</ipxact:description>
                                                                <ipxact:value>8</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>E</ipxact:name>
                                                                <ipxact:description>RV32E base ISA.</ipxact:description>
                                                                <ipxact:value>16</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>F</ipxact:name>
                                                                <ipxact:description>Single-precision floating-point extension.</ipxact:description>
                                                                <ipxact:value>32</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>G</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>64</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>H</ipxact:name>
                                                                <ipxact:description>Hypervisor extension.</ipxact:description>
                                                                <ipxact:value>128</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>I</ipxact:name>
                                                                <ipxact:description>RV32I/64I/128I base ISA.</ipxact:description>
                                                                <ipxact:value>256</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>J</ipxact:name>
                                                                <ipxact:description>*Tentatively reserved for Dynamically Translated Languages extension.*</ipxact:description>
                                                                <ipxact:value>512</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>K</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>1024</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>L</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>2048</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>M</ipxact:name>
                                                                <ipxact:description>Integer Multiply/Divide extension.</ipxact:description>
                                                                <ipxact:value>4096</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>N</ipxact:name>
                                                                <ipxact:description>*Tentatively reserved for User-Level Interrupts extension.*</ipxact:description>
                                                                <ipxact:value>8192</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>O</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>16384</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>P</ipxact:name>
                                                                <ipxact:description>*Tentatively reserved for Packed-SIMD extension.*</ipxact:description>
                                                                <ipxact:value>32768</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Q</ipxact:name>
                                                                <ipxact:description>Quad-precision floating-point extension.</ipxact:description>
                                                                <ipxact:value>65536</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>R</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>131072</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>S</ipxact:name>
                                                                <ipxact:description>Supervisor mode implemented.</ipxact:description>
                                                                <ipxact:value>262144</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>T</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>524288</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>U</ipxact:name>
                                                                <ipxact:description>User mode implemented.</ipxact:description>
                                                                <ipxact:value>1048576</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>V</ipxact:name>
                                                                <ipxact:description>*Tentatively reserved for Vector extension.*</ipxact:description>
                                                                <ipxact:value>2097152</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>W</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>4194304</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>X</ipxact:name>
                                                                <ipxact:description>Non-standard extensions present.</ipxact:description>
                                                                <ipxact:value>8388608</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Y</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>16777216</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Z</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>33554432</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>medeleg</ipxact:name>
                                        <ipxact:displayName>Machine Exception Delegation</ipxact:displayName>
                                        <ipxact:description>Provides individual read/write bits to indicate that certain exceptions should be processed directly by a lower privilege level.</ipxact:description>
                                        <ipxact:addressOffset>'h302</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>Synchronous_Exceptions</ipxact:name>
                                                <ipxact:displayName>Synchronous Exceptions</ipxact:displayName>
                                                <ipxact:description>There is a bit position allocated for every synchronous exception,
with the index of the bit position equal to the value returned in the ``mcause`` register.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mideleg</ipxact:name>
                                        <ipxact:displayName>Machine Interrupt Delegation</ipxact:displayName>
                                        <ipxact:description>Provides individual read/write bits to indicate that certain interrupts should be processed directly by a lower privilege level.</ipxact:description>
                                        <ipxact:addressOffset>'h303</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>Interrupts</ipxact:name>
                                                <ipxact:displayName>Interrupts</ipxact:displayName>
                                                <ipxact:description>This bitfield holds trap delegation bits for individual interrupts, with the layout of bits matching those in the ``mip`` register.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mie</ipxact:name>
                                        <ipxact:displayName>Machine Interrupt Enable</ipxact:displayName>
                                        <ipxact:description>This register contains machine interrupt enable bits.</ipxact:description>
                                        <ipxact:addressOffset>'h304</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>Reserved_12</ipxact:name>
                                                <ipxact:displayName>Reserved</ipxact:displayName>
                                                <ipxact:description>Reserved.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>12</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>4</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>MEIE</ipxact:name>
                                                <ipxact:displayName>M-mode External Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>Enables machine mode external interrupts.</ipxact:description>
                                                <ipxact:bitOffset>11</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>Reserved_10</ipxact:name>
                                                <ipxact:displayName>Reserved</ipxact:displayName>
                                                <ipxact:description>Reserved.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>10</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SEIE</ipxact:name>
                                                <ipxact:displayName>S-mode External Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>Enables supervisor mode external interrupts.</ipxact:description>
                                                <ipxact:bitOffset>9</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>UEIE</ipxact:name>
                                                <ipxact:description>enables U-mode external interrupts.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>8</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>MTIE</ipxact:name>
                                                <ipxact:displayName>M-mode Timer Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>Enables machine mode timer interrupts.</ipxact:description>
                                                <ipxact:bitOffset>7</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>Reserved_6</ipxact:name>
                                                <ipxact:displayName>Reserved</ipxact:displayName>
                                                <ipxact:description>Reserved.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>6</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>STIE</ipxact:name>
                                                <ipxact:displayName>S-mode Timer Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>Enables supervisor mode timer interrupts.</ipxact:description>
                                                <ipxact:bitOffset>5</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>UTIE</ipxact:name>
                                                <ipxact:description>timer interrupt-enable bit for U-mode.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>4</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>MSIE</ipxact:name>
                                                <ipxact:displayName>M-mode Software Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>Enables machine mode software interrupts.</ipxact:description>
                                                <ipxact:bitOffset>3</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>Reserved_2</ipxact:name>
                                                <ipxact:displayName>Reserved</ipxact:displayName>
                                                <ipxact:description>Reserved.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>2</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SSIE</ipxact:name>
                                                <ipxact:displayName>S-mode Software Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>Enables supervisor mode software interrupts.</ipxact:description>
                                                <ipxact:bitOffset>1</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>USIE</ipxact:name>
                                                <ipxact:description>enable U-mode software interrrupts.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mtvec</ipxact:name>
                                        <ipxact:displayName>Machine Trap Vector</ipxact:displayName>
                                        <ipxact:description>This register holds trap vector configuration, consisting of a vector base address and a vector mode.</ipxact:description>
                                        <ipxact:addressOffset>'h305</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>BASE</ipxact:name>
                                                <ipxact:description>The BASE field in mtvec is a WARL field that can hold any valid virtual or physical address, subject to the following alignment constraints: when MODE=Direct the address must be 4-byte aligned, and when MODE=Vectored the address must be 256-byte aligned.</ipxact:description>
                                                <ipxact:bitOffset>2</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x3fffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>30</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>MODE</ipxact:name>
                                                <ipxact:description>Imposes additional alignment constraints on the value in the BASE field.``Legal Values :``0,1.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x3</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>2</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Direct</ipxact:name>
                                                                <ipxact:description>All exceptions set ``pc`` to BASE.</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Vectored</ipxact:name>
                                                                <ipxact:description>Asynchronous interrupts set ``pc`` to BASE+4×cause.</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Reserved_2</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>2</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Reserved_3</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>3</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mcountern</ipxact:name>
                                        <ipxact:displayName>Machine Counter Enable</ipxact:displayName>
                                        <ipxact:description>This register controls the availability of the hardware performance-monitoring counters to the next-lowest privileged mode.</ipxact:description>
                                        <ipxact:addressOffset>'h306</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>HPMn</ipxact:name>
                                                <ipxact:displayName>Hpmcountern</ipxact:displayName>
                                                <ipxact:description>When HPMn is clear, attempts to read the ``hpmcountern`` register while executing in S-mode or U-mode will cause an illegal instruction exception. When this bit is set, access to the corresponding register is permitted in the next implemented privilege mode.</ipxact:description>
                                                <ipxact:bitOffset>3</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1fffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>29</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>IR</ipxact:name>
                                                <ipxact:displayName>Instret</ipxact:displayName>
                                                <ipxact:description>When IR is clear, attempts to read the ``instret`` register while executing in S-mode or U-mode will cause an illegal instruction exception. When this bit is set, access to the corresponding register is permitted in the next implemented privilege mode.</ipxact:description>
                                                <ipxact:bitOffset>2</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>TM</ipxact:name>
                                                <ipxact:displayName>Time</ipxact:displayName>
                                                <ipxact:description>When TM is clear, attempts to read the ``time`` register while executing in S-mode or U-mode will cause an illegal instruction exception. When this bit is set, access to the corresponding register is permitted in the next implemented privilege mode.</ipxact:description>
                                                <ipxact:bitOffset>1</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>CY</ipxact:name>
                                                <ipxact:displayName>Cycle</ipxact:displayName>
                                                <ipxact:description>When CY is clear, attempts to read the ``cycle`` register while executing in S-mode or U-mode will cause an illegal instruction exception. When this bit is set, access to the corresponding register is permitted in the next implemented privilege mode.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>hpmevent</ipxact:name>
                                        <ipxact:displayName>Hardware Performance-Monitoring Event Selector</ipxact:displayName>
                                        <ipxact:description>This register controls which event causes the corresponding counter to increment.</ipxact:description>
                                        <ipxact:dim>6</ipxact:dim>
                                        <ipxact:addressOffset>'h323</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>mhpmevent</ipxact:name>
                                                <ipxact:description>event selector CSRs</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1f</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>5</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mscratch</ipxact:name>
                                        <ipxact:displayName>Machine Scratch</ipxact:displayName>
                                        <ipxact:description>This register is used to hold a value dedicated to Machine mode. Attempts to access without Machine mode level raise illegal instruction exception.</ipxact:description>
                                        <ipxact:addressOffset>'h340</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>mscratch</ipxact:name>
                                                <ipxact:displayName>Machine Scratch</ipxact:displayName>
                                                <ipxact:description>Holds a value dedicated to Machine mode.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mepc</ipxact:name>
                                        <ipxact:displayName>Machine Exception Program Counter</ipxact:displayName>
                                        <ipxact:description>This register must be able to hold all valid virtual addresses.</ipxact:description>
                                        <ipxact:addressOffset>'h341</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>mepc</ipxact:name>
                                                <ipxact:displayName>Machine Exception Program Counter</ipxact:displayName>
                                                <ipxact:description>When a trap is taken into M-mode, ``mepc`` is written with the virtual address of the instruction that was interrupted or that encountered the exception.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mcause</ipxact:name>
                                        <ipxact:displayName>Machine Cause</ipxact:displayName>
                                        <ipxact:description>When a trap is taken into M-mode, mcause is written with a code indicating the event that caused the trap.

Machine cause register (``mcause``) values after trap are shown in the following table. =========  ==============  ==============================
Interrupt  Exception Code Description =========  ==============  ==============================
        1               0  *Reserved*
        1               1  Supervisor software interrupt
        1             2-4  *Reserved*
        1               5  Supervisor timer interrupt
        1             6-8  *Reserved*
        1               9  Supervisor external interrupt
        1           10-15  *Reserved*
        1             ≥16  *Designated for platform use*
        0               0  Instruction address misaligned
        0               1  Instruction access fault
        0               2  Illegal instruction
        0               3  Breakpoint
        0               4  Load address misaligned
        0               5  Load access fault
        0               6  Store/AMO address misaligned
        0               7  Store/AMO access fault
        0               8  Environment call from U-mode
        0               9  Environment call from S-mode
        0           10-11  *Reserved*
        0              12  Instruction page fault
        0              13  Load page fault
        0              14  *Reserved*
        0              15  Store/AMO page fault
        0           16-23  *Reserved*
        0           24-31  *Designated for custom use*
        0           32-47  *Reserved*
        0           48-63  *Designated for custom use*
        0             ≥64 *Reserved* =========  ==============  ==============================</ipxact:description>
                                        <ipxact:addressOffset>'h342</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>Interrupt</ipxact:name>
                                                <ipxact:displayName>Interrupt</ipxact:displayName>
                                                <ipxact:description>This bit is set if the trap was caused by an interrupt.</ipxact:description>
                                                <ipxact:bitOffset>31</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>exception_code</ipxact:name>
                                                <ipxact:displayName>Exception Code</ipxact:displayName>
                                                <ipxact:description>This field contains a code identifying the last exception or interrupt.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x7fffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>31</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WLRL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mtval</ipxact:name>
                                        <ipxact:displayName>Machine Trap Value</ipxact:displayName>
                                        <ipxact:description>When a trap is taken into M-mode, mtval is either set to zero or written with exception-specific information to assist software in handling the trap.</ipxact:description>
                                        <ipxact:addressOffset>'h343</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>mtval</ipxact:name>
                                                <ipxact:displayName>Machine Trap Value</ipxact:displayName>
                                                <ipxact:description>If ``mtval`` is written with a nonzero value when a breakpoint, address-misaligned, access-fault, or page-fault exception occurs on an instruction fetch, load, or store, then mtval will contain the faulting virtual address.

If ``mtval`` is written with a nonzero value when a misaligned load or store causes an access-fault or page-fault exception, then ``mtval`` will contain the virtual address of the portion of the access that caused the fault.

If ``mtval`` is written with a nonzero value when an instruction access-fault or page-fault exception occurs on a system with variable-length instructions, then ``mtval`` will contain the virtual address of the portion of the instruction that caused the fault, while ``mepc`` will point to the beginning of the instruction.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mip</ipxact:name>
                                        <ipxact:displayName>Machine Interrupt Pending</ipxact:displayName>
                                        <ipxact:description>This register contains machine interrupt pending bits.</ipxact:description>
                                        <ipxact:addressOffset>'h344</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>Reserved_12</ipxact:name>
                                                <ipxact:displayName>Reserved</ipxact:displayName>
                                                <ipxact:description>Reserved.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>12</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>4</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>MEIP</ipxact:name>
                                                <ipxact:displayName>M-mode External Interrupt Pending</ipxact:displayName>
                                                <ipxact:description>The interrupt-pending bit for machine-level external interrupts.</ipxact:description>
                                                <ipxact:bitOffset>11</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>Reserved_10</ipxact:name>
                                                <ipxact:displayName>Reserved</ipxact:displayName>
                                                <ipxact:description>Reserved.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>10</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SEIP</ipxact:name>
                                                <ipxact:displayName>S-mode External Interrupt Pending</ipxact:displayName>
                                                <ipxact:description>The interrupt-pending bit for supervisor-level external interrupts.</ipxact:description>
                                                <ipxact:bitOffset>9</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>UEIP</ipxact:name>
                                                <ipxact:description>enables external interrupts.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>8</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>MTIP</ipxact:name>
                                                <ipxact:displayName>M-mode Timer Interrupt Pending</ipxact:displayName>
                                                <ipxact:description>The interrupt-pending bit for machine-level timer interrupts.</ipxact:description>
                                                <ipxact:bitOffset>7</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>Reserved_6</ipxact:name>
                                                <ipxact:displayName>Reserved</ipxact:displayName>
                                                <ipxact:description>Reserved.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>6</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>STIP</ipxact:name>
                                                <ipxact:displayName>S-mode Timer Interrupt Pending</ipxact:displayName>
                                                <ipxact:description>The interrupt-pending bit for supervisor-level timer interrupts.</ipxact:description>
                                                <ipxact:bitOffset>5</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>UTIP</ipxact:name>
                                                <ipxact:description>Correspond to timer interrupt-pending bits for user interrupt.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>4</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>MSIP</ipxact:name>
                                                <ipxact:displayName>M-mode Software Interrupt Pending</ipxact:displayName>
                                                <ipxact:description>The interrupt-pending bit for machine-level software interrupts.</ipxact:description>
                                                <ipxact:bitOffset>3</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>Reserved_2</ipxact:name>
                                                <ipxact:displayName>Reserved</ipxact:displayName>
                                                <ipxact:description>Reserved.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>2</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>SSIP</ipxact:name>
                                                <ipxact:displayName>S-mode Software Interrupt Pending</ipxact:displayName>
                                                <ipxact:description>The interrupt-pending bit for supervisor-level software interrupts.</ipxact:description>
                                                <ipxact:bitOffset>1</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>USIP</ipxact:name>
                                                <ipxact:description>A hart to directly write its own USIP bits when running in the appropriate mode.``Legal Values:``0.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>pmpcfg0</ipxact:name>
                                        <ipxact:displayName>Physical Memory Protection Config 0</ipxact:displayName>
                                        <ipxact:description>Holds configuration 0-3.</ipxact:description>
                                        <ipxact:addressOffset>'h3A0</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>pmp3cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 3 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>24</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>pmp2cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 2 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>16</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>pmp1cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 1 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>8</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>pmp0cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 0 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>pmpcfg1</ipxact:name>
                                        <ipxact:displayName>Physical Memory Protection Config 1</ipxact:displayName>
                                        <ipxact:description>Holds configuration 4-7.</ipxact:description>
                                        <ipxact:addressOffset>'h3A1</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>pmp7cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 7 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>24</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>pmp6cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 6 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>16</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>pmp5cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 5 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>8</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>pmp4cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 4 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>pmpcfg2</ipxact:name>
                                        <ipxact:displayName>Physical Memory Protection Config 2</ipxact:displayName>
                                        <ipxact:description>Holds configuration 8-11.</ipxact:description>
                                        <ipxact:addressOffset>'h3A2</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>pmp11cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 11 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>24</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>pmp10cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 10 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>16</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>pmp9cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 9 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>8</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>pmp8cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 8 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>pmpcfg3</ipxact:name>
                                        <ipxact:displayName>Physical Memory Protection Config 3</ipxact:displayName>
                                        <ipxact:description>Holds configuration 12-15.</ipxact:description>
                                        <ipxact:addressOffset>'h3A3</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>pmp15cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 15 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>24</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>pmp14cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 14 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>16</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>pmp13cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 13 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>8</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>pmp12cfg</ipxact:name>
                                                <ipxact:displayName>Physical Memory Protection 12 Config</ipxact:displayName>
                                                <ipxact:description>Holds the configuration.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>8</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>pmpaddr</ipxact:name>
                                        <ipxact:displayName>Physical Memory Protection Address</ipxact:displayName>
                                        <ipxact:description>Address register for Physical Memory Protection.</ipxact:description>
                                        <ipxact:dim>16</ipxact:dim>
                                        <ipxact:addressOffset>'h3B0</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>address</ipxact:name>
                                                <ipxact:displayName>Address</ipxact:displayName>
                                                <ipxact:description>Encodes bits 33-2 of a 34-bit physical address.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>icache</ipxact:name>
                                        <ipxact:displayName>Instuction Cache</ipxact:displayName>
                                        <ipxact:description>Custom Register to enable/disable for Icache [bit 0]</ipxact:description>
                                        <ipxact:addressOffset>'h7C0</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>icache</ipxact:name>
                                                <ipxact:displayName>Instruction Cache</ipxact:displayName>
                                                <ipxact:description>Custom Register</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x1</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>dcache</ipxact:name>
                                        <ipxact:displayName>Data Cache</ipxact:displayName>
                                        <ipxact:description>Custom Register to enable/disable for Dcache [bit 0]</ipxact:description>
                                        <ipxact:addressOffset>'h7C1</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>dcache</ipxact:name>
                                                <ipxact:displayName>Data Cache</ipxact:displayName>
                                                <ipxact:description>Custom Register</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x1</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>tselect</ipxact:name>
                                        <ipxact:displayName>Trigger Select</ipxact:displayName>
                                        <ipxact:description>This register determines which trigger is accessible through the other trigger registers.</ipxact:description>
                                        <ipxact:addressOffset>'h7A0</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>index</ipxact:name>
                                                <ipxact:displayName>Index</ipxact:displayName>
                                                <ipxact:description>The set of accessible triggers must start at 0, and be contiguous.

Writes of values greater than or equal to the number of supported triggers may result in a different value in this register than what was written. To verify that what they wrote is a valid index, debuggers can read back the value and check that ``tselect`` holds what they wrote.

Since triggers can be used both by Debug Mode and M-mode, the debugger must restore this register if it modifies it.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>D</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>tdata1</ipxact:name>
                                        <ipxact:displayName>Trigger Data 1</ipxact:displayName>
                                        <ipxact:description>Trigger-specific data.</ipxact:description>
                                        <ipxact:addressOffset>'h7A1</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>type</ipxact:name>
                                                <ipxact:displayName>Type</ipxact:displayName>
                                                <ipxact:description>Type of trigger.</ipxact:description>
                                                <ipxact:bitOffset>28</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xf</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>4</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>no_trigger</ipxact:name>
                                                                <ipxact:description>There is no trigger at this ``tselect``.</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>legacy_address_match_trigger</ipxact:name>
                                                                <ipxact:description>The trigger is a legacy SiFive address match trigger. These should not be implemented and aren’t further documented here.</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>address_data_match_trigger</ipxact:name>
                                                                <ipxact:description>The trigger is an address/data match trigger. The remaining bits in this register act as described in ``mcontrol``.</ipxact:description>
                                                                <ipxact:value>2</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>instruction_count_trigger</ipxact:name>
                                                                <ipxact:description>The trigger is an instruction count trigger. The remaining bits in this register act as described in ``icount``.</ipxact:description>
                                                                <ipxact:value>3</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>interrupt_trigger</ipxact:name>
                                                                <ipxact:description>The trigger is an interrupt trigger. The remaining bits in this register act as described in ``itrigger``.</ipxact:description>
                                                                <ipxact:value>4</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>exception_trigger</ipxact:name>
                                                                <ipxact:description>The trigger is an exception trigger. The remaining bits in this register act as described in ``etrigger``.</ipxact:description>
                                                                <ipxact:value>5</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Reserved_6</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>6</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Reserved_7</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>7</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Reserved_8</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>8</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Reserved_9</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>9</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Reserved_10</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>10</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Reserved_11</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>11</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Reserved_12</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>12</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Reserved_13</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>13</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Reserved_14</ipxact:name>
                                                                <ipxact:description>*Reserved.*</ipxact:description>
                                                                <ipxact:value>14</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>trigger_exists</ipxact:name>
                                                                <ipxact:description>This trigger exists (so enumeration shouldn’t terminate), but is not currently available.</ipxact:description>
                                                                <ipxact:value>15</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>dmode</ipxact:name>
                                                <ipxact:displayName>Debug Mode</ipxact:displayName>
                                                <ipxact:description>This bit is only writable from Debug Mode.</ipxact:description>
                                                <ipxact:bitOffset>27</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>D_and_M_mode</ipxact:name>
                                                                <ipxact:description>Both Debug and M-mode can write the ``tdata`` registers at the selected ``tselect``.</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>M_mode_only</ipxact:name>
                                                                <ipxact:description>Only Debug Mode can write the ``tdata`` registers at the selected ``tselect``. Writes from other modes are ignored.</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>data</ipxact:name>
                                                <ipxact:displayName>Data</ipxact:displayName>
                                                <ipxact:description>Trigger-specific data.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x7ffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>27</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>D</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>tdata2</ipxact:name>
                                        <ipxact:displayName>Trigger Data 2</ipxact:displayName>
                                        <ipxact:description>Trigger-specific data.</ipxact:description>
                                        <ipxact:addressOffset>'h7A2</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>data</ipxact:name>
                                                <ipxact:displayName>Data</ipxact:displayName>
                                                <ipxact:description>Trigger-specific data.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>D</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>tdata3</ipxact:name>
                                        <ipxact:displayName>Trigger Data 3</ipxact:displayName>
                                        <ipxact:description>Trigger-specific data.</ipxact:description>
                                        <ipxact:addressOffset>'h7A3</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>data</ipxact:name>
                                                <ipxact:displayName>Data</ipxact:displayName>
                                                <ipxact:description>Trigger-specific data.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>D</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>tinfo</ipxact:name>
                                        <ipxact:displayName>Trigger Info</ipxact:displayName>
                                        <ipxact:description>Shows trigger information.</ipxact:description>
                                        <ipxact:addressOffset>'h7A4</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>info</ipxact:name>
                                                <ipxact:displayName>Info</ipxact:displayName>
                                                <ipxact:description>One bit for each possible ``type`` enumerated in ``tdata1``. Bit N corresponds to type N. If the bit is set, then that type is supported by the currently selected trigger.

If the currently selected trigger doesn’t exist, this field contains 1.

If ``type`` is not writable, this register may be unimplemented, in which case reading it causes an illegal instruction exception. In this case the debugger can read the only supported type from ``tdata1``.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>16</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>D</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>dcsr</ipxact:name>
                                        <ipxact:displayName>Debug Control and Status</ipxact:displayName>
                                        <ipxact:description>Debug ontrol and status register.</ipxact:description>
                                        <ipxact:addressOffset>'h7B0</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>xdebugver</ipxact:name>
                                                <ipxact:displayName>Debug Version</ipxact:displayName>
                                                <ipxact:description>Shows the version of the debug support.</ipxact:description>
                                                <ipxact:bitOffset>28</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xf</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>4</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read">
                                                                <ipxact:name>no_ext_debug</ipxact:name>
                                                                <ipxact:description>There is no external debug support.</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read">
                                                                <ipxact:name>ext_debug_spec</ipxact:name>
                                                                <ipxact:description>External debug support exists as it is described in the riscv-debug-release document.</ipxact:description>
                                                                <ipxact:value>4</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read">
                                                                <ipxact:name>ext_debug_no_spec</ipxact:name>
                                                                <ipxact:description>There is external debug support, but it does not conform to any available version of the riscv-debug-release spec.</ipxact:description>
                                                                <ipxact:value>15</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>ebreakm</ipxact:name>
                                                <ipxact:displayName>Environment Breakpoint M-mode</ipxact:displayName>
                                                <ipxact:description>Shows the behvior of the ``ebreak`` instruction in machine mode.</ipxact:description>
                                                <ipxact:bitOffset>15</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>break_as_spec</ipxact:name>
                                                                <ipxact:description>``ebreak`` instructions in M-mode behave as described in the Privileged Spec.</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>break_to_debug</ipxact:name>
                                                                <ipxact:description>``ebreak`` instructions in M-mode enter Debug Mode.</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>ebreaks</ipxact:name>
                                                <ipxact:displayName>Environment Breakpoint S-mode</ipxact:displayName>
                                                <ipxact:description>Shows the behvior of the ``ebreak`` instruction in supervisor mode.</ipxact:description>
                                                <ipxact:bitOffset>13</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>break_as_spec</ipxact:name>
                                                                <ipxact:description>``ebreak`` instructions in S-mode behave as described in the Privileged Spec.</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>break_to_debug</ipxact:name>
                                                                <ipxact:description>``ebreak`` instructions in S-mode enter Debug Mode.</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>ebreaku</ipxact:name>
                                                <ipxact:displayName>Environment Breakpoint U-mode</ipxact:displayName>
                                                <ipxact:description>Shows the behvior of the ``ebreak`` instruction in user mode.</ipxact:description>
                                                <ipxact:bitOffset>12</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>break_as_spec</ipxact:name>
                                                                <ipxact:description>``ebreak`` instructions in U-mode behave as described in the Privileged Spec.</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>break_to_debug</ipxact:name>
                                                                <ipxact:description>``ebreak`` instructions in U-mode enter Debug Mode.</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>stepie</ipxact:name>
                                                <ipxact:displayName>Stepping Interrupt Enable</ipxact:displayName>
                                                <ipxact:description>Enables/disables interrupts for single stepping.

The debugger must not change the value of this bit while the hart is running.</ipxact:description>
                                                <ipxact:bitOffset>11</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>disabled</ipxact:name>
                                                                <ipxact:description>Interrupts are disabled during single stepping.</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>enabled</ipxact:name>
                                                                <ipxact:description>Interrupts are enabled during single stepping.</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>stopcount</ipxact:name>
                                                <ipxact:displayName>Stop Counters</ipxact:displayName>
                                                <ipxact:description>Starts/stops incrementing counters in debug mode.</ipxact:description>
                                                <ipxact:bitOffset>10</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>increment_counters</ipxact:name>
                                                                <ipxact:description>Increment counters as usual.</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>dont_increment_counters</ipxact:name>
                                                                <ipxact:description>Don’t increment any counters while in Debug Mode or on ``ebreak`` instructions that cause entry into Debug Mode.</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>stoptime</ipxact:name>
                                                <ipxact:displayName>Stop Timers</ipxact:displayName>
                                                <ipxact:description>Starts/stops incrementing timers in debug mode.</ipxact:description>
                                                <ipxact:bitOffset>9</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>increment_timers</ipxact:name>
                                                                <ipxact:description>Increment timers as usual.</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>dont_increment_timers</ipxact:name>
                                                                <ipxact:description>Don’t increment any hart-local timers while in Debug Mode.</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>cause</ipxact:name>
                                                <ipxact:displayName>Cause</ipxact:displayName>
                                                <ipxact:description>Explains why Debug Mode was entered.

When there are multiple reasons to enter Debug Mode in a single cycle, hardware sets ``cause`` to the cause with the highest priority.</ipxact:description>
                                                <ipxact:bitOffset>6</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x7</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>3</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>ebreak_instruction</ipxact:name>
                                                                <ipxact:description>An ``ebreak`` instruction was executed. (priority 3)</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>trigger_module</ipxact:name>
                                                                <ipxact:description>The Trigger Module caused a breakpoint exception. (priority 4, highest)</ipxact:description>
                                                                <ipxact:value>2</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>debugger_request</ipxact:name>
                                                                <ipxact:description>The debugger requested entry to Debug Mode using ``haltreq``. (priority 1)</ipxact:description>
                                                                <ipxact:value>3</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>single_step</ipxact:name>
                                                                <ipxact:description>The hart single stepped because ``step`` was set. (priority 0, lowest)</ipxact:description>
                                                                <ipxact:value>4</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>reset_halt</ipxact:name>
                                                                <ipxact:description>The hart halted directly out of reset due to ``resethaltreq``. It is also acceptable to report 3 when this happens. (priority 2)</ipxact:description>
                                                                <ipxact:value>5</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>mprven</ipxact:name>
                                                <ipxact:displayName>Modify Privilege Enable</ipxact:displayName>
                                                <ipxact:description>Enables/disables the modify privilege setting in debug mode.</ipxact:description>
                                                <ipxact:bitOffset>4</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>disable_mprv</ipxact:name>
                                                                <ipxact:description>MPRV in ``mstatus`` is ignored in Debug Mode.</ipxact:description>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>enable_mprv</ipxact:name>
                                                                <ipxact:description>MPRV in ``mstatus`` takes effect in Debug Mode.</ipxact:description>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                                <ipxact:vendorExtensions>
                                                        <RISCV_behavior>WARL</RISCV_behavior>
                                                </ipxact:vendorExtensions>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>nmip</ipxact:name>
                                                <ipxact:displayName>Non-Maskable Interrupt Pending</ipxact:displayName>
                                                <ipxact:description>When set, there is a Non-Maskable-Interrupt (NMI) pending for the hart.</ipxact:description>
                                                <ipxact:bitOffset>3</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>step</ipxact:name>
                                                <ipxact:displayName>Step</ipxact:displayName>
                                                <ipxact:description>When set and not in Debug Mode, the hart will only execute a single instruction and then enter Debug Mode. If the instruction does not complete due to an exception, the hart will immediately enter Debug Mode before executing the trap handler, with appropriate exception registers set. The debugger must not change the value of this bit while the hart is running.</ipxact:description>
                                                <ipxact:bitOffset>2</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>1</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>prv</ipxact:name>
                                                <ipxact:displayName>Privilege level</ipxact:displayName>
                                                <ipxact:description>Contains the privilege level the hart was operating in when Debug Mode was entered. A debugger can change this value to change the hart’s privilege level when exiting Debug Mode.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x3</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>2</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                                <ipxact:enumeratedValues>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>User</ipxact:name>
                                                                <ipxact:value>0</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Supervisor</ipxact:name>
                                                                <ipxact:value>1</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                        <ipxact:enumeratedValue usage="read-write">
                                                                <ipxact:name>Machine</ipxact:name>
                                                                <ipxact:value>3</ipxact:value>
                                                        </ipxact:enumeratedValue>
                                                </ipxact:enumeratedValues>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>D</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>dpc</ipxact:name>
                                        <ipxact:displayName>Debug PC</ipxact:displayName>
                                        <ipxact:description>Upon entry to debug mode, ``dpc`` is updated with the virtual address of the next instruction to be executed.

When resuming, the hart’s PC is updated to the virtual address stored in ``dpc``. A debugger may write ``dpc`` to change where the hart resumes.</ipxact:description>
                                        <ipxact:addressOffset>'h7B1</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>dpc</ipxact:name>
                                                <ipxact:description>The ``dpc`` behavior is described in more detail in the table below.

.. csv-table::
  :header: "Cause", "Virtual Address in DPC"

  "``ebreak``", "Address of the ``ebreak`` instruction."
  "single step", "Address of the instruction that would be executed next if no debugging was going on. Ie. pc + 4 for 32-bit instructions that don’t change program flow, the destination PC on taken jumps/branches, etc."
  "trigger module", "If ``timing`` is 0, the address of the instruction which caused the trigger to fire. If ``timing`` is 1, the address of the next instruction to be executed at the time that debug mode was entered."
  "halt request", "Address of the next instruction to be executed at the time that debug mode was entered."</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>D</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>dscratch</ipxact:name>
                                        <ipxact:displayName>Debug Scratch Register</ipxact:displayName>
                                        <ipxact:description>Optional scratch register. A debugger must not write to this register unless ``hartinfo`` explicitly mentions it.</ipxact:description>
                                        <ipxact:dim>2</ipxact:dim>
                                        <ipxact:addressOffset>'h7B2</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>dscratch</ipxact:name>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>D</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>ftran</ipxact:name>
                                        <ipxact:description>Floating Point Custom CSR</ipxact:description>
                                        <ipxact:addressOffset>'h800</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>ftran</ipxact:name>
                                                <ipxact:description>Floating Point Custom CSR</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x7f</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>7</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>U</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mcycle</ipxact:name>
                                        <ipxact:displayName>M-mode Cycle counter</ipxact:displayName>
                                        <ipxact:description>Counts the number of clock cycles executed by the processor core on which the hart is running.</ipxact:description>
                                        <ipxact:addressOffset>'hB00</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:description>Counts the number of clock cycles executed by the processor core.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>minstret</ipxact:name>
                                        <ipxact:displayName>Machine Instruction Retired counter</ipxact:displayName>
                                        <ipxact:description>Counts the number of instructions the hart has retired.</ipxact:description>
                                        <ipxact:addressOffset>'hB02</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:description>Counts the number of instructions the hart has retired.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>ml1_icache_miss</ipxact:name>
                                        <ipxact:displayName>L1 Inst Cache Miss</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hB03</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>ml1_dcache_miss</ipxact:name>
                                        <ipxact:displayName>L1 Data Cache Miss</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hB04</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mitlb_miss</ipxact:name>
                                        <ipxact:displayName>ITLB Miss</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hB05</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mdtlb_miss</ipxact:name>
                                        <ipxact:displayName>DTLB Miss</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hB06</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mload</ipxact:name>
                                        <ipxact:displayName>Loads</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hB07</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mstore</ipxact:name>
                                        <ipxact:displayName>Stores</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hB08</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mexception</ipxact:name>
                                        <ipxact:displayName>Taken Exceptions</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hB09</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mexception_ret</ipxact:name>
                                        <ipxact:displayName>Exception Return</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hB0A</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mbranch_jump</ipxact:name>
                                        <ipxact:displayName>Software Change of PC</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hB0B</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mcall</ipxact:name>
                                        <ipxact:displayName>Procedure Call</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hB0C</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mret</ipxact:name>
                                        <ipxact:displayName>Procedure Return</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hB0D</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mmis_predict</ipxact:name>
                                        <ipxact:displayName>Branch mis-predicted</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hB0E</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>msb_full</ipxact:name>
                                        <ipxact:displayName>Scoreboard Full</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hB0F</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mif_empty</ipxact:name>
                                        <ipxact:displayName>Instruction Fetch Queue Empty</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hB10</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mcycleh</ipxact:name>
                                        <ipxact:displayName>Upper 32-bits of M-mode Cycle counter</ipxact:displayName>
                                        <ipxact:description>Counts the number of clock cycles executed by the processor core on which the hart is running.</ipxact:description>
                                        <ipxact:addressOffset>'hB80</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:description>Counts the number of clock cycles executed by the processor core.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>minstreth</ipxact:name>
                                        <ipxact:displayName>Upper 32-bits of Machine Instruction Retired counter</ipxact:displayName>
                                        <ipxact:description>Counts the number of instructions the hart has retired.</ipxact:description>
                                        <ipxact:addressOffset>'hB82</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:description>Counts the number of instructions the hart has retired.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mhpmcounterh</ipxact:name>
                                        <ipxact:displayName>Upper 32-bits of Machine Hardware Performance Monitoring Counter</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:dim>6</ipxact:dim>
                                        <ipxact:addressOffset>'hB83</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:access>read-write</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:access>read-write</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>cycle</ipxact:name>
                                        <ipxact:displayName>Cycle counter</ipxact:displayName>
                                        <ipxact:description>Cycle counter for RDCYCLE instruction.</ipxact:description>
                                        <ipxact:addressOffset>'hC00</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>U</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>time</ipxact:name>
                                        <ipxact:displayName>Timer</ipxact:displayName>
                                        <ipxact:description>Timer for RDTIME instruction.</ipxact:description>
                                        <ipxact:addressOffset>'hC01</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>instret</ipxact:name>
                                        <ipxact:displayName>Instruction Retired counter</ipxact:displayName>
                                        <ipxact:description>Instructions-retired counter for RDINSTRET instruction</ipxact:description>
                                        <ipxact:addressOffset>'hC02</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>U</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>l1_icache_miss</ipxact:name>
                                        <ipxact:displayName>L1 Inst Cache Miss</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hC03</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>l1_dcache_miss</ipxact:name>
                                        <ipxact:displayName>L1 Data Cache Miss</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hC04</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>itlb_miss</ipxact:name>
                                        <ipxact:displayName>ITLB Miss</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hC05</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>dtlb_miss</ipxact:name>
                                        <ipxact:displayName>DTLB Miss</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hC06</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>load</ipxact:name>
                                        <ipxact:displayName>Loads</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hC07</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>store</ipxact:name>
                                        <ipxact:displayName>Stores</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hC08</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>exception</ipxact:name>
                                        <ipxact:displayName>Taken Exceptions</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hC09</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>exception_ret</ipxact:name>
                                        <ipxact:displayName>Exception Return</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hC0A</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>branch_jump</ipxact:name>
                                        <ipxact:displayName>Software Change of PC</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hC0B</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>call</ipxact:name>
                                        <ipxact:displayName>Procedure Call</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hC0C</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>ret</ipxact:name>
                                        <ipxact:displayName>Procedure Return</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hC0D</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mis_predict</ipxact:name>
                                        <ipxact:displayName>Branch mis-predicted</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hC0E</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>sb_full</ipxact:name>
                                        <ipxact:displayName>Scoreboard Full</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hC0F</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>if_empty</ipxact:name>
                                        <ipxact:displayName>Instruction Fetch Queue Empty</ipxact:displayName>
                                        <ipxact:description>Hardware performance event counter.</ipxact:description>
                                        <ipxact:addressOffset>'hC10</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>cycleh</ipxact:name>
                                        <ipxact:displayName>Upper 32-bits of Cycle counter</ipxact:displayName>
                                        <ipxact:description>Cycle counter for RDCYCLE instruction.</ipxact:description>
                                        <ipxact:addressOffset>'hC80</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>U</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>timeh</ipxact:name>
                                        <ipxact:displayName>Upper 32-bit of Timer</ipxact:displayName>
                                        <ipxact:description>Timer for RDTIME instruction.</ipxact:description>
                                        <ipxact:addressOffset>'hC81</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>instreth</ipxact:name>
                                        <ipxact:displayName>Upper 32-bits of Instruction Retired counter</ipxact:displayName>
                                        <ipxact:description>Instructions-retired counter for RDINSTRET instruction</ipxact:description>
                                        <ipxact:addressOffset>'hC82</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>count</ipxact:name>
                                                <ipxact:displayName>Count</ipxact:displayName>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>U</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mvendorid</ipxact:name>
                                        <ipxact:displayName>Machine Vendor ID</ipxact:displayName>
                                        <ipxact:description>This register provids the JEDEC manufacturer ID of the provider of the core.</ipxact:description>
                                        <ipxact:addressOffset>'hF11</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>bank</ipxact:name>
                                                <ipxact:displayName>Bank</ipxact:displayName>
                                                <ipxact:description>Contain encoding for number of one-byte continuation codes discarding the parity bit.</ipxact:description>
                                                <ipxact:bitOffset>7</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x1ffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>25</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:field>
                                                <ipxact:name>offset</ipxact:name>
                                                <ipxact:displayName>Offset</ipxact:displayName>
                                                <ipxact:description>Contain encording for the final byte discarding the parity bit.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0x7f</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>7</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>marchid</ipxact:name>
                                        <ipxact:displayName>Machine Architecture ID</ipxact:displayName>
                                        <ipxact:description>This register encodes the base microarchitecture of the hart.</ipxact:description>
                                        <ipxact:addressOffset>'hF12</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>architecture_id</ipxact:name>
                                                <ipxact:displayName>Architecture ID</ipxact:displayName>
                                                <ipxact:description>Provide Encoding the base microarchitecture of the hart.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x3</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mimpid</ipxact:name>
                                        <ipxact:displayName>Machine Implementation ID</ipxact:displayName>
                                        <ipxact:description>Provides a unique encoding of the version of the processor implementation.</ipxact:description>
                                        <ipxact:addressOffset>'hF13</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>implementation</ipxact:name>
                                                <ipxact:displayName>Implementation</ipxact:displayName>
                                                <ipxact:description>Provides unique encoding of the version of the processor implementation.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                                <ipxact:register>
                                        <ipxact:name>mhartid</ipxact:name>
                                        <ipxact:displayName>Machine Hardware Thread ID</ipxact:displayName>
                                        <ipxact:description>This register contains the integer ID of the hardware thread running the code.</ipxact:description>
                                        <ipxact:addressOffset>'hF14</ipxact:addressOffset>
                                        <ipxact:size>32</ipxact:size>
                                        <ipxact:volatile>true</ipxact:volatile>
                                        <ipxact:access>read-only</ipxact:access>
                                        <ipxact:field>
                                                <ipxact:name>hart_id</ipxact:name>
                                                <ipxact:displayName>Hart ID</ipxact:displayName>
                                                <ipxact:description>Contains the integer ID of the hardware thread running the code.</ipxact:description>
                                                <ipxact:bitOffset>0</ipxact:bitOffset>
                                                <ipxact:resets>
                                                        <ipxact:reset>
                                                                <ipxact:value>0x0</ipxact:value>
                                                                <ipxact:mask>0xffffffff</ipxact:mask>
                                                        </ipxact:reset>
                                                </ipxact:resets>
                                                <ipxact:bitWidth>32</ipxact:bitWidth>
                                                <ipxact:volatile>true</ipxact:volatile>
                                                <ipxact:access>read-only</ipxact:access>
                                        </ipxact:field>
                                        <ipxact:vendorExtensions>
                                                <privilege_mode>M</privilege_mode>
                                        </ipxact:vendorExtensions>
                                </ipxact:register>
                        </ipxact:addressBlock>
                        <ipxact:addressUnitBits>32</ipxact:addressUnitBits>
                </ipxact:memoryMap>
        </ipxact:memoryMaps>
</ipxact:component>
