﻿<?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>CA5_D16</name>
    <displayName>Cortex-A5 (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>0x41023051</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>
            <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>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 denormal 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>
            <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>0x10110221</reset>
            <type>unsigned int</type>
            <Index>72</Index>
            <fields>
              <field>
                <name>RB</name>
                <description>Sixteen 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>0x11000011</reset>
            <Index>73</Index>
            <type>unsigned int</type>
            <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>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>
        <registers>
          <!--C0 Registers-->
          <register>
            <name>MIDR</name>
            <description>Main ID Register</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x410FC051</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</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>PART_NBR</name>
                <description>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>0x83338003</reset>
            <ID>15,0,0,0,1</ID>
            <fields>
              <field>
                <name>FORMAT</name>
                <description>ARMv7 Register 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>Exclusives 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>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <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>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x00000000</reset>
            <ID>15,0,0,0,3</ID>
          </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>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>ID_PFR0</name>
            <description>Processor Feature Register 0</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x00001231</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>0x00000011</reset>
            <ID>15,0,1,0,1</ID>
            <fields>
              <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>0x02010444</reset>
            <ID>15,0,1,0,2</ID>
            <fields>
              <field>
                <name>PERF_MM</name>
                <description>Performance Monitors 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_MMFR0</name>
            <description>Memory Model Features Register 0</description>
            <groupName>ID Regs</groupName>
            <access>RO</access>
            <reset>0x00100003</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>SHAREABILITY_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>0x01230000</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>0x00102211</reset>
            <ID>15,0,1,0,7</ID>
            <fields>
              <field>
                <name>SS_SUPPORT</name>
                <description>16 MB supersections supported</description>
                <bitOffset>20</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>16</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>0x00101111</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_INSTRS_AU</name>
                <description>Long multiply instructions and UMAAL supported</description>
                <bitOffset>20</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>MULT_INSTRS_AS</name>
                <description>Signed-Multiply instructions and Q flag in PSRs supported</description>
                <bitOffset>16</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>MULTIPLY_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>EXCLUSIVE_INSTRS</name>
                <description>Exclusive 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>0x00011141</reset>
            <ID>15,0,2,0,4</ID>
            <fields>
              <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>
            <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 (0x0) L1 data cache, (0x1) 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>0x09200003</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>CL 7</name>
                <description>Cache at Level 7 present</description>
                <bitOffset>18</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CL 6</name>
                <description>Cache at Level 6 present</description>
                <bitOffset>15</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CL 5</name>
                <description>Cache at Level 5 present</description>
                <bitOffset>12</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CL 4</name>
                <description>Cache at Level 4 present</description>
                <bitOffset>9</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CL 3</name>
                <description>Cache at Level 3 present</description>
                <bitOffset>6</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CL 2</name>
                <description>Cache at Level 2 present</description>
                <bitOffset>3</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CL 1</name>
                <description>Separate instruction and data caches 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>Cache</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>
          <!--C1 Registers-->
          <register>
            <name>SCTLR</name>
            <description>System Control Register</description>
            <groupName>VMC</groupName>
            <groupName>System</groupName>
            <access>RW</access>
            <reset>0x00C50078</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>HA</name>
                <description>Hardware management access enabled</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>RR</name>
                <description>Replacement strategy for instruction and data caches. 0:random, 1:round-robin</description>
                <bitOffset>14</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>V</name>
                <description>Location of exception vectors. 0:normal, 1:high</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>SW</name>
                <description>SWP and SWPB enabled</description>
                <bitOffset>10</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>System</groupName>
            <access>RW</access>
            <reset>0x00006000</reset>
            <ID>15,1,0,0,1</ID>
            <fields>
              <field>
                <name>DBDI</name>
                <description>Disable branch dual issue</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>BTDIS</name>
                <description>Disable indirect Branch Target Address Cache (BTAC)</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>RSDIS</name>
                <description>Disable return stack operation</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>BP</name>
                <description>Branch prediction policy</description>
                <bitOffset>15</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>L1PCTL</name>
                <description>L1 Data prefetch control</description>
                <bitOffset>13</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>RADIS</name>
                <description>Disable Data Cache read-allocate mode</description>
                <bitOffset>12</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DWBST</name>
                <description>Disable data write bursts to normal non-cacheable memory</description>
                <bitOffset>11</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DODMBS</name>
                <description>Disable optimized Data Memory Barrier behaviour</description>
                <bitOffset>10</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>EXCL</name>
                <description>Exclusive L1/L2 cache control</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>SMP</name>
                <description>Data requestes with inner cacheable shared attributes are treated as cacheable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CPACR</name>
            <description>Coprocessor Access Control Register</description>
            <groupName>System</groupName>
            <access>RW</access>
            <reset>0xC0000000</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>D32DIS</name>
                <description>Disable use of registers D16-D31 of the VFP register file</description>
                <bitOffset>30</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>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>0x0x0000C000</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>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>VCR</name>
            <description>Virtualization Control Register</description>
            <groupName>VMC</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,1,1,0,3</ID>
            <fields>
              <field>
                <name>AMO</name>
                <description>AMO bit</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>IMO</name>
                <description>IRQ Mask Override</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>FMO</name>
                <description>FIQ Mask Override</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <!--C2 Registers-->
          <register>
            <name>TTBR0</name>
            <description>Translation Table Base Register 0</description>
            <groupName>VMC</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>14</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>3</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>VMC</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>14</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>3</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>VMC</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>0</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
            </fields>
          </register>
          <!--C3 Registers-->
          <register>
            <name>DACR</name>
            <description>Domain Access Control Register</description>
            <groupName>VMC</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>ExT</name>
                <description>External Abort Qualifier. 0: AXI Decode error, 1: AXI Slave error</description>
                <bitOffset>12</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>WnR</name>
                <description>Type 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: AXI Decode error, 1: AXI Slave error</description>
                <bitOffset>0</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>FS[4]</name>
                <description>Bit 4 of the Fault Status Field</description>
                <bitOffset>2</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>FAULT_STATUS</name>
                <description>Type of Fault Generated</description>
                <bitOffset>4</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ADFSR</name>
            <!--no fields-->
            <description>Auxilary Data Fault Status Register</description>
            <groupName>Fault Handling</groupName>
            <ID>15,5,1,0,0</ID>
          </register>
          <register>
            <name>AIFSR</name>
            <!--no fields-->
            <description>Auxilary Instruction Fault Status Register</description>
            <groupName>Fault Handling</groupName>
            <ID>15,5,1,0,1</ID>
          </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>
          <!--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>Invalidate entire instruction cache inner shareable</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,1,0,0</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to invalidate or clean</description>
                <bitOffset>5</bitOffset>
                <bitWidth>27</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>BPIALLIS</name>
            <!--no fields-->
            <description>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>
            <description>Physical Address Register</description>
            <groupName>Address Translation</groupName>
            <access>RW</access>
            <ID>15,7,4,0,0</ID>
            <fields>
              <field>
                <name>PA</name>
                <description>Physical address</description>
                <bitOffset>12</bitOffset>
                <bitWidth>20</bitWidth>
              </field>
              <field>
                <name>NS</name>
                <description>Non-Secure Bit</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>SH</name>
                <description>Physical memory is shareable Bit</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>INNER</name>
                <description>Signals region inner attributes</description>
                <bitOffset>4</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>OUTER</name>
                <description>Signals region outer attributes for normal memory type</description>
                <bitOffset>2</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>SS</name>
                <description>Indicates if the translation is a supersection</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>F</name>
                <description>Result of conversion  1: successfull translation</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ICIALLLU</name>
            <description>Cache Operations Register</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,5,0,0</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to invalidate or clean</description>
                <bitOffset>5</bitOffset>
                <bitWidth>27</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ICIMVAU</name>
            <description>Invalidate instruction cache line by MVA to Point of Unification (PoU)</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,5,0,1</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to invalidate or clean</description>
                <bitOffset>5</bitOffset>
                <bitWidth>27</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ISB</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>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>Invalidate Virtual Address (VA) from branch predictor array</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,5,0,7</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to invalidate or clean</description>
                <bitOffset>5</bitOffset>
                <bitWidth>27</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>DCIMVAC</name>
            <!--no fields-->
            <description>Invalidate data cache line to Point of Coherency by MVA</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,6,0,1</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to invalidate or clean</description>
                <bitOffset>5</bitOffset>
                <bitWidth>27</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>DCISW</name>
            <!--no fields-->
            <description>Invalidate data cache line by Set/Way</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,6,0,2</ID>
            <fields>
              <field>
                <name>WAY</name>
                <description>Cache way to invalidate or clean</description>
                <bitOffset>30</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>SET</name>
                <description>Cache set to invalidate or clean</description>
                <bitOffset>5</bitOffset>
                <bitWidth>9</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>V2PCWPR 1</name>
            <!--no fields-->
            <description>VA to PA Operations Register 1</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,0</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to translate</description>
                <bitOffset>10</bitOffset>
                <bitWidth>22</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>V2PCWPR 2</name>
            <!--no fields-->
            <description>VA to PA Operations Register 2</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,1</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to translate</description>
                <bitOffset>10</bitOffset>
                <bitWidth>22</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>V2PCWPR 3</name>
            <!--no fields-->
            <description>VA to PA Operations Register 3</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,2</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to translate</description>
                <bitOffset>10</bitOffset>
                <bitWidth>22</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>V2PCWPR 4</name>
            <!--no fields-->
            <description>VA to PA Operations Register 4</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,3</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to translate</description>
                <bitOffset>10</bitOffset>
                <bitWidth>22</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>V2POWPR 1</name>
            <!--no fields-->
            <description>VA to PA Operations Register 5</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,4</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to translate</description>
                <bitOffset>10</bitOffset>
                <bitWidth>22</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>V2POWPR 2</name>
            <!--no fields-->
            <description>VA to PA Operations Register 6</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,5</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to translate</description>
                <bitOffset>10</bitOffset>
                <bitWidth>22</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>V2POWPR 3</name>
            <!--no fields-->
            <description>VA to PA Operations Register 7</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,6</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to translate</description>
                <bitOffset>10</bitOffset>
                <bitWidth>22</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>V2POWPR 4</name>
            <!--no fields-->
            <description>VA to PA Operations Register 8</description>
            <groupName>Address Translation</groupName>
            <access>WO</access>
            <ID>15,7,8,0,7</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to translate</description>
                <bitOffset>10</bitOffset>
                <bitWidth>22</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>DCCMVAC</name>
            <!--no fields-->
            <description>Clean Data cache line to Point of Coherency by MVA</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,10,0,1</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to invalidate or clean</description>
                <bitOffset>5</bitOffset>
                <bitWidth>27</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>DCCSW</name>
            <!--no fields-->
            <description>Clean data cache line by Set/Way</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,10,0,2</ID>
            <fields>
              <field>
                <name>WAY</name>
                <description>Cache way to invalidate or clean</description>
                <bitOffset>30</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>SET</name>
                <description>Cache set to invalidate or clean</description>
                <bitOffset>5</bitOffset>
                <bitWidth>9</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>DSB</name>
            <!--no fields-->
            <description>Data Synchronization Barrier</description>
            <groupName>Misc</groupName>
            <access>WO</access>
            <ID>15,7,10,0,4</ID>
          </register>
          <register>
            <name>DMB</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>Clean data cache line by MVA to Point of Unification (PoU)</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,11,0,1</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to invalidate or clean</description>
                <bitOffset>5</bitOffset>
                <bitWidth>27</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>DCCIMVAC</name>
            <!--no fields-->
            <description>Clean and invalidate data cache line by MVA to Point of Unifciation (PoU)</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,14,0,1</ID>
            <fields>
              <field>
                <name>ADDR</name>
                <description>Address to invalidate or clean</description>
                <bitOffset>5</bitOffset>
                <bitWidth>27</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>DCCISW</name>
            <!--no fields-->
            <description>Clean and invalidate data cache line by Set/Way</description>
            <groupName>Cache</groupName>
            <access>WO</access>
            <ID>15,7,14,0,2</ID>
            <fields>
              <field>
                <name>WAY</name>
                <description>Cache way to invalidate or clean</description>
                <bitOffset>30</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>SET</name>
                <description>Cache set to invalidate or clean</description>
                <bitOffset>5</bitOffset>
                <bitWidth>9</bitWidth>
              </field>
            </fields>
          </register>
          <!--C8 Registers-->
          <register>
            <name>TLBIALLIS</name>
            <!--no fields-->
            <description>TLB Maintanance Operations Register</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>TLBIALL</name>
            <!--no fields-->
            <description>Invalifate entire unified TLB</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,5,0,0</ID>
          </register>
          <register>
            <name>TLBIMVA</name>
            <!--no fields-->
            <description>Invalidate Unified TLB by VA</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,5,0,1</ID>
          </register>
          <register>
            <name>TLBIASID</name>
            <!--no fields-->
            <description>Invalidate TLB entries by ASID match</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,5,0,2</ID>
          </register>
          <register>
            <name>TLBIMVAA</name>
            <!--no fields-->
            <description>Invalidate TLB entries by VA All ASID</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,8,5,0,3</ID>
          </register>
          <!--C9 Registers-->
          <register>
            <name>PMCR</name>
            <description>Performance Monitor Control Register</description>
            <groupName>PMU</groupName>
            <access>RW</access>
            <reset>0x41052000</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>PMCNTENSET</name>
            <description>Count Enable Set Register</description>
            <groupName>PMU</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <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>P0</name>
                <description>Counter 0 Enabled</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PMCNTENCLR</name>
            <description>Count Enable Clear Register</description>
            <groupName>PMU</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <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>P0</name>
                <description>Clear interrupt request on PMC0 overflow</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PMSOVSR</name>
            <description>Overflow Flag Status Register</description>
            <groupName>PMU</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>P0</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>PMU</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>PMU</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>PMU</groupName>
            <access>RO</access>
            <reset>0x003FFFFF</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>PMU</groupName>
            <access>RO</access>
            <ID>15,9,12,0,7</ID>
          </register>
          <register>
            <name>PMCCNTR</name>
            <!--no fields-->
            <description>Cycle Count Register</description>
            <groupName>PMU</groupName>
            <access>RW</access>
            <ID>15,9,13,0,0</ID>
          </register>
          <register>
            <name>PMXEVTYPER</name>
            <description>Event Type Select Register</description>
            <groupName>PMU</groupName>
            <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>PMCCFILTR</name>
            <description>Cycle Count Filter Control Register</description>
            <groupName>PMU</groupName>
            <access>RW</access>
            <ID>15,9,13,0,1</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>PMXEVCNTR</name>
            <!--no fields-->
            <description>Count Instances of an event selected by PMXEVTYPER</description>
            <groupName>PMU</groupName>
            <access>RW</access>
            <ID>15,9,13,0,2</ID>
          </register>
          <register>
            <name>PMUSERENR</name>
            <description>User Enable Register</description>
            <groupName>PMU</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>PMU</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <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>PMU</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <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>PRRR</name>
            <description>Primary Region Remap Register</description>
            <groupName>Memory Remap</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>NMRR</name>
            <!--no fields-->
            <description>Normal Memory Remap Register</description>
            <groupName>Memory Remap</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 7</description>
                <bitOffset>20</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>OR1</name>
                <description>Outer Cacheable property mapping for memory attributes 7</description>
                <bitOffset>18</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>OR0</name>
                <description>Outer Cacheable property mapping for memory attributes 7</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>VBAR</name>
            <description>Vector Base Address Register</description>
            <groupName>System</groupName>
            <access>R0</access>
            <ID>15,12,0,0,0</ID>
            <fields>
              <field>
                <name>VECT_BASE_ADDR</name>
                <description>The base address of the 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>System</groupName>
            <access>RO</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>VIR</name>
            <description>Virtualization Interrupt Register</description>
            <groupName>Security Extensions</groupName>
            <access>RW</access>
            <reset>0x00000000</reset>
            <ID>15,12,1,0,1</ID>
            <fields>
              <field>
                <name>VA</name>
                <description>Virtual Abort bit</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>VI</name>
                <description>Virtual IRQ bit</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>VF</name>
                <description>Virtual FIQ bit</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>FCSEIDR</name>
            <description>Fast Context Switch Extension Not Implemented</description>
            <groupName>System</groupName>
            <access>RO</access>
            <reset>0x00000000</reset>
            <ID>15,13,0,0,0</ID>
          </register>
          <register>
            <name>CONTEXTTIDR</name>
            <description>Context ID Register</description>
            <groupName>VMC</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>ID Regs</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>ID Regs</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>ID Regs</groupName>
            <access>RW</access>
            <ID>15,13,0,0,4</ID>
          </register>
          <register>
            <name>DATA_REG0</name>
            <!--no fields-->
            <description>Data Register 0</description>
            <groupName>TLB</groupName>
            <access>RO</access>
            <ID>15,15,0,3,0</ID>
          </register>
          <register>
            <name>DATA_REG1</name>
            <!--no fields-->
            <description>Data Register 1</description>
            <groupName>TLB</groupName>
            <access>RO</access>
            <ID>15,15,0,3,1</ID>
          </register>
          <register>
            <name>DCTRO_REG</name>
            <!--no fields-->
            <description>Data Cache Tag Read Operation Register</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,15,2,3,0</ID>
          </register>
          <register>
            <name>ICTRO_REG</name>
            <!--no fields-->
            <description>Instruction Cache Tag Read Operation Register</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,15,2,3,1</ID>
          </register>
          <register>
            <name>DCDRO_REG</name>
            <!--no fields-->
            <description>Data Cache Data Read Operation Register</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,15,4,3,0</ID>
          </register>
          <register>
            <name>ICDRO_REG</name>
            <!--no fields-->
            <description>Instruction Cache Data Read Operation Register</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,15,4,3,1</ID>
          </register>
          <register>
            <name>TLBDRO_REG</name>
            <!--no fields-->
            <description>TLB Data Read Operation Register</description>
            <groupName>TLB</groupName>
            <access>WO</access>
            <ID>15,15,4,3,2</ID>
          </register>
          <register>
            <name>CBA</name>
            <!--no fields-->
            <description>Configuration Base Register</description>
            <groupName>TLB</groupName>
            <access>RO</access>
            <reset>0x00000000</reset>
            <ID>15,15,0,4,0</ID>
          </register>
          <register>
            <name>TLB_HITMAP</name>
            <description>TLB Hitmap</description>
            <groupName>TLB</groupName>
            <access>RW</access>
            <ID>15,15,0,5,0</ID>
          </register>
        </registers>
      </group>
    </groups>
  </cpu>
</device>
