﻿<?xml version="1.0" encoding="utf-8" standalone="no"?>
<device schemaVersion="1.3.5" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD_Schema_1_3_5.xsd">
  <cpu>
    <name>CA17_D16</name>
    <displayName>Cortex-A17 (D16)</displayName>
    <groups>
      <group>
        <name>State</name>
        <description>Current CPU State</description>
        <IsCPUModeItem>1</IsCPUModeItem>
      </group>
      <group>
        <name>Core (Now)</name>
        <description>Current State CPU Registers</description>
        <size>32</size>
        <access>RW</access>
        <type>unsigned int</type>
        <registers>
          <register>
            <name>R0</name>
            <description>General purpose register 0</description>
            <Index>0</Index>
          </register>
          <register>
            <name>R1</name>
            <description>General purpose register 1</description>
            <Index>1</Index>
          </register>
          <register>
            <name>R2</name>
            <description>General purpose register 2 </description>
            <Index>2</Index>
          </register>
          <register>
            <name>R3</name>
            <description>General purpose register 3 </description>
            <Index>3</Index>
          </register>
          <register>
            <name>R4</name>
            <description>General purpose register 4</description>
            <Index>4</Index>
          </register>
          <register>
            <name>R5</name>
            <description>General purpose register 5</description>
            <Index>5</Index>
          </register>
          <register>
            <name>R6</name>
            <description>General purpose register 6</description>
            <Index>6</Index>
          </register>
          <register>
            <name>R7</name>
            <description>General purpose register 7</description>
            <Index>7</Index>
          </register>
          <register>
            <name>R8</name>
            <description>General purpose register 8</description>
            <Index>74</Index>
          </register>
          <register>
            <name>R9</name>
            <description>General purpose register 9</description>
            <Index>75</Index>
          </register>
          <register>
            <name>R10</name>
            <description>General purpose register 10</description>
            <Index>76</Index>
          </register>
          <register>
            <name>R11</name>
            <description>General purpose register 11</description>
            <Index>77</Index>
          </register>
          <register>
            <name>R12</name>
            <description>General purpose register 12</description>
            <Index>78</Index>
          </register>
          <register>
            <name>R13</name>
            <AliasName>SP</AliasName>
            <displayName>R13 (SP)</displayName>
            <description>Stack pointer (SP)</description>
            <Index>79</Index>
          </register>
          <register>
            <name>R14</name>
            <AliasName>LR</AliasName>
            <displayName>R14 (LR)</displayName>
            <description>Link register (LR)</description>
            <Index>80</Index>
          </register>
          <register>
            <name>R15</name>
            <AliasName>PC</AliasName>
            <displayName>R15 (PC)</displayName>
            <description>Program counter (PC)</description>
            <Index>9</Index>
          </register>
          <register>
            <name>CPSR</name>
            <description>Current program status register</description>
            <Index>8</Index>
            <fields>
              <field>
                <name>M</name>
                <description>Mode bits</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>T</name>
                <description>Thumb state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>SVC disable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>IRQ disable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>A</name>
                <description>Asynchroneous abort disable</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>E</name>
                <description>Data endianess</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IC/IT Low</name>
                <description>Interruptible-continuable instruction low bits</description>
                <bitOffset>10</bitOffset>
                <bitWidth>6</bitWidth>
              </field>
              <field>
                <name>IC/IT High</name>
                <description>Interruptible-continuable instruction high bits</description>
                <bitOffset>25</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>GE</name>
                <description>Greater-than-or-equal bits</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>J</name>
                <description>Java state</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Q</name>
                <description>Sticky overflow flag</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Overflow flag</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Carry flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Zero flag</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Negative flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
        </registers>
      </group>
      <group>
        <name>FPU</name>
        <description>Floating Point Registers</description>
        <size>32</size>
        <access>RW</access>
        <type>float</type>
        <registers>
          <register>
            <name>S0</name>
            <description>Floating point register 0</description>
            <Index>40</Index>
          </register>
          <register>
            <name>S1</name>
            <description>Floating point register 1</description>
            <Index>41</Index>
          </register>
          <register>
            <name>S2</name>
            <description>Floating point register 2</description>
            <Index>42</Index>
          </register>
          <register>
            <name>S3</name>
            <description>Floating point register 3</description>
            <Index>43</Index>
          </register>
          <register>
            <name>S4</name>
            <description>Floating point register 4</description>
            <Index>44</Index>
          </register>
          <register>
            <name>S5</name>
            <description>Floating point register 5</description>
            <Index>45</Index>
          </register>
          <register>
            <name>S6</name>
            <description>Floating point register 6</description>
            <Index>46</Index>
          </register>
          <register>
            <name>S7</name>
            <description>Floating point register 7</description>
            <Index>47</Index>
          </register>
          <register>
            <name>S8</name>
            <description>Floating point register 8</description>
            <Index>48</Index>
          </register>
          <register>
            <name>S9</name>
            <description>Floating point register 9</description>
            <Index>49</Index>
          </register>
          <register>
            <name>S10</name>
            <description>Floating point register 10</description>
            <Index>50</Index>
          </register>
          <register>
            <name>S11</name>
            <description>Floating point register 11</description>
            <Index>51</Index>
          </register>
          <register>
            <name>S12</name>
            <description>Floating point register 12</description>
            <Index>52</Index>
          </register>
          <register>
            <name>S13</name>
            <description>Floating point register 13</description>
            <Index>53</Index>
          </register>
          <register>
            <name>S14</name>
            <description>Floating point register 14</description>
            <Index>54</Index>
          </register>
          <register>
            <name>S15</name>
            <description>Floating point register 15</description>
            <Index>55</Index>
          </register>
          <register>
            <name>S16</name>
            <description>Floating point register 16</description>
            <Index>56</Index>
          </register>
          <register>
            <name>S17</name>
            <description>Floating point register 17</description>
            <Index>57</Index>
          </register>
          <register>
            <name>S18</name>
            <description>Floating point register 18</description>
            <Index>58</Index>
          </register>
          <register>
            <name>S19</name>
            <description>Floating point register 19</description>
            <Index>59</Index>
          </register>
          <register>
            <name>S20</name>
            <description>Floating point register 20</description>
            <Index>60</Index>
          </register>
          <register>
            <name>S21</name>
            <description>Floating point register 21</description>
            <Index>61</Index>
          </register>
          <register>
            <name>S22</name>
            <description>Floating point register 22</description>
            <Index>62</Index>
          </register>
          <register>
            <name>S23</name>
            <description>Floating point register 23</description>
            <Index>63</Index>
          </register>
          <register>
            <name>S24</name>
            <description>Floating point register 24</description>
            <Index>64</Index>
          </register>
          <register>
            <name>S25</name>
            <description>Floating point register 25</description>
            <Index>65</Index>
          </register>
          <register>
            <name>S26</name>
            <description>Floating point register 26</description>
            <Index>66</Index>
          </register>
          <register>
            <name>S27</name>
            <description>Floating point register 27</description>
            <Index>67</Index>
          </register>
          <register>
            <name>S28</name>
            <description>Floating point register 28</description>
            <Index>68</Index>
          </register>
          <register>
            <name>S29</name>
            <description>Floating point register 29</description>
            <Index>69</Index>
          </register>
          <register>
            <name>S30</name>
            <description>Floating point register 30</description>
            <Index>70</Index>
          </register>
          <register>
            <name>S31</name>
            <description>Floating point register 31</description>
            <Index>71</Index>
          </register>
          <register>
            <name>FPSID</name>
            <description>Floating point system information register</description>
            <access>RO</access>
            <reset>0x410330D0</reset>
            <type>unsigned int</type>
            <Index>37</Index>
            <fields>
              <field>
                <name>Implementer</name>
                <description>Implementer ID</description>
                <bitOffset>24</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
              <field>
                <name>SW</name>
                <description>Software emulation support flag</description>
                <bitOffset>23</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Architecture</name>
                <description>Architecture version</description>
                <bitOffset>16</bitOffset>
                <bitWidth>7</bitWidth>
              </field>
              <field>
                <name>PartNumber</name>
                <description>Part number</description>
                <bitOffset>8</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
              <field>
                <name>Variant</name>
                <description>Variant ID</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>Revision</name>
                <description>Revision number</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>FPSCR</name>
            <description>Floating point status and control register</description>
            <access>RW</access>
            <reset>0x0</reset>
            <type>unsigned int</type>
            <Index>38</Index>
            <fields>
              <field>
                <name>IOC</name>
                <description>Invalid operation cumulative exception flag</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DZC</name>
                <description>Division by zero cumulative exception flag</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>OFC</name>
                <description>Overflow cumulative exception flag</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>UFC</name>
                <description>Underflow cumulative exception flag</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IXC</name>
                <description>Inexact cumulative exception flag</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IDC</name>
                <description>Input denormal cumulative exception flag</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>R-Mode</name>
                <description>Rounding mode control</description>
                <bitOffset>22</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>FZ</name>
                <description>Flush-to-zero mode enable bit</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DN</name>
                <description>Default NaN mode enable bit</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>AHP</name>
                <description>Alternative half-precision control bit</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>QC</name>
                <description>Cumulative saturation exception bit</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Set if comparison produces an unordered result</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Set if comparison produces an equal, greater than, or unordered result</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Set if comparison produces an equal result</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Set if comparison produces a less than result</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>FPEXC</name>
            <description>Floating point exception register</description>
            <access>RW</access>
            <reset>0x0</reset>
            <type>unsigned int</type>
            <Index>39</Index>
            <fields>
              <field>
                <name>DEX</name>
                <description>Undefined instruction exception flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>EN</name>
                <description>VFP enable bit</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>MVFR0</name>
            <description>Media and VFP feature register 0</description>
            <access>RO</access>
            <reset>0x10110222</reset>
            <type>unsigned int</type>
            <Index>72</Index>
            <fields>
              <field>
                <name>RB</name>
                <description>thirty-two 64-bit registers supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SP</name>
                <description>Single-precision operations supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>DP</name>
                <description>Double-precision operations supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>TE</name>
                <description>VFP exception trapping not supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>D</name>
                <description>VFP divide operation supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SR</name>
                <description>VFP square root operation supported</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SV</name>
                <description>VFP short vectors not supported</description>
                <bitOffset>24</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>RM</name>
                <description>All VFP rounding modes supported</description>
                <bitOffset>28</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>MVFR1</name>
            <description>Media and VFP feature register 1</description>
            <access>RO</access>
            <reset>0x11111111</reset>
            <type>unsigned int</type>
            <Index>73</Index>
            <fields>
              <field>
                <name>FZ</name>
                <description>VFP denormal airthmetic operations supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>DN</name>
                <description>VFP NaN value propagation supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>LS</name>
                <description>Advanded SIMD load/store instructions not supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>Advanced SIMD integer operations not supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SPFP</name>
                <description>Advanced SIMD single-precision operations not supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>HPFP</name>
                <description>Advanced SIMD half-precision operations not supported</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>VFP HPFP</name>
                <description>VFP half-precision operations supported</description>
                <bitOffset>24</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>FMAC</name>
                <description>Fused multiply accumulate operations supported</description>
                <bitOffset>28</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
        </registers>
      </group>
      <group>
        <name>FPU (Double)</name>
        <description>Floating Point Registers (double-precision)</description>
        <size>64</size>
        <access>RW</access>
        <type>double</type>
        <registers>
          <register>
            <name>D0</name>
            <description>Floating point register 0</description>
            <Index1>40</Index1>
            <Index2>41</Index2>
          </register>
          <register>
            <name>D1</name>
            <description>Floating point register 1</description>
            <Index1>42</Index1>
            <Index2>43</Index2>
          </register>
          <register>
            <name>D2</name>
            <description>Floating point register 2</description>
            <Index1>44</Index1>
            <Index2>45</Index2>
          </register>
          <register>
            <name>D3</name>
            <description>Floating point register 3</description>
            <Index1>46</Index1>
            <Index2>47</Index2>
          </register>
          <register>
            <name>D4</name>
            <description>Floating point register 4</description>
            <Index1>48</Index1>
            <Index2>49</Index2>
          </register>
          <register>
            <name>D5</name>
            <description>Floating point register 5</description>
            <Index1>50</Index1>
            <Index2>51</Index2>
          </register>
          <register>
            <name>D6</name>
            <description>Floating point register 6</description>
            <Index1>52</Index1>
            <Index2>53</Index2>
          </register>
          <register>
            <name>D7</name>
            <description>Floating point register 7</description>
            <Index1>54</Index1>
            <Index2>55</Index2>
          </register>
          <register>
            <name>D8</name>
            <description>Floating point register 8</description>
            <Index1>56</Index1>
            <Index2>57</Index2>
          </register>
          <register>
            <name>D9</name>
            <description>Floating point register 9</description>
            <Index1>58</Index1>
            <Index2>59</Index2>
          </register>
          <register>
            <name>D10</name>
            <description>Floating point register 10</description>
            <Index1>60</Index1>
            <Index2>61</Index2>
          </register>
          <register>
            <name>D11</name>
            <description>Floating point register 11</description>
            <Index1>62</Index1>
            <Index2>63</Index2>
          </register>
          <register>
            <name>D12</name>
            <description>Floating point register 12</description>
            <Index1>64</Index1>
            <Index2>65</Index2>
          </register>
          <register>
            <name>D13</name>
            <description>Floating point register 13</description>
            <Index1>66</Index1>
            <Index2>67</Index2>
          </register>
          <register>
            <name>D14</name>
            <description>Floating point register 14</description>
            <Index1>68</Index1>
            <Index2>69</Index2>
          </register>
          <register>
            <name>D15</name>
            <description>Floating point register 15</description>
            <Index1>70</Index1>
            <Index2>71</Index2>
          </register>   
          <register>
            <name>FPSID</name>
            <description>Floating point system information register</description>
            <access>RO</access>
            <size>32</size>
            <reset>0x41023140</reset>
            <Index>37</Index>
            <fields>
              <field>
                <name>Implementer</name>
                <description>Implementer ID</description>
                <bitOffset>24</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
              <field>
                <name>SW</name>
                <description>Software emulation support flag</description>
                <bitOffset>23</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Architecture</name>
                <description>Architecture version</description>
                <bitOffset>16</bitOffset>
                <bitWidth>7</bitWidth>
              </field>
              <field>
                <name>PartNumber</name>
                <description>Part number</description>
                <bitOffset>8</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
              <field>
                <name>Variant</name>
                <description>Variant ID</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>Revision</name>
                <description>Revision number</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>FPSCR</name>
            <description>Floating point status and control register</description>
            <access>RW</access>
            <size>32</size>
            <reset>0x0</reset>
            <Index>38</Index>
            <fields>
              <field>
                <name>IOC</name>
                <description>Invalid operation cumulative exception flag</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DZC</name>
                <description>Division by zero cumulative exception flag</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>OFC</name>
                <description>Overflow cumulative exception flag</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>UFC</name>
                <description>Underflow cumulative exception flag</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IXC</name>
                <description>Inexact cumulative exception flag</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IDC</name>
                <description>Input denormal cumulative exception flag</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IOE</name>
                <description>Invalid operation exception enable bit</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DZE</name>
                <description>Division by zero exception enable bit</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>OFE</name>
                <description>Overflow exception enable bit</description>
                <bitOffset>10</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>UFE</name>
                <description>Underflow exception enable bit</description>
                <bitOffset>11</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IXE</name>
                <description>Inexact exception enable bit</description>
                <bitOffset>12</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IDE</name>
                <description>Input Subnormal exception enable bit</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Len</name>
                <description>Vector length</description>
                <bitOffset>16</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>Stride</name>
                <description>Stride control</description>
                <bitOffset>20</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>R-Mode</name>
                <description>Rounding mode control</description>
                <bitOffset>22</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>FZ</name>
                <description>Flush-to-zero mode enable bit</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DN</name>
                <description>Default NaN mode enable bit</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>QC</name>
                <description>Saturation cumulative flag</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Set if comparison produces an unordered result</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Set if comparison produces an equal, greater than, or unordered result</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Set if comparison produces an equal result</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Set if comparison produces a less than result</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>FPEXC</name>
            <description>Floating point exception register</description>
            <access>RW</access>
            <size>32</size>
            <reset>0x0</reset>
            <Index>39</Index>
            <fields>
              <field>
                <name>DEX</name>
                <description>Undefined instruction exception flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>EN</name>
                <description>VFP enable bit</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>MVFR0</name>
            <description>Media and VFP feature register 0</description>
            <access>RO</access>
            <size>32</size>
            <reset>0x10110221</reset>
            <Index>72</Index>
            <fields>
              <field>
                <name>RB</name>
                <description>Sixteen 64-bir registers supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SP</name>
                <description>Single-precision operations supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>DP</name>
                <description>Double-precision operations supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>TE</name>
                <description>VFP exception trapping not supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>D</name>
                <description>VFP divide operation supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SR</name>
                <description>VFP square root operation supported</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SV</name>
                <description>VFP short vectors not supported</description>
                <bitOffset>24</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>RM</name>
                <description>All VFP rounding modes supported</description>
                <bitOffset>28</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>MVFR1</name>
            <description>Media and VFP feature register 1</description>
            <access>RO</access>
            <size>32</size>
            <reset>0x00000011</reset>
            <Index>73</Index>
            <fields>
              <field>
                <name>FZ</name>
                <description>VFP denormal airthmetic operations supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>DN</name>
                <description>VFP NaN value propagation supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>LS</name>
                <description>Advanded SIMD load/store instructions not supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>Advanced SIMD integer operations not supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SPFP</name>
                <description>Advanced SIMD single-precision operations not supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>HPFP</name>
                <description>Advanced SIMD half-precision operations not supported</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>VFP HPFP</name>
                <description>VFP half-precision operations supported</description>
                <bitOffset>24</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
        </registers>
      </group>
      <group>
        <name>Core (All)</name>
        <description>All CPU Registers</description>
        <size>32</size>
        <access>RW</access>
        <type>unsigned int</type>
        <registers>
          <register>
            <name>R0_USR</name>
            <description>General purpose register 0 (User Mode)</description>
            <Index>0</Index>
          </register>
          <register>
            <name>R1_USR</name>
            <description>General purpose register 1 (User Mode)</description>
            <Index>1</Index>
          </register>
          <register>
            <name>R2_USR</name>
            <description>General purpose register 2 (User Mode)</description>
            <Index>2</Index>
          </register>
          <register>
            <name>R3_USR</name>
            <description>General purpose register 3 (User Mode)</description>
            <Index>3</Index>
          </register>
          <register>
            <name>R4_USR</name>
            <description>General purpose register 4 (User Mode)</description>
            <Index>4</Index>
          </register>
          <register>
            <name>R5_USR</name>
            <description>General purpose register 5 (User Mode)</description>
            <Index>5</Index>
          </register>
          <register>
            <name>R6_USR</name>
            <description>General purpose register 6 (User Mode)</description>
            <Index>6</Index>
          </register>
          <register>
            <name>R7_USR</name>
            <description>General purpose register 7 (User Mode)</description>
            <Index>7</Index>
          </register>
          <register>
            <name>R8_USR</name>
            <description>General purpose register 8 (User Mode)</description>
            <Index>10</Index>
          </register>
          <register>
            <name>R9_USR</name>
            <description>General purpose register 9 (User Mode)</description>
            <Index>11</Index>
          </register>
          <register>
            <name>R10_USR</name>
            <description>General purpose register 10 (User Mode)</description>
            <Index>12</Index>
          </register>
          <register>
            <name>R11_USR</name>
            <description>General purpose register 11 (User Mode)</description>
            <Index>13</Index>
          </register>
          <register>
            <name>R12_USR</name>
            <description>General purpose register 12 (User Mode)</description>
            <Index>14</Index>
          </register>
          <register>
            <name>R13_USR</name>
            <description>Stack pointer (User Mode)</description>
            <Index>15</Index>
          </register>
          <register>
            <name>R14_USR</name>
            <description>Link register (User Mode)</description>
            <Index>16</Index>
          </register>
          <register>
            <name>R15_USR</name>
            <description>Program counter (User Mode)</description>
            <Index>9</Index>
          </register>
          <register>
            <name>SPSR_USR</name>
            <description>Current program status register (User Mode)</description>
            <Index>8</Index>
            <fields>
              <field>
                <name>M</name>
                <description>Mode bits</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>T</name>
                <description>Thumb state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>SVC disable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>IRQ disable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>A</name>
                <description>Asynchroneous abort disable</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>E</name>
                <description>Data endianess</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IC/IT Low</name>
                <description>Interruptible-continuable instruction low bits</description>
                <bitOffset>10</bitOffset>
                <bitWidth>6</bitWidth>
              </field>
              <field>
                <name>IC/IT High</name>
                <description>Interruptible-continuable instruction high bits</description>
                <bitOffset>25</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>GE</name>
                <description>Greater-than-or-equal bits</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>J</name>
                <description>Java state</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Q</name>
                <description>Sticky overflow flag</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Overflow flag</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Carry flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Zero flag</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Negative flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>R8_FIQ</name>
            <description>General purpose register 8 (Fast Interrupt Mode)</description>
            <Index>18</Index>
          </register>
          <register>
            <name>R9_FIQ</name>
            <description>General purpose register 9 (Fast Interrupt Mode)</description>
            <Index>19</Index>
          </register>
          <register>
            <name>R10_FIQ</name>
            <description>General purpose register 10 (Fast Interrupt Mode)</description>
            <Index>20</Index>
          </register>
          <register>
            <name>R11_FIQ</name>
            <description>General purpose register 11 (Fast Interrupt Mode)</description>
            <Index>21</Index>
          </register>
          <register>
            <name>R12_FIQ</name>
            <description>General purpose register 12 (Fast Interrupt Mode)</description>
            <Index>22</Index>
          </register>
          <register>
            <name>R13_FIQ</name>
            <description>Stack pointer (Fast Interrupt Mode)</description>
            <Index>23</Index>
          </register>
          <register>
            <name>R14_FIQ</name>
            <description>Link register (Fast Interrupt Mode)</description>
            <Index>24</Index>
          </register>
          <register>
            <name>SPSR_FIQ</name>
            <description>Current program status register (Fast Interrupt Mode)</description>
            <Index>17</Index>
            <fields>
              <field>
                <name>M</name>
                <description>Mode bits</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>T</name>
                <description>Thumb state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>SVC disable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>IRQ disable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>A</name>
                <description>Asynchroneous abort disable</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>E</name>
                <description>Data endianess</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IC/IT Low</name>
                <description>Interruptible-continuable instruction low bits</description>
                <bitOffset>10</bitOffset>
                <bitWidth>6</bitWidth>
              </field>
              <field>
                <name>IC/IT High</name>
                <description>Interruptible-continuable instruction high bits</description>
                <bitOffset>25</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>GE</name>
                <description>Greater-than-or-equal bits</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>J</name>
                <description>Java state</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Q</name>
                <description>Sticky overflow flag</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Overflow flag</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Carry flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Zero flag</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Negative flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>R13_SVC</name>
            <description>Stack pointer (Supervisor Mode)</description>
            <Index>26</Index>
          </register>
          <register>
            <name>R14_SVC</name>
            <description>Link register (Supervisor Mode)</description>
            <Index>27</Index>
          </register>
          <register>
            <name>SPSR_SVC</name>
            <description>Current program status register (Supervisor Mode)</description>
            <Index>25</Index>
            <fields>
              <field>
                <name>M</name>
                <description>Mode bits</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>T</name>
                <description>Thumb state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>SVC disable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>IRQ disable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>A</name>
                <description>Asynchroneous abort disable</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>E</name>
                <description>Data endianess</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IC/IT Low</name>
                <description>Interruptible-continuable instruction low bits</description>
                <bitOffset>10</bitOffset>
                <bitWidth>6</bitWidth>
              </field>
              <field>
                <name>IC/IT High</name>
                <description>Interruptible-continuable instruction high bits</description>
                <bitOffset>25</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>GE</name>
                <description>Greater-than-or-equal bits</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>J</name>
                <description>Java state</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Q</name>
                <description>Sticky overflow flag</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Overflow flag</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Carry flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Zero flag</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Negative flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>R13_ABT</name>
            <description>Stack pointer (Abort Mode)</description>
            <Index>29</Index>
          </register>
          <register>
            <name>R14_ABT</name>
            <description>Link register (Abort Mode)</description>
            <Index>30</Index>
          </register>
          <register>
            <name>SPSR_ABT</name>
            <description>Current program status register (Abort Mode)</description>
            <Index>28</Index>
            <fields>
              <field>
                <name>M</name>
                <description>Mode bits</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>T</name>
                <description>Thumb state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>SVC disable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>IRQ disable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>A</name>
                <description>Asynchroneous abort disable</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>E</name>
                <description>Data endianess</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IC/IT Low</name>
                <description>Interruptible-continuable instruction low bits</description>
                <bitOffset>10</bitOffset>
                <bitWidth>6</bitWidth>
              </field>
              <field>
                <name>IC/IT High</name>
                <description>Interruptible-continuable instruction high bits</description>
                <bitOffset>25</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>GE</name>
                <description>Greater-than-or-equal bits</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>J</name>
                <description>Java state</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Q</name>
                <description>Sticky overflow flag</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Overflow flag</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Carry flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Zero flag</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Negative flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>R13_IRQ</name>
            <description>Stack pointer (Interrupt Mode)</description>
            <Index>32</Index>
          </register>
          <register>
            <name>R14_IRQ</name>
            <description>Link register (Interrupt Mode)</description>
            <Index>33</Index>
          </register>
          <register>
            <name>SPSR_IRQ</name>
            <description>Current program status register (Interrupt Mode)</description>
            <Index>31</Index>
            <fields>
              <field>
                <name>M</name>
                <description>Mode bits</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>T</name>
                <description>Thumb state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>SVC disable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>IRQ disable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>A</name>
                <description>Asynchroneous abort disable</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>E</name>
                <description>Data endianess</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IC/IT Low</name>
                <description>Interruptible-continuable instruction low bits</description>
                <bitOffset>10</bitOffset>
                <bitWidth>6</bitWidth>
              </field>
              <field>
                <name>IC/IT High</name>
                <description>Interruptible-continuable instruction high bits</description>
                <bitOffset>25</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>GE</name>
                <description>Greater-than-or-equal bits</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>J</name>
                <description>Java state</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Q</name>
                <description>Sticky overflow flag</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Overflow flag</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Carry flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Zero flag</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Negative flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>R13_UND</name>
            <description>Stack pointer (Undefined Mode)</description>
            <Index>35</Index>
          </register>
          <register>
            <name>R14_UND</name>
            <description>Link register (Undefined Mode)</description>
            <Index>36</Index>
          </register>
          <register>
            <name>SPSR_UND</name>
            <description>Current program status register (Undefined Mode)</description>
            <Index>34</Index>
            <fields>
              <field>
                <name>M</name>
                <description>Mode bits</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>T</name>
                <description>Thumb state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>SVC disable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>IRQ disable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>A</name>
                <description>Asynchroneous abort disable</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>E</name>
                <description>Data endianess</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IC/IT Low</name>
                <description>Interruptible-continuable instruction low bits</description>
                <bitOffset>10</bitOffset>
                <bitWidth>6</bitWidth>
              </field>
              <field>
                <name>IC/IT High</name>
                <description>Interruptible-continuable instruction high bits</description>
                <bitOffset>25</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>GE</name>
                <description>Greater-than-or-equal bits</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>J</name>
                <description>Java state</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Q</name>
                <description>Sticky overflow flag</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Overflow flag</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Carry flag</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Zero flag</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Negative flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
        </registers>
      </group>
      <group>
        <name>CP15</name>
        <description>Coprocessor 15 Registers</description>
        <size>32</size>
        <access>RW</access>
        <type>unsigned int</type>
        <!--c0 registers-->
        <registers>
          <register>
            <name>MIDR</name>
            <description>Main ID Register</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x411FC0E0</reset>
            <ID>15,0,0,0,0</ID>
            <fields>
              <field>
                <name>IMPLEMENTOR</name>
                <description>Implementor</description>
                <bitOffset>24</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
              <field>
                <name>REV_MAJOR</name>
                <description>Major revision number of the rnpn revision status</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>ARCHITECTURE</name>
                <description>Architecture Code. 0xF: ARMv7</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>PART_NBR</name>
                <description>Primary Part number. 0xC07: Cortex-A7 MPCore part number</description>
                <bitOffset>4</bitOffset>
                <bitWidth>12</bitWidth>
              </field>
              <field>
                <name>REV_MINOR</name>
                <description>Minor revision number of the rnpn revision status</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CTR</name>
            <description>Cache Type Register</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x84448003</reset>
            <ID>15,0,0,0,1</ID>
            <fields>
              <field>
                <name>FORMAT</name>
                <description>CTR Format</description>
                <bitOffset>29</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CWG</name>
                <description>Cache Write-Back Granule</description>
                <bitOffset>24</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>ERG</name>
                <description>Exclusive Reservation Granule</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>D_MIN_LINE</name>
                <description>Log2 of the number of words in the smalles cache line of all the data and unified caches under the core control</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>L1_POLICY</name>
                <description>L1 instruction cache policy</description>
                <bitOffset>14</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>I_MIN_LINE</name>
                <description>Log2 of the number of words in the smallest cache line of all the instruction caches under the control of the processor</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>TCMTR</name>
            <!--no fields-->
            <description>Tightly Coupled Memory (TCM) Type Register</description>
            <access>RO</access>
            <groupName>ID Register</groupName>
            <reset>0x00000000</reset>
            <ID>15,0,0,0,2</ID>
          </register>
          <register>
            <name>TLBTR</name>
            <!-- no fields -->
            <description>Translation Lookaside Buffer (TLB) Type Register</description>
            <access>RO</access>
            <groupName>ID Regs</groupName>
            <reset>0x00000000</reset>
            <ID>15,0,0,0,3</ID>
            <fields>
              <field>
                <name>nU</name>
                <description>Unified TLB NOT present</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>MPIDR</name>
            <description>Multiprocessor Affinity Register</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <ID>15,0,0,0,5</ID>
            <fields>
              <field>
                <name>U</name>
                <description>Uniprocessor System Present</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>MT</name>
                <description>Indicates whether the lowest level of affinity consists of logical processors that are implemented using a multi-threading type approach</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CLUSTER_ID</name>
                <description>Value read in CLUSTERID configuration pins.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>CPU_ID</name>
                <description>ID of the Processor</description>
                <bitOffset>0</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>REVIDR</name>
            <!--no fields-->
            <description>Revision ID register</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x00000000</reset>
            <ID>15,0,0,0,0</ID>
          </register>
          <register>
            <name>ID_PFR0</name>
            <description>Processor Feature Register 0</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x00001131</reset>
            <ID>15,0,1,0,0</ID>
            <fields>
              <field>
                <name>STATE_3</name>
                <description>ThumbEE instruction set supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>STATE_2</name>
                <description>Jazelle extension interface supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>STATE_1</name>
                <description>Thumb-2 Instruction Set supported (0x3)</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>STATE_0</name>
                <description>32-bit ARM instruction set supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ID_PFR1</name>
            <description>Processor Feature Register 1</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x00011011</reset>
            <ID>15,0,1,0,1</ID>
            <fields>
              <field>
                <name>GENERIC_TIMER</name>
                <description>Gerneric Timer supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>VIRTUAL_EXT</name>
                <description>Virtualization Extensions supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>M_PROFILE</name>
                <description>M profile programmers model supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SECURITY_EXT</name>
                <description>Security extension architecture v1 supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>PROG_MODEL</name>
                <description>Standard ARMv4 programmers model supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ID_DFR0</name>
            <description>Debug Feature Register 0</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x02010555</reset>
            <ID>15,0,1,0,2</ID>
            <fields>
              <field>
                <name>PERF_MM</name>
                <description>Performance Monitor Model ID</description>
                <bitOffset>24</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>M_PROFILE</name>
                <description>Memory-mapped debug model for M Profile processors supported</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>MM_TRACE_MODEL</name>
                <description>Memory-mapped trace debug model supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>CP_TRACE_MODEL</name>
                <description>Coprocessor Trace Model supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>MM_DEBUG_MODEL</name>
                <description>Memory-mapped Debug Model supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>CP_SEC_DBG_MODEL</name>
                <description>Coprocessor-based secure debug model supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>CP_DBG_MODEL</name>
                <description>Coprocessor based core debug model supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ID_AFR0</name>
            <!-- no fields, RAZ -->
            <description>Auxiliary Feature Register 0</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x00000000</reset>
            <ID>15,0,1,0,3</ID>
          </register>
          <register>
            <name>ID_MMFR0</name>
            <description>Memory Model Features Register 0</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x10101105</reset>
            <ID>15,0,1,0,4</ID>
            <fields>
              <field>
                <name>IN_SHARE</name>
                <description>Innermost shareability domain supported</description>
                <bitOffset>28</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>FCSE</name>
                <description>Fast Context Switching Extension (FCSE) supported</description>
                <bitOffset>24</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>AUX_CTRL_REG</name>
                <description>Auxiliary Control Registers supported</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>TCM</name>
                <description>Tight Coupled Memory (TCM) supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SHRABILITY_LEVELS</name>
                <description>Number of Shareability Levels Implemented (0x1: two levels implemented)</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>OUTER_SHRABILITY</name>
                <description>Indicates the outermost Shareability Level Implemented (0x1: Processor supports hardware coherency)</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>PMSA</name>
                <description>Protected Memory System Architecture supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>VMSA</name>
                <description>Virtual Memory System Architecture supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ID_MMFR1</name>
            <description>Memory Model Features Register 1</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x40000000</reset>
            <ID>15,0,1,0,5</ID>
            <fields>
              <field>
                <name>BRANCH_PREDICT</name>
                <description>Branch Predictor Management Requirements</description>
                <bitOffset>28</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>L1_CACHE_TNC</name>
                <description>L1 data cache test and clean operations supported</description>
                <bitOffset>24</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>L1_UNIFIED_CACHE</name>
                <description>L1 unified cache clean/invalidate-all operations supported</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>L1_HARVARD_CACHE</name>
                <description>L1 data cache clean/invalidate-all operations supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>L1_UNIFIED_CACHE_SW</name>
                <description>L1 unfied cache maintencance operations by set/way supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>L1_HARVARD_CACHE_SW</name>
                <description>L1 Hardvard cache maintenance operations by set/way supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>L1_UNIFIED_CACHE_VA</name>
                <description>L1 unified cache maintenance operations by VA supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>L1_HARVARD_CACHE_VA</name>
                <description>L1 Harvard cache maintenance operations by VA supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ID_MMFR2</name>
            <description>Memory Model Features Register 2</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x01240000</reset>
            <ID>15,0,1,0,6</ID>
            <fields>
              <field>
                <name>HW_ACCESS</name>
                <description>Hardware access supported</description>
                <bitOffset>28</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>WFI_STALL</name>
                <description>Wait For Interrupt (WFI) stalling supported</description>
                <bitOffset>24</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>MEM_BARRIER</name>
                <description>Memory Barrier Operations supported</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>UNIFIED_TLB</name>
                <description>Unified TLB maintenance operations supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>HARVARD_TLB</name>
                <description>Harvard TLB maintenance operations supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>L1_HARVARD_RANGE</name>
                <description>L1 Hardvard range supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>L1_HBP</name>
                <description>L1 Harvard background prefetch operations supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>L1_HFP</name>
                <description>L1 Harvard foreground prefetch operations supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ID_MMFR3</name>
            <description>Memory Model Features Register 3</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x02102211</reset>
            <ID>15,0,1,0,7</ID>
            <fields>
              <field>
                <name>SS_SUPPORT</name>
                <description>16 MB supersections supported</description>
                <bitOffset>28</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>PHYS_MEM_SIZE</name>
                <description>Size of physical memory supported by processor caches</description>
                <bitOffset>24</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>COHRERENT_WALK</name>
                <description>Coherent walk supported.  0x1: updates to translation tables do not require a clean to the point of unification to ensure visibility by subsequent translation table walks</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>MAINTENANCE_BC</name>
                <description>Cache, TLB and Branch prediction operations broadcast supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>BP_MAINTAIN</name>
                <description>Branch Predictor (BP) maintenance operations supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>CACHE MAINTENANCE_SW</name>
                <description>Set/Way cache maintenance supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>CACHE_MAINTENANCE_MVA</name>
                <description>MVA cache maintenance supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ID_ISAR0</name>
            <description>Instruction Set Attributes Register 0</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x02101110</reset>
            <ID>15,0,2,0,0</ID>
            <fields>
              <field>
                <name>DIVIDE_INSTR</name>
                <description>Integer hardware divide supported</description>
                <bitOffset>24</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>DBG_INSTR</name>
                <description>BKPT instruction supported</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>CP_INSTRS</name>
                <description>CP14, CP15 and VFPv4 Coprocessor instructions supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>CAB_INSTRS</name>
                <description>Compare-and-branch instructions CBZ and CBNZ supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>BF_INSTRS</name>
                <description>Bit-Field instructions BFC, BFI, SBFX and UBFX supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>BC_INSTRS</name>
                <description>Bit count instruction CLZ supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SWAP_INSTRS</name>
                <description>Swap instructions SWP and SWPB supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ID_ISAR1</name>
            <description>Instruction Set Attributes Register 1</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x13112111</reset>
            <ID>15,0,2,0,1</ID>
            <fields>
              <field>
                <name>JAZELLE_INSTRS</name>
                <description>Jazelle instructions supported</description>
                <bitOffset>28</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>INTERW_INSTRS</name>
                <description>ARM/Thumb interworking instructions supported</description>
                <bitOffset>24</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>IMM_INSTRS</name>
                <description>Special immediate-generating instructions supported</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>ITE_INSTRS</name>
                <description>Thumb IT blocks supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>EXTEND_INSTRS</name>
                <description>Extend instructions supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>EXCPT2_INSTRS</name>
                <description>Exception2-instructions SRS, RFE and CPS supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>EXCPT1_INSTRS</name>
                <description>Exception1-instructions LDM(2), LDM(3) and STM(2) supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>ENDIAN_INSTRS</name>
                <description>BE8 endian change supported with SETEND</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ID_ISAR2</name>
            <description>Instruction Set Attributes Register 2</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x21232041</reset>
            <ID>15,0,2,0,2</ID>
            <fields>
              <field>
                <name>REV_INSTRS</name>
                <description>Reversal instructions REV, REV16, REVSH and RBIT supported</description>
                <bitOffset>28</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>PSR_INSTRS</name>
                <description>PSR instructions MRS and MSR and exception return data-processing instructions supported</description>
                <bitOffset>24</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>MULT_U_INSTRS</name>
                <description>Long multiply instructions and UMAAL supported</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>MULT_S_INSTRS</name>
                <description>Signed-Multiply instructions and Q flag in PSRs supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>MULT_INSTRS</name>
                <description>Multiply instructions MUL, MLA and MLS supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>MAI_INSTRS</name>
                <description>Multi-access interruptible instructions (MAI) supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>MEM_HINT_INSTRS</name>
                <description>Memory hint instructions PLD, PLI and PLDW supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>LS_INSTRS</name>
                <description>Load and Store instructions LDRD and STRD supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ID_ISAR3</name>
            <description>Instruction Set Attributes Register 3</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x11112131</reset>
            <ID>15,0,2,0,3</ID>
            <fields>
              <field>
                <name>THUMB2_INSTRS</name>
                <description>Thumb-2 Executable Environment Extension instructions supported</description>
                <bitOffset>28</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>TRUE_NOP_INSTR</name>
                <description>True no-operation instruction NOP32 supported</description>
                <bitOffset>24</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>THUMB_CPY_INSTRS</name>
                <description>Thumb copy instructions MOV(3) and CPY alias supported</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>TBL_BRANCH_INSTRS</name>
                <description>Thumb table branch instruction TBB and TBH supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SYNC_PRIM_INSTRS</name>
                <description>Synchronization Primitive Instructions Supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SVC_INSTRS</name>
                <description>SVC instructions supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SIMD_INSTRS</name>
                <description>All SIMD instructions supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SAT_INSTRS</name>
                <description>Saturate instructions QADD, QDADD, QDSUB, QSUB and Q flag in PSRs supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ID_ISAR4</name>
            <description>Instruction Set Attributes Register 4</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x00011142</reset>
            <ID>15,0,2,0,4</ID>
            <fields>
              <field>
                <name>SWP_FRAC</name>
                <description>Memory System Locking the bus for SWP or SWPB instructions Supported</description>
                <bitOffset>28</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>PSR_M_INSTRS</name>
                <description>Indicates together with ID_ISAR3 which Synchronization Primitive instructions are supported</description>
                <bitOffset>25</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SYNC_PRIMITIVE_INSTRS</name>
                <description>Synchronization primitive instructions supported</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>BARRIER_INSTRS</name>
                <description>Barrier instructions DMB, DSB and ISB supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SMC_INSTRS</name>
                <description>Secure Monitor Call (SMC) instructions supported</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>WRITE_BACK_INSTRS</name>
                <description>All defined write-back addressing modes supported</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>WITH_SHIFT_INSTRS</name>
                <description>Immediate and register control shifted operations supported</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>UNPRIVILEGED_INSTRS</name>
                <description>Unpriviledges load/store instructions LDRT and STRT supported</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ID_ISAR5</name>
            <!--no fields -->
            <description>Instruction Set Attributes Register 5</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x00000000</reset>
            <ID>15,0,2,0,5</ID>
          </register>
          <register>
            <name>CCSIDR</name>
            <description>Cache Size Identification Register</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <ID>15,0,0,1,0</ID>
            <fields>
              <field>
                <name>WT</name>
                <description>Write-Through supported</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>WB</name>
                <description>Write-Back supported for (0x1) L1 data cache, (0x0) L1 instruction cache</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>RA</name>
                <description>Cache read allocation supported</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>WA</name>
                <description>Write allocation supported for: 1: L1 data cache, 0: L1 instruction cache</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NUM_SETS</name>
                <description>Number of cache sets</description>
                <bitOffset>13</bitOffset>
                <bitWidth>15</bitWidth>
              </field>
              <field>
                <name>ASSOCIATIVITY</name>
                <description>Cache associativity. 0x3: 4-way data cache, 0x1: 2-way instruction cache</description>
                <bitOffset>3</bitOffset>
                <bitWidth>10</bitWidth>
              </field>
              <field>
                <name>LINE_SIZE</name>
                <description>Number of words per line.  0x1: eight words per line</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CLIDR</name>
            <description>Cache Level ID Register</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x0A200023</reset>
            <ID>15,0,0,1,1</ID>
            <fields>
              <field>
                <name>LoUU</name>
                <description>Level of Unification Uniprocessor</description>
                <bitOffset>27</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>LoC</name>
                <description>Level of Coherency</description>
                <bitOffset>24</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>LoUIS</name>
                <description>Level of Unification Inner Shared</description>
                <bitOffset>21</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CTYPE_7</name>
                <description>Type of Cache implemented at Level 7</description>
                <bitOffset>18</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CTYPE_6</name>
                <description>Type of Cache implemented at Level 6</description>
                <bitOffset>15</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CTYPE_5</name>
                <description>Type of Cache implemented at Level 5</description>
                <bitOffset>12</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CTYPE_4</name>
                <description>Type of Cache implemented at Level 4</description>
                <bitOffset>9</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CTYPE_3</name>
                <description>Type of Cache implemented at Level 3</description>
                <bitOffset>6</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CTYPE_2</name>
                <description>Type of Cache implemented at Level 2</description>
                <bitOffset>3</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CTYPE_1</name>
                <description>Type of Cache implemented at Level 1</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>AIDR</name>
            <!--no fields-->
            <description>Auxiliary ID Register</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x00000000</reset>
            <ID>15,0,0,1,7</ID>
          </register>
          <register>
            <name>CSSELR</name>
            <description>Cache Size Selection Register</description>
            <groupName>ID Regs</groupName>
            <access>RW</access>
            <ID>15,0,0,2,0</ID>
            <fields>
              <field>
                <name>LEVEL</name>
                <description>Cache level selected</description>
                <bitOffset>1</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>InD</name>
                <description>Selected Cache. 0x1: instruction cache,  0x0: data cache</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>VPIDR</name>
            <!--no fields-->
            <description>Virtualization Processor ID Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,0,0,4,0</ID>
          </register>
          <register>
            <name>VMPIDR</name>
            <!--no fields-->
            <description>Virtualization Multiprocessor ID Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,0,0,4,5</ID>
          </register>
          <!--c1 registers-->
          <register>
            <name>SCTLR</name>
            <description>System Control Register</description>
            <groupName>Virtual Memory Control</groupName>
            <access>RW</access>
            <reset>0x00C50878</reset>
            <ID>15,1,0,0,0</ID>
            <fields>
              <field>
                <name>TE</name>
                <description>Thumb exception enable bit. 0: exceptions including reset are handled in ARM state, 1: exceptions including reset are handled in Thumb state</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>AFE</name>
                <description>Access Flag Enable bit. 0: full access permissions behaviour, 1: simplified access permissions behaviour</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TRE</name>
                <description>TEX remap enable bit</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>EE</name>
                <description>Determines the value the CPSR E bit is set to on an exception. 0: set to 0, little-endian, 1: set to 1, big endian</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>UWXN</name>
                <description>Regions with unprivileged write permission are forced to be XN for accesses from software executing at PL1</description>
                <bitOffset>20</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>WXN</name>
                <description>Regions with write permissions are forced to be XN</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Vectors bit. 0: normal exception vectors, 1: high exception vectors</description>
                <bitOffset>13</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>Instruction caching at any available cache level enabled</description>
                <bitOffset>12</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Z</name>
                <description>Branch Predictions enabled</description>
                <bitOffset>11</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Data caching enabled</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>A</name>
                <description>Strict alignment fault checking enabled</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>M</name>
                <description>MMU enabled</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ACTLR</name>
            <description>Auxiliary Control Register</description>
            <groupName>Other System Control</groupName>
            <access>RW</access>
            <reset>0x00000006</reset>
            <ID>15,1,0,0,1</ID>
            <fields>
              <field>
                <name>SMP</name>
                <description>Coherent Requests Enabled</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>ASSE</name>
                <description>ACE STREX Signaling Enable</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>L2PF</name>
                <description>L2 Prefetch Enabled</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>L1PF</name>
                <description>L1 Prefetch Enabled</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CPACR</name>
            <description>Coprocessor Access Control Register</description>
            <groupName>Other System Control</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,1,0,0,2</ID>
            <fields>
              <field>
                <name>ASEDIS</name>
                <description>Disable Advanced SIMD Extension functionality</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CP11</name>
                <description>Defines access permission for coprocessor 11  00: Access denied  01: Priviledged mode access only  11: Priviledged and User mode</description>
                <bitOffset>22</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>CP10</name>
                <description>Defines access permissions for coprocessor 10  00: Access denied  01: Priviledged mode access only  11: Priviledged and User mode</description>
                <bitOffset>20</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>SCR</name>
            <description>Secure Configuration Register</description>
            <groupName>Security Extensions</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,1,1,0,0</ID>
            <fields>
              <field>
                <name>SIF</name>
                <description>Secure state insruction fetches from non-secure memory are not permitted</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>HCE</name>
                <description>HVC instruction enabled in non-secure PL1 mode</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>SCD</name>
                <description>Disable Secure Monitor Call (SMC) instructions in non-secure-state</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>nET</name>
                <description>Early Termination of Data Operations Disabled</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>AW</name>
                <description>Enable modifications to the A bit in the CPSR in the non-secure state</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>FW</name>
                <description>Enable modification of the F bit in the CPSR in the non-secure state</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>EA</name>
                <description>External abort behaviour for secure and non-secure states  0: branch to abort mode on an external abort exception  1: branch to monitor mode on an external abort exception</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>FIQ</name>
                <description>Determines FIQ behaviour for secure and non-secure states  0: branch to FIQ mode on an FIQ exception  1: branch to monitor mode on an FIQ exception</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IRQ</name>
                <description>Determines the IRQ behaviour for secure and non-secure states  0: branch to FIQ mode on an FIQ excpetion  1: branch to monitor mode on an FIQ exception</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NS</name>
                <description>For modes other than Monitor mode, indicates weather the processor is in secure or non-secure state  0: secure state  1: non-secure state</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>SDER</name>
            <description>Secure Debug Enable Register</description>
            <groupName>Security Extensions</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,1,1,0,1</ID>
            <fields>
              <field>
                <name>SUNIDEN</name>
                <description>Secure user non-invasive debug enable</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>SUIDEN</name>
                <description>Secure user invasive debug enable</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>NSACR</name>
            <description>Non-secure Access Control Register</description>
            <groupName>Security Extensions</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,1,1,0,2</ID>
            <fields>
              <field>
                <name>NS_SMP</name>
                <description>The SMP bit of the Auxilary Control Register ist writeable in non-secure state</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NS_L2ERR</name>
                <description>L2 ACI asynchroneous error bits of L2ECR are writable in non-secure state</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NS_ACTLR_PF_WRITE</name>
                <description>A write to ACTLR.PF_ENABLE in Non-secure state is accepted</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NSASEDIS</name>
                <description>Disable non-secure advanced SIMD extension functionality</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NSD32DIS</name>
                <description>Disable non-secure use of D16-D31 of the VFP register file</description>
                <bitOffset>14</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CP11</name>
                <description>Determines permissions to access coprocessor 11 in the non-secure state. 0: secure access only, 1: secure or non-secure access</description>
                <bitOffset>11</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CP10</name>
                <description>Determines permissions to access coprocessor 10 in the non-secure state. 0: secure access only, 1: secure or non-secure access</description>
                <bitOffset>10</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>HSCTLR</name>
            <description>Hyp System Control Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,1,0,4,0</ID>
            <fields>
              <field>
                <name>TE</name>
                <description>Thumb Exception Enable. 0: exceptions taken in ARM state, 1: exceptions taken in thumb state</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>EE</name>
                <description>Exception Endianess. 0: little endian, 1: big endian</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>WXN</name>
                <description>Hyp translations that permit write are forced to be execute never (XN)</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>Instruction caches enabled for memory accesses made in HYP mode</description>
                <bitOffset>12</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Data and unified caches enabled for memory access made in HYP mode</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>A</name>
                <description>Alignment fault checking enabled for memory access made in HYP mode</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>M</name>
                <description>MMU stage 1 address translations enabled for memory access in HYP mode</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>HACTLR</name>
            <!--RAZ-->
            <description>Hyp Auxiliary Configuration Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,1,0,4,1</ID>
          </register>
          <register>
            <name>HCR</name>
            <description>Hyp Configuration Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,1,1,4,0</ID>
            <fields>
              <field>
                <name>TRVM</name>
                <description>Trap Read of Virtual Memory Controls</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TGE</name>
                <description>Trap General Exceptions</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TVM</name>
                <description>Trap Virtual Memory Controls</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TTLB</name>
                <description>Trap TLB maintenance instructions</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TPU</name>
                <description>Trap Cache maintenance instructions to point of unification</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TPC</name>
                <description>Trap Data/Unified cache maintenance operations to point of cohrerency</description>
                <bitOffset>23</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TSW</name>
                <description>Trap Data/Unified Cache maintenance operations by Set/Way</description>
                <bitOffset>22</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TAC</name>
                <description>Trap ACTLR accesses</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TIDCP</name>
                <description>Trap Implementation Dependent Functionality</description>
                <bitOffset>20</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TSC</name>
                <description>Trap SMC instruction</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TID3</name>
                <description>Trap ID Group 3</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TID2</name>
                <description>Trap ID Group 2</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TID1</name>
                <description>Trap ID Group 1</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TID0</name>
                <description>Trap ID Group 0</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TWE</name>
                <description>WFE instruction executed in non-secure EL1 or EL0 is trapped to EL2</description>
                <bitOffset>14</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TWI</name>
                <description>WFI instruction executed in non-secure EL1 or EL0 is trapped to EL2</description>
                <bitOffset>13</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DC</name>
                <description>Default Cacheable</description>
                <bitOffset>12</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>BSU</name>
                <description>Barrier Shareability Upgrade</description>
                <bitOffset>11</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>FB</name>
                <description>Force Broadcast</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>VA</name>
                <description>Virtual Asynchroneous Abort exception</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>VI</name>
                <description>Virtual IRQ exception</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>VF</name>
                <description>Virtual FIQ exception</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>AMO</name>
                <description>Asynchroneous abort mask override</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IMO</name>
                <description>IRQ Mask Override</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>FMO</name>
                <description>FIQ Mask Override</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>PTW</name>
                <description>Protected Table Walk</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>SWIO</name>
                <description>Set/Way Invalidation Override</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>VM</name>
                <description>Second stage of Translation enabled</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>HDCR</name>
            <description>Hyp Debug Control Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <reset>0x00000006</reset>
            <ID>15,1,1,4,1</ID>
            <fields>
              <field>
                <name>TDRA</name>
                <description>Trap Debug ROM Accesses</description>
                <bitOffset>11</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TDOSA</name>
                <description>Trap Debug OS-releated Register Accesses</description>
                <bitOffset>10</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TDA</name>
                <description>Trap Debug Accesses</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TDE</name>
                <description>Trap Debug Exceptions</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>HPME</name>
                <description>Hypervisor Performance Monitor Enable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TPM</name>
                <description>Trap Performance Monitor Accesses</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TPMCR</name>
                <description>Trap Performance Monitor Control Register Accesses</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>HPMN</name>
                <description>Hyp Performance Monitor Count</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>HCPTR</name>
            <description>Hyp Coprocessor Trap Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <reset>0x000033FF</reset>
            <ID>15,1,1,4,2</ID>
            <fields>
              <field>
                <name>TCPAC</name>
                <description>Trap Coprocessor Access Control Register Accesses</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TTA</name>
                <description>Trap Trace Access</description>
                <bitOffset>20</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TASE</name>
                <description>Trap Advanced SIMD Extension</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TCP11</name>
                <description>Trap valid Non-secure accesses to CP11 to Hyp mode</description>
                <bitOffset>11</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TCP10</name>
                <description>Trap valid Non-secure accesses to CP10 to Hyp mode</description>
                <bitOffset>10</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>HSTR</name>
            <description>Hyp System Trap Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,1,1,4,3</ID>
            <fields>
              <field>
                <name>TTEE</name>
                <description>Trap T32EE</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>T15</name>
                <description>Trap valid Non-secure accesses to coprocessor primary register CRn=15 to Hyp mode</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>T13</name>
                <description>Trap valid Non-secure accesses to coprocessor primary register CRn=13 to Hyp mode</description>
                <bitOffset>13</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>T12</name>
                <description>Trap valid Non-secure accesses to coprocessor primary register CRn=12 to Hyp mode</description>
                <bitOffset>12</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>T11</name>
                <description>Trap valid Non-secure accesses to coprocessor primary register CRn=11 to Hyp mode</description>
                <bitOffset>11</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>T10</name>
                <description>Trap valid Non-secure accesses to coprocessor primary register CRn=10 to Hyp mode</description>
                <bitOffset>10</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>T9</name>
                <description>Trap valid Non-secure accesses to coprocessor primary register CRn=9 to Hyp mode</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>T8</name>
                <description>Trap valid Non-secure accesses to coprocessor primary register CRn=8 to Hyp mode</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>T7</name>
                <description>Trap valid Non-secure accesses to coprocessor primary register CRn=7 to Hyp mode</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>T6</name>
                <description>Trap valid Non-secure accesses to coprocessor primary register CRn=6 to Hyp mode</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>T5</name>
                <description>Trap valid Non-secure accesses to coprocessor primary register CRn=5 to Hyp mode</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>T3</name>
                <description>Trap valid Non-secure accesses to coprocessor primary register CRn=3 to Hyp mode</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>T2</name>
                <description>Trap valid Non-secure accesses to coprocessor primary register CRn=2 to Hyp mode</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>T1</name>
                <description>Trap valid Non-secure accesses to coprocessor primary register CRn=1 to Hyp mode</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>T0</name>
                <description>Trap valid Non-secure accesses to coprocessor primary register CRn=0 to Hyp mode</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>HACR</name>
            <!--RAZ-->
            <description>Hyp Auxiliary Configuration Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,1,1,4,7</ID>
          </register>
          <!--c2 registers-->
          <register>
            <name>TTBR0</name>
            <description>Translation Table Base Register 0</description>
            <groupName>Virtual Memory Control</groupName>
            <access>RW</access>
            <ID>15,2,0,0,0</ID>
            <fields>
              <field>
                <name>TTB_0</name>
                <description>Pointer to the level one translation table</description>
                <bitOffset>31</bitOffset>
                <bitWidth>18</bitWidth>
              </field>
              <field>
                <name>IRGN[0]</name>
                <description>Used with bit 0, IRGN[1], to describe inner cacheability</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>RGN</name>
                <description>Outer Cacheable attributes for translation table walking</description>
                <bitOffset>4</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>S</name>
                <description>Translation table walk to 0: non-shared memory, 1: shared memory</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IRGN[1]</name>
                <description>Indicates inner cacheability for the translation table walk</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>TTBR1</name>
            <description>Translation Table Base Register 1</description>
            <groupName>Virtual Memory Control</groupName>
            <access>RW</access>
            <ID>15,2,0,0,1</ID>
            <fields>
              <field>
                <name>TTB_1</name>
                <description>Pointer to the level one translation table</description>
                <bitOffset>7</bitOffset>
                <bitWidth>18</bitWidth>
              </field>
              <field>
                <name>IRGN[0]</name>
                <description>Used with bit 0, IRGN[1], to describe inner cacheability</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>RGN</name>
                <description>Outer Cacheable attributes for translation table walking</description>
                <bitOffset>4</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>S</name>
                <description>Translation table walk to 0: non-shared memory, 1: shared memory</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IRGN[1]</name>
                <description>Indicates inner cacheability for the translation table walk</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>TTBCR</name>
            <description>Translation Table Base Control Register</description>
            <groupName>Virtual Memory Control</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,2,0,0,2</ID>
            <fields>
              <field>
                <name>PD1</name>
                <description>Translation table walk on TLB miss disable when using TTBR1</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>PD0</name>
                <description>Translation table walk on TLB miss disable when using TTBR0</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Boundary Size of TTBR0</description>
                <bitOffset>2</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>HTCR</name>
            <!--RAZ-->
            <description>Hyp Translation Control Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,2,0,4,2</ID>
          </register>
          <register>
            <name>VTCR</name>
            <description>Virtualization Translation Control Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,2,1,4,2</ID>
            <fields>
              <field>
                <name>PS</name>
                <description>Physical Address Size</description>
                <bitOffset>15</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>TG0</name>
                <description>Granule Size for the corresponding TTBR0_ELx</description>
                <bitOffset>14</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>SHO</name>
                <description>Shareability attribute for memory associated with translation table walks using TTBR0</description>
                <bitOffset>12</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>ORGN0</name>
                <description>Outer cacheability attribute for memory associated with translation table walks using TTBR0</description>
                <bitOffset>10</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>IRGN0</name>
                <description>Inner cacheability attribute for memory associated with translation table walks using TTBR0</description>
                <bitOffset>8</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>SL0</name>
                <description>Starting level of the VTCR_EL2 addressed region</description>
                <bitOffset>6</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>T0SZ</name>
                <description>Size offset of the memory region addressed by TTBR0</description>
                <bitOffset>0</bitOffset>
                <bitWidth>6</bitWidth>
              </field>
            </fields>
          </register>
          <!--c3 registers-->
          <register>
            <name>DACR</name>
            <description>Domain Access Control Register</description>
            <groupName>Virtual Memory Control</groupName>
            <access>RW</access>
            <ID>15,3,0,0,0</ID>
            <fields>
              <field>
                <name>D0</name>
                <description>Domain 0 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>0</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D1</name>
                <description>Domain 1 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>2</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D2</name>
                <description>Domain 2 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>4</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D3</name>
                <description>Domain 3 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>6</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D4</name>
                <description>Domain 4 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>8</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D5</name>
                <description>Domain 5 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>10</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D6</name>
                <description>Domain 6 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>12</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D7</name>
                <description>Domain 7 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>14</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D8</name>
                <description>Domain 8 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>16</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D9</name>
                <description>Domain 9 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>18</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D10</name>
                <description>Domain 10 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>20</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D11</name>
                <description>Domain 11 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>22</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D12</name>
                <description>Domain 12 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>24</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D13</name>
                <description>Domain 13 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>26</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D14</name>
                <description>Domain 14 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>28</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>D15</name>
                <description>Domain 15 access permissions. 00: no access, 01: client access, 11: manager access</description>
                <bitOffset>30</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
            </fields>
          </register>
          <!--c5 registers-->
          <register>
            <name>DFSR</name>
            <description>Data Fault Status Register</description>
            <groupName>Fault Handling</groupName>
            <access>RW</access>
            <ID>15,5,0,0,0</ID>
            <fields>
              <field>
                <name>CM</name>
                <description>Abort caused by a cache maintenance operation</description>
                <bitOffset>13</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>ExT</name>
                <description>External Abort Qualifier</description>
                <bitOffset>12</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>WnR</name>
                <description>IType of access that caused the abort. 0: read, 1: write</description>
                <bitOffset>11</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>FS[4]</name>
                <description>Bit 4 of the Fault Status field</description>
                <bitOffset>10</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DOMAIN</name>
                <description>The domain (D15-D0) of the fault address</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>FAULT_STATUS</name>
                <description>Type of Fault generated</description>
                <bitOffset>0</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>IFSR</name>
            <description>Instruction Fault Status Register</description>
            <groupName>Fault Handling</groupName>
            <access>RW</access>
            <ID>15,5,0,0,1</ID>
            <fields>
            <field>
              <name>ExT</name>
              <description>External abort qualifier  0: external abort marked as DECERR  1: external abort marked as SLVERR</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FS[4]</name>
              <description>Bit 4 of the Fault Status field</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LPAE</name>
              <description>On taking a Data Abort exception, this bit is set to 0 to indicate use of the Short-descriptor translation table formats</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>&gt;
            <field>
              <name>FAULT_STATUS</name>
              <description>Type of Fault generated</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
          </register>
          <register>
            <name>ADFSR</name>
            <!--RAZ-->
            <description>Auxilary Data Fault Status Register</description>
            <groupName>Fault Handling</groupName>
            <reset>0x00000000</reset>
            <access>RW</access>
            <ID>15,5,1,0,0</ID>
          </register>
          <register>
            <name>AIFSR</name>
            <!--RAZ-->
            <description>Auxilary Instruction Fault Status Register</description>
            <groupName>Fault Handling</groupName>
            <reset>0x00000000</reset>
            <access>RW</access>
            <ID>15,5,1,0,1</ID>
          </register>
          <register>
            <name>HADFSR</name>
            <!--RAZ-->
            <description>Hyp Auxiliary Data Fault Status Syndrome Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,5,1,4,0</ID>
          </register>
          <register>
            <name>HAIFSR</name>
            <!--RAZ-->
            <description>Hyp Auxiliary Instruction Fault Status Syndrome Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,5,1,4,1</ID>
          </register>
          <register>
            <name>HSR</name>
            <!--no fields-->
            <description>Hyp Syndrome Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,5,2,4,0</ID>
            <fields>
              <field>
                <name>EC</name>
                <description>Exception Class</description>
                <bitOffset>26</bitOffset>
                <bitWidth>6</bitWidth>
              </field>
              <field>
                <name>IL</name>
                <description>Size of instruction that has been trapped to Hyp mode</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>ISS</name>
                <description>Instruction-specific Syndrome</description>
                <bitOffset>0</bitOffset>
                <bitWidth>25</bitWidth>
              </field>
            </fields>
          </register>
          <!--c6 registers-->
          <register>
            <name>DFAR</name>
            <!--no fields-->
            <description>Data Fault Address Register</description>
            <groupName>Fault Handling</groupName>
            <access>RW</access>
            <ID>15,6,0,0,0</ID>
          </register>
          <register>
            <name>IFAR</name>
            <!--no fields-->
            <description>Instruction Fault Address Register</description>
            <groupName>Fault Handling</groupName>
            <access>RW</access>
            <ID>15,6,0,0,2</ID>
          </register>
          <register>
            <name>HDFAR</name>
            <!--no fields-->
            <description>Hyp Data Fault Address Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,6,0,4,0</ID>
          </register>
          <register>
            <name>HIFAR</name>
            <!--no fields-->
            <description>Hyp Instruction Fault Address Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,6,0,4,2</ID>
          </register>
          <register>
            <name>HPFAR</name>
            <description>Hyp IPA Fault Address Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,6,0,4,4</ID>
            <fields>
              <field>
                <name>FIPA</name>
                <description>Bits [39:12] of the faulting intermediate physical address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>12</bitWidth>
              </field>
            </fields>
          </register>
          <!--c7 Registers-->
          <register>
            <name>NOP</name>
            <!--no fields-->
            <description>None</description>
            <groupName>Misc</groupName>
            <access>WO</access>
            <ID>15,7,0,0,4</ID>
          </register>
          <register>
            <name>ICIALLUIS</name>
            <!--no fields-->
            <description>Cache Operations Register: Invalidate entire instruction cache inner shareable</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,1,0,0</ID>
          </register>
          <register>
            <name>BPIALLIS</name>
            <!--no fields-->
            <description>Cache Operations Register: Invalidate entire branch predictor array inner sharable</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,1,0,6</ID>
          </register>
          <register>
            <name>PAR</name>
            <!--no fields-->
            <description>Physical Address Register</description>
            <groupName>Address Translation</groupName>
            <access>RW</access>
            <ID>15,7,4,0,0</ID>
          </register>
          <register>
            <name>ICIALLU</name>
            <!--no fields-->
            <description>Cache Operations Register: invalidate all instruction caches to PoU. Also flushes branch target cache</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,5,0,0</ID>
          </register>
          <register>
            <name>ICIMVAU</name>
            <!--no fields-->
            <description>Cache Operations Register: invalidate instruction cache by VA to PoU</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,5,0,1</ID>
          </register>
          <register>
            <name>CP15ISB</name>
            <!--no fields-->
            <description>None</description>
            <groupName>Misc</groupName>
            <access>WO</access>
            <ID>15,7,5,0,4</ID>
          </register>
          <register>
            <name>BPIALL</name>
            <!--no fields-->
            <description>Cache Operations Register: invalidate entire branch predictor array</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,5,0,6</ID>
          </register>
          <register>
            <name>BPIMVA</name>
            <!--no fields-->
            <description>Cache Operations Register: invalidate VA from branch predictor array</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,5,0,7</ID>
          </register>
          <register>
            <name>DCIMVAC</name>
            <!--no fields-->
            <description>Cache Operations Register: invalidate data cache line by VA to PoC</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,6,0,1</ID>
          </register>
          <register>
            <name>DCISW</name>
            <!--no fields-->
            <description>Cache Operations Register: invalidate data cache line by Set/Way</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,6,0,2</ID>
          </register>
          <register>
            <name>ATS1CPR</name>
            <!--no fields-->
            <description>Address Translation Operations: Stage 1 current state EL1 read</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,0</ID>
          </register>
          <register>
            <name>ATS1CPW</name>
            <!--no fields-->
            <description>Address Translation Operations: State 1 current state EL1 write</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,1</ID>
          </register>
          <register>
            <name>ATS1CUR</name>
            <!--no fields-->
            <description>Address Translation Operations: Stage 1 current state unpriviledged read</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,2</ID>
          </register>
          <register>
            <name>ATS1CUW</name>
            <!--no fields-->
            <description>Address Translation Operations: Stage 1 current state unpriviledged write</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,3</ID>
          </register>
          <register>
            <name>ATS12NSOPR</name>
            <!--no fields-->
            <description>Address Translation Operations: Stages 1 and 2 Non-secure EL1 read</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,4</ID>
          </register>
          <register>
            <name>ATS12NSOPW</name>
            <!--no fields-->
            <description>Address Translation Operations: Stages 1 and 2 non-secure EL1 write</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,5</ID>
          </register>
          <register>
            <name>ATS12NSOUR</name>
            <!--no fields-->
            <description>Address Translation Operations: Stages 1 and 2 non-secure unpriviledged read</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,6</ID>
          </register>
          <register>
            <name>ATS12NSOUW</name>
            <!--no fields-->
            <description>Address Translation Operations: Stages 1 and 2 non-secure unpriviledged write</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,7</ID>
          </register>
          <register>
            <name>DCCMVAC</name>
            <!--no fields-->
            <description>Cache Operations Register: clean data cache line to PoC by VA</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,10,0,1</ID>
          </register>
          <register>
            <name>DCCSW</name>
            <!--no fields-->
            <description>Cache Operations Register: clean data cache line by Set/Way</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,10,0,2</ID>
          </register>
          <register>
            <name>CP15DSB</name>
            <!--no fields-->
            <description>Data Synchronization Barrier</description>
            <groupName>Misc</groupName>
            <access>WO</access>
            <ID>15,7,10,0,4</ID>
          </register>
          <register>
            <name>CP15DMB</name>
            <!--no fields-->
            <description>Data Memory Barrier</description>
            <groupName>Misc</groupName>
            <access>WO</access>
            <ID>15,7,10,0,5</ID>
          </register>
          <register>
            <name>DCCMVAU</name>
            <!--no fields-->
            <description>Cache Operations Register: clean data or unified cache line by VA to PoU</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,11,0,1</ID>
          </register>
          <register>
            <name>NOP</name>
            <!--RAZ-->
            <description>No Operations Register</description>
            <groupName>Misc</groupName>
            <access>RO</access>
            <ID>15,7,13,0,1</ID>
          </register>
          <register>
            <name>DCCIMVAC</name>
            <!--no fields-->
            <description>Cache Operations Register: clean data or unified cache line by VA to PoU</description>
            <groupName>Cache</groupName>
            <access>RO</access>
            <ID>15,7,14,0,1</ID>
          </register>
          <register>
            <name>DCCISW</name>
            <!--no fields-->
            <description>Cache Operations Register: clean and invalidate data cache line by Set/Way</description>
            <groupName>Cache</groupName>
            <access>RO</access>
            <ID>15,7,14,0,2</ID>
          </register>
          <register>
            <name>ATS1HR</name>
            <!--no fields-->
            <description>Address Translation Operations: Stage 1 Hyp Mode Read</description>
            <groupName>Address Translation</groupName>
            <access>RO</access>
            <ID>15,7,8,4,0</ID>
          </register>
          <register>
            <name>ATS1HW</name>
            <!--no fields-->
            <description>Address Translation Operations: Stage 1 Hyp Mode Write</description>
            <groupName>Address Translation</groupName>
            <access>RO</access>
            <ID>15,7,8,4,1</ID>
          </register>
          <!--c8 Registers-->
          <register>
            <name>TLBIALLIS</name>
            <!--no fields-->
            <description>Invalidate entire unified TLB Inner Shareable</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,3,0,0</ID>
          </register>
          <register>
            <name>TLBIMVAIS</name>
            <!--no fields-->
            <description>Invalidate Unified TLB entry by VA Inner Shareable</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,3,0,1</ID>
          </register>
          <register>
            <name>TLBIASIDIS</name>
            <!--no fields-->
            <description>Invalidate Unified TLB entry by VA all ASID Inner Shareable</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,3,0,2</ID>
          </register>
          <register>
            <name>TLBIMVAAIS</name>
            <!--no fields-->
            <description>Invalidate Unified TLB entry by VA all ASID Inner Shareable</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,3,0,3</ID>
          </register>
          <register>
            <name>ITLBIALL</name>
            <!--no fields-->
            <description>Invalidate Unified TLB entry by VA all ASID Inner Shareable</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,5,0,0</ID>
          </register>
          <register>
            <name>ITLBIMVA</name>
            <!--no fields-->
            <description>Invalidate Unified TLB entry by VA all ASID Inner Shareable</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,5,0,1</ID>
          </register>
          <register>
            <name>ITLBIASID</name>
            <!--no fields-->
            <description>Invalidate Unified TLB entry by VA all ASID Inner Shareable</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,5,0,2</ID>
          </register>
          <register>
            <name>DTLBIALL</name>
            <!--no fields-->
            <description>Invalidate Unified TLB entry by VA all ASID Inner Shareable</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,6,0,0</ID>
          </register>
          <register>
            <name>DTLBIMVA</name>
            <!--no fields-->
            <description>Invalidate Unified TLB entry by VA all ASID Inner Shareable</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,6,0,1</ID>
          </register>
          <register>
            <name>DTLBIASID</name>
            <!--no fields-->
            <description>Invalidate Unified TLB entry by VA all ASID Inner Shareable</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,6,0,2</ID>
          </register>
          <register>
            <name>TLBIALL</name>
            <!--no fields-->
            <description>Table Maintenance Operations: Invalifate entire unified TLB</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,7,0,0</ID>
          </register>
          <register>
            <name>TLBIMVA</name>
            <!--no fields-->
            <description>Table Maintenance Operations: Invalidate Unified TLB by VA</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,7,0,1</ID>
          </register>
          <register>
            <name>TLBIASID</name>
            <!--no fields-->
            <description>Table Maintenance Operations: Invalidate TLB entries by ASID match</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,7,0,2</ID>
          </register>
          <register>
            <name>TLBIMVAA</name>
            <!--no fields-->
            <description>Table Maintenance Operations: Invalidate TLB entries by VA All ASID</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,7,0,3</ID>
          </register>
          <register>
            <name>TLBIALLHIS</name>
            <!--no fields-->
            <description>Table Maintenance Operations: Invalidate TLB entries by VA All ASID</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,3,4,0</ID>
          </register>
          <register>
            <name>TLBIMVAHIS</name>
            <!--no fields-->
            <description>Table Maintenance Operations: Invalidate TLB entries by VA All ASID</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,3,4,1</ID>
          </register>
          <register>
            <name>TLBIALLNSNHIS</name>
            <!--no fields-->
            <description>Table Maintenance Operations: Invalidate TLB entries by VA All ASID</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,3,4,4</ID>
          </register>
          <register>
            <name>TLBIALLH</name>
            <!--no fields-->
            <description>Table Maintenance Operations: Invalidate TLB entries by VA All ASID</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,7,4,0</ID>
          </register>
          <register>
            <name>TLBIMVAH</name>
            <!--no fields-->
            <description>Table Maintenance Operations: Invalidate TLB entries by VA All ASID</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,7,4,1</ID>
          </register>
          <register>
            <name>TLBIALLNSNH</name>
            <!--no fields-->
            <description>Table Maintenance Operations: Invalidate TLB entries by VA All ASID</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,7,4,4</ID>
          </register>
          <!--c9 Registers-->
          <register>
            <name>PMCR</name>
            <description>Performance Monitor Control Register</description>
            <groupName>Performance Monitor</groupName>
            <access>RW</access>
            <reset>0x41D30000</reset>
            <ID>15,9,12,0,0</ID>
            <fields>
              <field>
                <name>IMP</name>
                <description>Implementor Code. 0x41: arm</description>
                <bitOffset>24</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
              <field>
                <name>ID_CODE</name>
                <description>Identification Code</description>
                <bitOffset>16</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
              <field>
                <name>N</name>
                <description>Number of Counters Implemented</description>
                <bitOffset>11</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>DP</name>
                <description>Disable Cycle Counter PMCCNTR in prohibited regions</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>X</name>
                <description>Export of the events from the event bus to an external monitoring block enabled</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>D</name>
                <description>Cycle Count Divider. 0: count every clock cycle when enabled. 1: count every 64th clock cycle when enabled.</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>C</name>
                <description>Cycle Counter Reset</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P</name>
                <description>Reset all Performance Counters, including PMCCNTR</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>E</name>
                <description>Enable All Counters including PMCCNTR</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PMNCNTENSET</name>
            <description>Count Enable Set Register</description>
            <groupName>Performance Monitor</groupName>
            <access>RW</access>
            <ID>15,9,12,0,1</ID>
            <fields>
              <field>
                <name>C</name>
                <description>Cycle Counter Enabled</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P1</name>
                <description>Counter 1 Enabled</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P2</name>
                <description>Counter 0 Enabled</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PMNCNTENCLR</name>
            <description>Count Enable Clear Register</description>
            <groupName>Performance Monitor</groupName>
            <access>RW</access>
            <ID>15,9,12,0,2</ID>
            <fields>
              <field>
                <name>C</name>
                <description>PMCCNTR overflow interrupt clear bit</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P1</name>
                <description>Clear interrupt request on PMC1 overflow</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P2</name>
                <description>Clear interrupt request on PMC0 overflow</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PMOVSR</name>
            <description>Overflow Flag Status Register</description>
            <groupName>Performance Monitor</groupName>
            <access>RW</access>
            <ID>15,9,12,0,3</ID>
            <fields>
              <field>
                <name>C</name>
                <description>Cycle Counter Overflow Flag</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P1</name>
                <description>Counter 1 Overflow Flag</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P2</name>
                <description>Counter 0 Overflow Flag</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PMSWINC</name>
            <description>Software Increment Register</description>
            <groupName>Performance Monitor</groupName>
            <access>WO</access>
            <ID>15,9,12,0,4</ID>
            <fields>
              <field>
                <name>P1</name>
                <description>Increment Counter 1</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P0</name>
                <description>Increment Counter 0</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PMSELR</name>
            <description>Performance Counter Selection Register</description>
            <groupName>Performance Monitor</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,9,12,0,5</ID>
            <fields>
              <field>
                <name>SEL</name>
                <description>Counter select. 0: select counter 0, 1: select counter 1, b11111: access the Cycle Count Filter Control Register.</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PMCEID0</name>
            <description>Common Event Identification Register 0</description>
            <groupName>Performance Monitor</groupName>
            <access>RO</access>
            <reset>0x3BFFF0F3F</reset>
            <ID>15,9,12,0,6</ID>
            <fields>
              <field>
                <name>Event 0x1D</name>
                <description>Bus Cycle</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x1C</name>
                <description>Write to translation table base</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x1B</name>
                <description>Instruction speculatively executed</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x1A</name>
                <description>Local Memory Error</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x19</name>
                <description>Bus Access</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x18</name>
                <description>Level 2 data cache write-back</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x17</name>
                <description>Level 2 data cache refill</description>
                <bitOffset>23</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x16</name>
                <description>Level 1 data cache write-back</description>
                <bitOffset>22</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x15</name>
                <description>Level 1 instruction cache access</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x14</name>
                <description>Data memory access</description>
                <bitOffset>20</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x13</name>
                <description>Predictable branch speculatively executed</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x12</name>
                <description>Cycle</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x11</name>
                <description>Mispredicted or not predicted branch speculatively executed</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x10</name>
                <description>Unaligned Load or Store</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x0F</name>
                <description>Precedure Return</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x0E</name>
                <description>Bus Cycle</description>
                <bitOffset>14</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x0D</name>
                <description>Immediate Branch</description>
                <bitOffset>13</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x0C</name>
                <description>Software change of the PC</description>
                <bitOffset>12</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x0B</name>
                <description>Write to CONTEXTIDR</description>
                <bitOffset>11</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x0A</name>
                <description>Exception return</description>
                <bitOffset>10</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x09</name>
                <description>Exception taken</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x08</name>
                <description>Instruction architecturally executed</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x07</name>
                <description>Store</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x06</name>
                <description>Load</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x05</name>
                <description>Level 1 data TLB refill</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x04</name>
                <description>Level 1 data cache access</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x03</name>
                <description>Level 1 data cache refill</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x02</name>
                <description>Level 1 Instruction TLB refill</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x01</name>
                <description>Level 1 Instruction Cache refill</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>Event 0x00</name>
                <description>Software Increment</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PMCEID1</name>
            <!--no fields-->
            <description>Common Event Identification Register 1</description>
            <groupName>Performance Monitor</groupName>
            <access>RO</access>
            <reset>0x00000000</reset>
            <ID>15,9,12,0,7</ID>
          </register>
          <register>
            <name>PMCCNTR</name>
            <!--no fields-->
            <description>Cycle Count Register</description>
            <groupName>Performance Monitor</groupName>
            <access>RW</access>
            <ID>15,9,13,0,0</ID>
          </register>
          <register>
            <name>PMXEVTYPER</name>
            <groupName>Performance Monitor</groupName>
            <description>Event Type Select Register</description>
            <access>RW</access>
            <ID>15,9,13,0,1</ID>
            <fields>
              <field>
                <name>SEL</name>
                <description>Selected Event Specificator</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PMXEVCNTR</name>
            <!--no fields-->
            <description>Event Count Register. Counts instances of an event selected by PMXEVTYPER</description>
            <groupName>Performance Monitor</groupName>
            <access>RW</access>
            <ID>15,9,13,0,2</ID>
          </register>
          <register>
            <name>PMUSERENR</name>
            <description>User Enable Register</description>
            <groupName>Performance Monitor</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,9,14,0,0</ID>
            <fields>
              <field>
                <name>EN</name>
                <description>User mode enable bit.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PMINTENSET</name>
            <description>Interrupt Enable Set Register</description>
            <groupName>Performance Monitor</groupName>
            <access>RW</access>
            <ID>15,9,14,0,1</ID>
            <fields>
              <field>
                <name>C</name>
                <description>PMCCNTR overflow interrupt request enable.</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P1</name>
                <description>PMC1 overflow interrupt request enable.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P0</name>
                <description>PMC0 overflow interrupt request enable.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PMINTENCLR</name>
            <description>Interrupt Enable Clear Register</description>
            <groupName>Performance Monitor</groupName>
            <access>RW</access>
            <ID>15,9,14,0,2</ID>
            <fields>
              <field>
                <name>C</name>
                <description>PMCCNTR overflow interrupt clear bit.</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P1</name>
                <description>Clear interrupt request on PMC1 overflow.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P0</name>
                <description>Clear interrupt request on PMC0 overflow.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PMOVSSET</name>
            <description>Performance Monitor Overflow Flag Status Set Register</description>
            <groupName>Performance Monitor</groupName>
            <access>RW</access>
            <ID>15,9,14,0,3</ID>
            <fields>
              <field>
                <name>P</name>
                <description>Mode/State Configuration P Bit</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>U</name>
                <description>Mode/State Configuration U Bit</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NSK</name>
                <description>Mode/State Configuration NSK Bit</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NSU</name>
                <description>Mode/State Configuration NSU Bit</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>L2CTLR</name>
            <description>L2 Cache Control Register</description>
            <groupName>Impl. Defined</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,9,0,1,2</ID>
            <fields>
              <field>
                <name>L2RSTDISABLE</name>
                <description>L2 valid RAM contents are not reset by hardware</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IWINC</name>
                <description>Controls how the index increments</description>
                <bitOffset>30</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>NUM_PROCS</name>
                <description>Number of Processors</description>
                <bitOffset>25</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>SFEN</name>
                <description>Snoop Filter Enable</description>
                <bitOffset>20</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>L2_ECC_DISABLE</name>
                <description>L2 ECC is disabled</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>L2_CACHE_DISABLE</name>
                <description>L2 cache is disabled</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TRAM_SETUP_LATENCY</name>
                <description>L2 Tag-RAM setup Latency (1-8 cycles)</description>
                <bitOffset>15</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>TRAM_READ_LATENCY</name>
                <description>L2 Tag-RAM read Latency (1-8 cycles)</description>
                <bitOffset>12</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>TRAM_WRITE_LATENCY</name>
                <description>L2 Tag-RAM write Latency (1-8 cycles)</description>
                <bitOffset>9</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>DRAM_SETUP_LATENCY</name>
                <description>L2 Data RAM Setup Latency (1-8 cycles)</description>
                <bitOffset>6</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>DRAM_READ_LATENCY</name>
                <description>L2 Data RAM Read Latency (1-8 cycles)</description>
                <bitOffset>3</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>DRAM_WRITE_LATENCY</name>
                <description>L2 Data RAM Write Latency (1-8 cycles)</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>L2ECTLR</name>
            <description>L2 Extended Control Register</description>
            <groupName>Impl. Defined</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,9,0,1,3</ID>
            <fields>
              <field>
                <name>ECC_UNCOR_ERR</name>
                <description>An uncorrectable ECC error has occurred</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>AXI_ASYNC_ERR</name>
                <description>AXI asynchroneous error has occurred</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>L2DRAMRMD</name>
                <description>L2 dynamic RAM retention disabled</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>SCUCTLR</name>
            <description>SCU Control Register</description>
            <groupName>Impl. Defined</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,9,0,1,3</ID>
            <fields>
              <field>
                <name>P3_RETENTION_DISABLE</name>
                <description>Processor 3 Retention Disabled</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P3_POWER_STATUS</name>
                <description>Processor 3 Power Status</description>
                <bitOffset>28</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>P2_RETENTION_DISABLE</name>
                <description>Processor 2 Retention Disabled</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P2_POWER_STATUS</name>
                <description>Processor 2 Power Status</description>
                <bitOffset>24</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>P1_RETENTION_DISABLE</name>
                <description>Processor 1 Retention Disabled</description>
                <bitOffset>22</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P1_POWER_STATUS</name>
                <description>Processor 1 Power Status</description>
                <bitOffset>20</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>P0_RETENTION_DISABLE</name>
                <description>Processor 0 Retention Disabled</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>P0_POWER_STATUS</name>
                <description>Processor 0 Power Status</description>
                <bitOffset>16</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>ACTLR.SMP</name>
                <description>Copy of ACTLR's SMP field</description>
                <bitOffset>4</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>NUM_PROCESSORS</name>
                <description>Number of Processors present</description>
                <bitOffset>0</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>L2MRERRSR</name>
            <description>L2 Memory Error Syndrome Register</description>
            <groupName>Impl. Defined</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,9,0,1,3</ID>
            <fields>
              <field>
                <name>FATAL</name>
                <description>The Fatal bit is set to 1 on the first memory error that caused a Data Abort</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>OTHER_ERR_CNT</name>
                <description>This field is set to 0 on the first memory error and is incremented on any memory error that does not match the RAMID, way, or index information in this register while the sticky Valid bit is set</description>
                <bitOffset>25</bitOffset>
                <bitWidth>6</bitWidth>
              </field>
              <field>
                <name>REPEAT_ERR_CNT</name>
                <description>This field is set to 0 on the first memory error and is incremented on any memory error that exactly matches the RAMID, way or index information in this register while the sticky Valid bit is set</description>
                <bitOffset>19</bitOffset>
                <bitWidth>6</bitWidth>
              </field>
              <field>
                <name>ERR_LOCATION</name>
                <description>Location at which the first memory error is detected. [18:6]: Index, [5:2]: Way</description>
                <bitOffset>2</bitOffset>
                <bitWidth>17</bitWidth>
              </field>
              <field>
                <name>RAMID</name>
                <description>RAM where the first memory error occurred. 0: Tag RAM, 1: Data RAM</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>VALID</name>
                <description>The VALID bit is set to 1 on the first memory error. It is a sticky bit so that after it is set, it remains set until the register is written</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <!--c10 Registers-->
          <register>
            <name>PRRR</name>
            <description>Primary Region Remap Register</description>
            <groupName>Virtual Memory Control</groupName>
            <access>RW</access>
            <reset>0x00098AA4</reset>
            <ID>15,10,2,0,0</ID>
            <fields>
              <field>
                <name>NOS7</name>
                <description>Tex[0]=7 memory region is (0) outer or (1) inner shareable</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NOS6</name>
                <description>Tex[0]=7 memory region is (0) outer or (1) inner shareable</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NOS5</name>
                <description>Tex[0]=7 memory region is (0) outer or (1) inner shareable</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NOS4</name>
                <description>Tex[0]=7 memory region is (0) outer or (1) inner shareable</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NOS3</name>
                <description>Tex[0]=7 memory region is (0) outer or (1) inner shareable</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NOS2</name>
                <description>Tex[0]=7 memory region is (0) outer or (1) inner shareable</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NOS1</name>
                <description>Tex[0]=7 memory region is (0) outer or (1) inner shareable</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NOS0</name>
                <description>Tex[0]=7 memory region is (0) outer or (1) inner shareable</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NS1</name>
                <description>Mapping of S=1 attribute for normal memory</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NS0</name>
                <description>Mapping of S=1 attribute for normal memory</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DS1</name>
                <description>Mapping of S=1 attribute for device memory</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DS0</name>
                <description>Mapping of S=0 attribute for device memory</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TR7</name>
                <description>Primary TEX mapping for memory attributes 7</description>
                <bitOffset>14</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>TR6</name>
                <description>Primary TEX mapping for memory attributes 6</description>
                <bitOffset>12</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>TR5</name>
                <description>Primary TEX mapping for memory attributes 5</description>
                <bitOffset>10</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>TR4</name>
                <description>Primary TEX mapping for memory attributes 4</description>
                <bitOffset>8</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>TR3</name>
                <description>Primary TEX mapping for memory attributes 3</description>
                <bitOffset>6</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>TR2</name>
                <description>Primary TEX mapping for memory attributes 2</description>
                <bitOffset>4</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>TR1</name>
                <description>Primary TEX mapping for memory attributes 1</description>
                <bitOffset>2</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>TR0</name>
                <description>Primary TEX mapping for memory attributes 0</description>
                <bitOffset>0</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>MAIR0</name>
            <description>Memory Attribute Indirection Register 0</description>
            <groupName>Virtual Memory Control</groupName>
            <access>RW</access>
            <reset>0x00098AA4</reset>
            <ID>15,10,2,0,0</ID>
            <fields>
              <field>
                <name>ATTR_3</name>
                <description>Memory Attribute Encoding Field 3</description>
                <bitOffset>24</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
              <field>
                <name>ATTR_2</name>
                <description>Memory Attribute Encoding Field 2</description>
                <bitOffset>16</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
              <field>
                <name>ATTR_1</name>
                <description>Memory Attribute Encoding Field 1</description>
                <bitOffset>8</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
              <field>
                <name>ATTR_0</name>
                <description>Memory Attribute Encoding Field 0</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>NMRR</name>
            <!--no fields-->
            <description>Normal Memory Remap Register</description>
            <groupName>Virtual Memory Control</groupName>
            <access>RW</access>
            <reset>0x44E048E0</reset>
            <ID>15,10,2,0,1</ID>
            <fields>
              <field>
                <name>OR7</name>
                <description>Outer Cacheable property mapping for memory attributes 7</description>
                <bitOffset>30</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>OR6</name>
                <description>Outer Cacheable property mapping for memory attributes 7</description>
                <bitOffset>28</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>OR5</name>
                <description>Outer Cacheable property mapping for memory attributes 7</description>
                <bitOffset>26</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>OR4</name>
                <description>Outer Cacheable property mapping for memory attributes 7</description>
                <bitOffset>24</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>OR3</name>
                <description>Outer Cacheable property mapping for memory attributes 7</description>
                <bitOffset>22</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>OR2</name>
                <description>Outer Cacheable property mapping for memory attributes 2</description>
                <bitOffset>20</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>OR1</name>
                <description>Outer Cacheable property mapping for memory attributes 1</description>
                <bitOffset>18</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>OR0</name>
                <description>Outer Cacheable property mapping for memory attributes 0</description>
                <bitOffset>16</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>IR7</name>
                <description>Inner Cacheable property mapping for memory attributes 7</description>
                <bitOffset>14</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>IR6</name>
                <description>Inner Cacheable property mapping for memory attributes 6</description>
                <bitOffset>12</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>IR5</name>
                <description>Inner Cacheable property mapping for memory attributes 5</description>
                <bitOffset>10</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>IR4</name>
                <description>Inner Cacheable property mapping for memory attributes 4</description>
                <bitOffset>8</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>IR3</name>
                <description>Inner Cacheable property mapping for memory attributes 3</description>
                <bitOffset>6</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>IR2</name>
                <description>Inner Cacheable property mapping for memory attributes 2</description>
                <bitOffset>4</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>IR1</name>
                <description>Inner Cacheable property mapping for memory attributes 1</description>
                <bitOffset>2</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>IR0</name>
                <description>Inner Cacheable property mapping for memory attributes 0</description>
                <bitOffset>0</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>MAIR1</name>
            <description>Memory Attribute Indirection Register 1</description>
            <groupName>Virtual Memory Control</groupName>
            <access>RW</access>
            <reset>0x44E048E0</reset>
            <ID>15,10,2,0,1</ID>
            <fields>
              <field>
                <name>ATTR_7</name>
                <description>Memory Attribute Encoding Field 7</description>
                <bitOffset>24</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
              <field>
                <name>ATTR_6</name>
                <description>Memory Attribute Encoding Field 6</description>
                <bitOffset>16</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
              <field>
                <name>ATTR_5</name>
                <description>Memory Attribute Encoding Field 5</description>
                <bitOffset>8</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
              <field>
                <name>ATTR_4</name>
                <description>Memory Attribute Encoding Field 4</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>AMAIR0</name>
            <!--RAZ-->
            <description>Auxiliary Memory Attribute Indirection Register 0</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,10,3,0,0</ID>
          </register>
          <register>
            <name>AMAIR1</name>
            <!--RAZs-->
            <description>Auxiliary Memory Attribute Indirection Register 1</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,10,3,0,1</ID>
          </register>
          <register>
            <name>HMAIR0</name>
            <!--RAZ-->
            <description>Hyp Memory Attribute Indirection Register 0</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,10,2,4,0</ID>
          </register>
          <register>
            <name>HMAIR1</name>
            <!--RAZ-->
            <description>Hyp Memory Attribute Indirection Register 1</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,10,2,4,1</ID>
          </register>
          <register>
            <name>HAMAIR0</name>
            <!--RAZ-->
            <description>Hyp Auxiliary Memory Attribute Indirection Register 0</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,10,3,4,0</ID>
          </register>
          <register>
            <name>HAMAIR1</name>
            <!--RAZ-->
            <description>Hyp Auxiliary Memory Attribute Indirection Register 1</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,10,3,4,1</ID>
          </register>
          <!--NO c11 registers-->
          <!--c12 registers-->
          <register>
            <name>VBAR</name>
            <description>Vector Base Address Register</description>
            <groupName>Security Extensions</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,12,0,0,0</ID>
            <fields>
              <field>
                <name>VECT_BASE_ADDR</name>
                <description>The base address of normal exception vectors</description>
                <bitOffset>5</bitOffset>
                <bitWidth>27</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>MVBAR</name>
            <description>Monitor Vector Base Address Register</description>
            <groupName>Security Extensions</groupName>
            <access>RW</access>
            <ID>15,12,0,0,1</ID>
            <fields>
              <field>
                <name>MONITOR_VBA</name>
                <description>The base address of the exception vectors for exceptions that are handled in monitor mode</description>
                <bitOffset>5</bitOffset>
                <bitWidth>27</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ISR</name>
            <description>Interrupt Status Register</description>
            <groupName>Security Extensions</groupName>
            <access>RO</access>
            <ID>15,12,1,0,0</ID>
            <fields>
              <field>
                <name>A</name>
                <description>External abort pending</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>I</name>
                <description>Interrupt pending</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>Fast interrupt pending</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>HVBAR</name>
            <description>Hyp Vector Base Address Register</description>
            <groupName>Virtualization Extensions</groupName>
            <access>RW</access>
            <ID>15,12,0,4,0</ID>
            <fields>
              <field>
                <name>VECT_BASE_ADDR</name>
                <description>Vector Base Address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <!--c13  registers-->
          <register>
            <name>FCSEIDR</name>
            <!--RAZ-->
            <description>Fast Context Switch Extension Not Implemented</description>
            <groupName>Other System Control</groupName>
            <access>RO</access>
            <reset>0x00000000</reset>
            <ID>15,13,0,0,0</ID>
          </register>
          <register>
            <name>CONTEXTIDR</name>
            <description>Context ID Register</description>
            <groupName>Virtual Memory Control</groupName>
            <access>RW</access>
            <ID>15,13,0,0,1</ID>
            <fields>
              <field>
                <name>PROCID</name>
                <description>Processor Identifier</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
              </field>
              <field>
                <name>ASID</name>
                <description>Address Space Identifier</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>TPIDRURW</name>
            <!--no fields-->
            <description>Software Thread ID Register 1</description>
            <groupName>Misc</groupName>
            <access>RW</access>
            <ID>15,13,0,0,2</ID>
          </register>
          <register>
            <name>TPIDRURO</name>
            <!--no fields-->
            <description>Software Thread ID Register 2</description>
            <groupName>Misc</groupName>
            <access>RO</access>
            <ID>15,13,0,0,3</ID>
          </register>
          <register>
            <name>TPIDRPRW</name>
            <!--no fields-->
            <description>Software Thread ID Register 3</description>
            <groupName>Misc</groupName>
            <access>RW</access>
            <ID>15,13,0,0,4</ID>
          </register>
          <register>
            <name>HTPIDR</name>
            <!--no fields-->
            <description>Hyp Software Thread ID Register</description>
            <groupName>Misc</groupName>
            <access>RO</access>
            <ID>15,13,0,4,2</ID>
          </register>
          <!--c14 registers (Sys Timer)-->
          <register>
            <name>CNTFRQ</name>
            <!--no fields-->
            <description>Generic Timer Frequency Register</description>
            <groupName>Generic Timer</groupName>
            <access>RW</access>
            <ID>15,14,0,0,0</ID>
          </register>
          <register>
            <name>CNTKCTL</name>
            <!--no fields-->
            <description>Generic Timer non-secure PL1 Control Register</description>
            <groupName>Generic Timer</groupName>
            <access>RO</access>
            <ID>15,14,1,0,0</ID>
          </register>
          <register>
            <name>CNTP_TVAL</name>
            <!--no fields-->
            <description>Generic Timer PL1 Physical Timer Value Register</description>
            <groupName>Generic Timer</groupName>
            <access>RO</access>
            <ID>15,14,2,0,0</ID>
          </register>
          <register>
            <name>CNTP_CTL</name>
            <!--no fields-->
            <description>Generic Timer PL1 Physical Timer Control Register</description>
            <groupName>Generic Timer</groupName>
            <access>RO</access>
            <reset>0x00000000</reset>
            <ID>15,14,2,0,1</ID>
          </register>
          <register>
            <name>CNTV_TVAL</name>
            <!--no fields-->
            <description>Generic Timer PL1 Virtual Timer Value Register</description>
            <groupName>Generic Timer</groupName>
            <access>RO</access>
            <ID>15,14,3,0,0</ID>
          </register>
          <register>
            <name>CNTV_CTL</name>
            <!--no fields-->
            <description>Generic Timer PL1 Virtual Timer Control Register</description>
            <groupName>Generic Timer</groupName>
            <access>RO</access>
            <ID>15,14,3,0,1</ID>
          </register>
          <register>
            <name>CNTHCTL</name>
            <!--no fields-->
            <description>Generic Timer PL1 non-secure PL2 Control Register</description>
            <groupName>Generic Timer</groupName>
            <access>RO</access>
            <ID>15,14,1,4,0</ID>
          </register>
          <register>
            <name>CNTHP_TVAL</name>
            <!--no fields-->
            <description>Generic Timer non-secure PL2 Physical Timer Value Register</description>
            <groupName>Generic Timer</groupName>
            <access>RO</access>
            <ID>15,14,2,4,0</ID>
          </register>
          <register>
            <name>CNTHP_CTL</name>
            <!--no fields-->
            <description>Generic Timer non-secure PL2 Physical Timer Control Register</description>
            <groupName>Generic Timer</groupName>
            <access>RO</access>
            <ID>15,14,2,4,1</ID>
          </register>
          <!--c15  registers-->
          <register>
            <name>DGNCTLR0</name>
            <!--no fields-->
            <description>Diagnostic Control Register 0</description>
            <groupName>Impl. Defined</groupName>
            <access>RW</access>
            <ID>15,15,0,0,0</ID>
          </register>
          <register>
            <name>DGNCTLR1</name>
            <!--no fields-->
            <description>Diagnostic Control Register 1</description>
            <groupName>Impl. Defined</groupName>
            <access>RW</access>
            <ID>15,15,0,0,1</ID>
          </register>
          <register>
            <name>DGNCTLR2</name>
            <!--no fields-->
            <description>Diagnostic Control Register 2</description>
            <groupName>Impl. Defined</groupName>
            <access>RW</access>
            <ID>15,15,0,0,2</ID>
          </register>
          <register>
            <name>DGNCCTLR</name>
            <!--no fields-->
            <description>Diagnostic Common Control Register</description>
            <groupName>Impl. Defined</groupName>
            <access>RW</access>
            <ID>15,15,0,0,4</ID>
          </register>
          <register>
            <name>DCCIALL</name>
            <!--no fields-->
            <description>Data Cache Clean And Invalidate All Register</description>
            <groupName>Impl. Defined</groupName>
            <access>WO</access>
            <ID>15,15,14,1,0</ID>
            <fields>
              <field>
                <name>LEVEL</name>
                <description>Cache Level</description>
                <bitOffset>1</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CDBGDR0</name>
            <!--no fields-->
            <description>Direct access to internal memory, Data Register 0</description>
            <groupName>Impl. Defined</groupName>
            <access>RO</access>
            <ID>15,15,0,3,0</ID>
            <fields>
              <field>
                <name>PMSD</name>
                <description>Partial MOESI state, Dirty</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>POMA</name>
                <description>Partial Outer Memory Attribute</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>PMSV</name>
                <description>Partial MOESI State, Exlusive</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>PMSV</name>
                <description>Partial MOESI State, Valid</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NS</name>
                <description>Non-Secure State, NS</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TA</name>
                <description>Tag Address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>27</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CDBGDR1</name>
            <!--no fields-->
            <description>Direct access to internal memory, Data Register 1</description>
            <groupName>Impl. Defined</groupName>
            <access>RO</access>
            <ID>15,15,0,3,1</ID>
            <fields>
              <field>
                <name>PMSGS</name>
                <description>Partial MOESI state, Globally Shared</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CDBGDR2</name>
            <!--no fields-->
            <description>Direct access to internal memory, Data Register 2</description>
            <groupName>Impl. Defined</groupName>
            <access>RO</access>
            <ID>15,15,0,3,2</ID>
          </register>
          <register>
            <name>CDBGDCT</name>
            <!--no fields-->
            <description>Data Cache Tag Read Operation Register</description>
            <groupName>Impl. Defined</groupName>
            <access>WO</access>
            <ID>15,15,2,3,0</ID>
            <fields>
              <field>
                <name>CACHE_WAY</name>
                <description>Cache Way</description>
                <bitOffset>30</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>SET_INDEX</name>
                <description>Set Index</description>
                <bitOffset>6</bitOffset>
                <bitWidth>7</bitWidth>
              </field>
              <field>
                <name>DATA_OFF</name>
                <description>Cache DWord Data Offset</description>
                <bitOffset>3</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CDBGICT</name>
            <!--no fields-->
            <description>Instruction Cache Tag Read Operation Register</description>
            <groupName>Impl. Defined</groupName>
            <access>WO</access>
            <ID>15,15,2,3,1</ID>
            <fields>
              <field>
                <name>CACHE_WAY</name>
                <description>Cache Way</description>
                <bitOffset>30</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>SET_INDEX</name>
                <description>Set Index</description>
                <bitOffset>6</bitOffset>
                <bitWidth>7</bitWidth>
              </field>
              <field>
                <name>DATA_OFF</name>
                <description>Cache DWord Data Offset</description>
                <bitOffset>3</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CDBGDCD</name>
            <!--no fields-->
            <description>Data Cache Data Read Operation Register</description>
            <groupName>Impl. Defined</groupName>
            <access>WO</access>
            <ID>15,15,4,3,0</ID>
            <fields>
              <field>
                <name>CACHE_WAY</name>
                <description>Cache Way</description>
                <bitOffset>30</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>SET_INDEX</name>
                <description>Set Index</description>
                <bitOffset>6</bitOffset>
                <bitWidth>7</bitWidth>
              </field>
              <field>
                <name>DATA_OFF</name>
                <description>Cache DWord Data Offset</description>
                <bitOffset>3</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CDBGICD</name>
            <!--no fields-->
            <description>Instruction Cache Data Read Operation Register</description>
            <groupName>Impl. Defined</groupName>
            <access>WO</access>
            <ID>15,15,4,3,1</ID>
            <fields>
              <field>
                <name>CACHE_WAY</name>
                <description>Cache Way</description>
                <bitOffset>30</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>SET_INDEX</name>
                <description>Set Index</description>
                <bitOffset>6</bitOffset>
                <bitWidth>7</bitWidth>
              </field>
              <field>
                <name>DATA_OFF</name>
                <description>Cache DWord Data Offset</description>
                <bitOffset>3</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CDBGTD</name>
            <!--no fields-->
            <description>TLB Data Read Operation Register</description>
            <groupName>Impl. Defined</groupName>
            <access>WO</access>
            <ID>15,15,4,3,2</ID>
            <fields>
              <field>
                <name>TLB_WAY</name>
                <description>TLB Way</description>
                <bitOffset>30</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>TYPE</name>
                <description>Type</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TLB_INDEX</name>
                <description>TLB Index</description>
                <bitOffset>3</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>FILASTARTR</name>
            <!--no fields-->
            <description>Peripheral port start address register</description>
            <groupName>Impl. Defined</groupName>
            <access>RW</access>
            <ID>15,15,0,4,1</ID>
            <fields>
              <field>
                <name>FLT_START_ADDR</name>
                <description>Start address of the peripheral port physical memory region</description>
                <bitOffset>12</bitOffset>
                <bitWidth>20</bitWidth>
              </field>
              <field>
                <name>FILT_EN</name>
                <description>Indicates that FLT_START_ADDR and FLT_END_ADDR are valid</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>FILAENDR</name>
            <!--no fields-->
            <description>Peripheral port end address register</description>
            <groupName>Impl. Defined</groupName>
            <access>RW</access>
            <ID>15,15,0,4,2</ID>
            <fields>
              <field>
                <name>FLT_END_ADDR</name>
                <description>End address of the peripheral port physical memory region</description>
                <bitOffset>12</bitOffset>
                <bitWidth>20</bitWidth>
              </field>
            </fields>
          </register>
        </registers>
      </group>
    </groups>
  </cpu>
</device>
