; --------------------------------------------------------------------------------
; @Title: CORTEXA8M On-Chip Peripherals
; @Props: Released
; @Author: KOT, (GAC)
; @Changelog: 2005-08-09 KOT
; @Manufacturer: ARM - ARM Ltd.
; @Doc: DDI0344A3a_cortex-a8_r1p0_trm.pdf (Rev. r1p0 Draft Beta)
; @Core: Cortex-A8
; @Core: CORTEX-A8
; @Copyright: (C) 1989-2017 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: percortexa8m.per 7087 2016-08-02 13:13:41Z askoncej $


;many registers taken directly from arm11.

config 16. 8.
width 0x0B


width 8.

group c15:0x1--0x1
     line.long 0x0 "SCTLR,Control Register"
          bitfld.long 0x0 30. " TE  ,Thumb exception enable" "ARM,Thumb"
          bitfld.long 0x0 29. "    AFE ,Access Flag Enable" "Disable,Enable"
          bitfld.long 0x0 28. "  TRE ,TEX remap enable" "Disable,Enable"
          bitfld.long 0x0 27. "  NMFI ,Nonmaskable Fast Interrupt enable" "Disable,Enable"
          textline "                 "
          bitfld.long 0x0 25. " EE  ,Exception endianess" "Little,Big"
          bitfld.long 0x0 24. "   VE  ,Vector Enable" "Not vectored,Vectored"
          bitfld.long 0x0 13. "  V  ,Base Location of Exception Registers" "0x00000000,0xFFFF0000"
          textline "                 "
          bitfld.long 0x0 12. " I   ,Instruction Cache Enable" "Disable,Enable"
          bitfld.long 0x0 11. "  Z   ,Branch Prediction Enable" "Disable,Enable"
          textline "                 "
          bitfld.long 0x0 2. " C   ,Enable unified cache or data cache" "Disable,Enable"
          bitfld.long 0x0 1. "  A   ,Strict Alignment" "Disable,Enable"
          bitfld.long 0x0 0. "  M   ,MMU or Protection Unit" "Disable,Enable"
    textline "                 "
            
group c15:0x0002++0x00
    line.long 0x00 "TTBR0,Translation Table Base Register 0"
        hexmask.long 0x00 14.--31. 0x4000 " TTB0 ,Translation Table Base Address"
        bitfld.long 0x00 3.--4. "      RGN  ,Outer Cacheable Attributes for Page Table Walking" "Noncacheable,Back/allocated,Through,Back/not allocated"
        textline "                 "
        bitfld.long 0x00 1. " S    ,Page Table Walk to Shared Memory" "Nonshared,Shared"
        bitfld.long 0x00 0. "     C    ,Page Table Walk Inner Cacheable" "Noncacheable,Cacheable"
group c15:0x0102++0x00
    line.long 0x00 "TTBR1,Translation Table Base Register 1"
        hexmask.long 0x00 14.--31. 0x4000 " TTB1 ,Translation Table Base Address"
        bitfld.long 0x00 3.--4. "      RGN  ,Outer Cacheable Attributes for Page Table Walking" "Noncacheable,Back/allocated,Through,Back/not allocated"
        textline "                 "
        bitfld.long 0x00 1. " S    ,Page Table Walk to Shared Memory" "Nonshared,Shared"
        bitfld.long 0x00 0. "     C    ,Page Table Walk Inner Cacheable" "Noncacheable,Cacheable"
group c15:0x0202++0x00
    line.long 0x00 "TTBCR,Translation Table Base Control Register"
         bitfld.long 0x00 5. " PD1  ,Page Table Walk on a TLB Miss When Using Translation Table Base Register 1" "Enable,Disable"
         bitfld.long 0x00 4. "       PD0  ,Page Table Walk on a TLB Miss When Using Translation Table Base Register 0" "Enable,Disable"
         bitfld.long 0x0 0.--2. "       N    ,Translation Table Base Register 0 page table boundary size" "Off,0x80000000,0x40000000,0x20000000,0x10000000,0x08000000,0x04000000,0x02000000"
    textline "                      "
    
group c15:0x3--0x3 
 line.long 0x0 "DACR,Domain Access Control Register"
  bitfld.long 0x0 30.--31. " D15  ,Domain Access 15" "Denied,Client,Reserved,Manager"
  bitfld.long 0x0 28.--29. "  D14 ,Domain Access 14" "Denied,Client,Reserved,Manager"
  bitfld.long 0x0 26.--27. "  D13 ,Domain Access 13" "Denied,Client,Reserved,Manager"
  bitfld.long 0x0 24.--25. "  D12 ,Domain Access 12" "Denied,Client,Reserved,Manager"
 textline "                 "
  bitfld.long 0x0 22.--23. " D11  ,Domain Access 11" "Denied,Client,Reserved,Manager"
  bitfld.long 0x0 20.--21. "  D10 ,Domain Access 10" "Denied,Client,Reserved,Manager"
  bitfld.long 0x0 18.--19. "  D9  ,Domain Access 9" "Denied,Client,Reserved,Manager"
  bitfld.long 0x0 16.--17. "  D8  ,Domain Access 8" "Denied,Client,Reserved,Manager"
 textline "                 "
  bitfld.long 0x0 14.--15. " D7   ,Domain Access 7" "Denied,Client,Reserved,Manager"
  bitfld.long 0x0 12.--13. "  D6  ,Domain Access 6" "Denied,Client,Reserved,Manager"
  bitfld.long 0x0 10.--11. "  D5  ,Domain Access 5" "Denied,Client,Reserved,Manager"
  bitfld.long 0x0 8.--9. "  D4  ,Domain Access 4" "Denied,Client,Reserved,Manager"
 textline "                 "
  bitfld.long 0x0 6.--7. " D3   ,Domain Access 3" "Denied,Client,Reserved,Manager"
  bitfld.long 0x0 4.--5. "  D2  ,Domain Access 2" "Denied,Client,Reserved,Manager"
  bitfld.long 0x0 2.--3. "  D1  ,Domain Access 1" "Denied,Client,Reserved,Manager"
  bitfld.long 0x0 0.--1. "  D0  ,Domain Access 0" "Denied,Client,Reserved,Manager"
 textline "                      "
            
    group c15:0x0005++0x00
        line.long 0x00 "DFSR,Data Fault Status Register"
            bitfld.long 0x00 11. " RW     ,Access Caused an Abort Type" "Read,Write"
            bitfld.long 0x00 4.--7. "       DOMAIN ,Domain Accessed When a Data Fault Occurs" "D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15"
            bitfld.long 0x00 0.--3. 10. 12. "    STATUS ,Generated Exception Type" "Reserved,Alignment,Debug,Access/section,Instruction,Translation/section,Access/page,Translation/page,Precise/decode,Domain/section,Reserved,Domain/page,L1/external/decode,Permission/section,L2/external/decode,Permission/page,Reserved,Reserved,Reserved,Reserved,Reserved,Reserved,Imprecise/external/decode,Reserved,Imprecise/parity/ECC,Reserved,Reserved,Reserved,L1/parity,Reserved,L2/parity,Reserved,Reserved,Reserved,Reserved,Reserved,Reserved,Reserved,Reserved,Reserved,Precise/slave,Reserved,Reserved,Reserved,L1/external/slave,Reserved,L2/external/slave,Reserved,Reserved,Reserved,Reserved,Reserved,Reserved,Reserved,Imprecise/external/slave,?..."
    group c15:0x0006++0x00
        line.long 0x00 "DFAR,Data Fault Address Register"
            hexmask.long 0x00 0.--31. 1. " DFA    ,Data Fault Address"
    group c15:0x0105++0x00
        line.long 0x00 "IFSR,Instruction Fault Status Register"
            bitfld.long 0x00 4.--7. "                    DOMAIN ,Domain Accessed When a Data Fault Occurs" "D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15"
            bitfld.long 0x00 0.--3. 10. 12. "    STATUS ,Generated Exception Type" "Reserved,Reserved,Debug,Access/section,Reserved,Translation/section,Access/page,Translation/page,Precise/decode,Domain/section,Reserved,Domain/page,L1/external/decode,Permission/section,L2/external/decode,Permission/page,Reserved,Reserved,Reserved,Reserved,Reserved,Reserved,Reserved,Reserved,Precise/parity,Reserved,Reserved,Reserved,L1/parity,Reserved,L2/parity,Reserved,Reserved,Reserved,Reserved,Reserved,Reserved,Reserved,Reserved,Reserved,Precise/slave,Reserved,Reserved,Reserved,L1/external/slave,Reserved,L2/external/slave,?..."
    group c15:0x0206++0x00
        line.long 0x00 "IFAR,Instruction Fault Address Register"
            hexmask.long 0x00 0.--31. 1. " IFA    ,Instruction Fault Address"
    group c15:0x0015++0x00
        line.long 0x00 "DAFSR,Data Auxiliary Fault Status Register"
            hexmask.long 0x00 0.--31. 1. " DAFS   ,Data Auxiliary Fault Status"
    group c15:0x0115++0x00
        line.long 0x00 "IAFSR,Instruction Auxiliary Fault Status Register"
            hexmask.long 0x00 0.--31. 1. " IAFS   ,Instruction Auxiliary Fault Status"
    textline "                      "
    
    group c15:0x002A--0x002A
        line.long 0x00 "PMRRR,Primary Memory Region Remap Register"
            bitfld.long 0x00 19. " RSA1N  ,Shareable Attribute Remap when S=1 for Normal Regions" "Remapped,Not remapped"
            bitfld.long 0x00 18. "            RSA0N  ,Shareable Attribute Remap when S=0 for Normal Regions" "Not remapped,Remapped"
            textline "                 "
            bitfld.long 0x00 17. " RSA1D  ,Shareable Attribute Remap when S=1 for Device regions" "Remapped,Not remapped"
            bitfld.long 0x00 16. "            RSA0D  ,Shareable Attribute Remap when S=0 for Device regions" "Not remapped,Remapped"
            textline "                 "
            bitfld.long 0x00 14.--15. " TEX7   ,{TEX[0] C B} = b111 Remap" "Strongly ordered,Device,Normal,UNP"
            bitfld.long 0x00 12.--13. "        TEX6   ,{TEX[0] C B} = b110 Remap" "Strongly ordered,Device,Normal,UNP"
            textline "                 "
            bitfld.long 0x00 10.--11. " TEX5   ,{TEX[0] C B} = b101 Remap" "Strongly ordered,Device,Normal,UNP"
            bitfld.long 0x00 8.--9. "        TEX4   ,{TEX[0] C B} = b100 Remap" "Strongly ordered,Device,Normal,UNP"
            textline "                 "
            bitfld.long 0x00 6.--7. " TEX3   ,{TEX[0] C B} = b011 Remap" "Strongly ordered,Device,Normal,UNP"
            bitfld.long 0x00 4.--5. "        TEX2   ,{TEX[0] C B} = b010 Remap" "Strongly ordered,Device,Normal,UNP"
            textline "                 "
            bitfld.long 0x00 2.--3. " TEX1   ,{TEX[0] C B} = b001 Remap" "Strongly ordered,Device,Normal,UNP"
            bitfld.long 0x00 0.--1. "        TEX0   ,{TEX[0] C B} = b000 Remap" "Strongly ordered,Device,Normal,UNP"
    group c15:0x012A--0x012A
        line.long 0x00 "NMRRR,Normal Memory Region Remap Register"
            bitfld.long 0x00 30.--31. " OTEX7  ,Outer Attribute for {TEX[0] C B} = b111 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            bitfld.long 0x00 28.--29. "  OTEX6  ,Outer Attribute for {TEX[0] C B} = b110 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            textline "                 "
            bitfld.long 0x00 26.--27. " OTEX5  ,Outer Attribute for {TEX[0] C B} = b101 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            bitfld.long 0x00 24.--25. "  OTEX4  ,Outer Attribute for {TEX[0] C B} = b100 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            textline "                 "
            bitfld.long 0x00 22.--23. " OTEX3  ,Outer Attribute for {TEX[0] C B} = b011 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            bitfld.long 0x00 20.--21. "  OTEX2  ,Outer Attribute for {TEX[0] C B} = b010 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            textline "                 "
            bitfld.long 0x00 18.--19. " OTEX1  ,Outer Attribute for {TEX[0] C B} = b001 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            bitfld.long 0x00 16.--17. "  OTEX0  ,Outer Attribute for {TEX[0] C B} = b000 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            textline "                 "
            bitfld.long 0x00 14.--15. " ITEX7  ,Inner attribute for {TEX[0] C B} = b111 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            bitfld.long 0x00 12.--13. "  ITEX6  ,Inner attribute for {TEX[0] C B} = b110 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            textline "                 "
            bitfld.long 0x00 10.--11. " ITEX5  ,Inner attribute for {TEX[0] C B} = b101 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            bitfld.long 0x00 8.--9. "  ITEX4  ,Inner attribute for {TEX[0] C B} = b100 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            textline "                 "
            bitfld.long 0x00 6.--7. " ITEX3  ,Inner attribute for {TEX[0] C B} = b011 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            bitfld.long 0x00 4.--5. "  ITEX2  ,Inner attribute for {TEX[0] C B} = b010 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            textline "                 "
            bitfld.long 0x00 2.--3. " ITEX1  ,Inner attribute for {TEX[0] C B} = b001 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
            bitfld.long 0x00 0.--1. "  ITEX0  ,Inner attribute for {TEX[0] C B} = b000 Remap" "Noncachable,Write-back allocate,Write-through,Write-back no allocate"
    textline " "

    
    group c15:0x000d++0x00
        line.long 0x00 "FCSEPID,FCSE PID Register"
            hexmask.long.byte 0x00 25.--31. 1. " FCSEPID      ,Process for Fast Context Switch Identification and Specification"
    group c15:0x10d--0x10d
          line.long 0x0 "CONTEXT,Context ID Register"
              hexmask.long.tbyte 0x0 8.--31. 1. " PROCID       ,Process ID"
              hexmask.long.byte 0x0 0.--7. 1. "              ASID ,Application Space ID"
    group c15:0x020d++0x00
        line.long 0x00 "URWTPID,User Read/Write Thread and Process ID Register"
            hexmask.long 0x00 0.--31. 1. " URWTPID      ,User Read/Write Thread and Process ID"
    group c15:0x030d++0x00
        line.long 0x00 "UROTPID,User Read-Only Thread and Process ID Register"
            hexmask.long 0x00 0.--31. 1. " UROTPID      ,User Read-Only Thread and Process ID"
    group c15:0x040d++0x00
        line.long 0x00 "POTPID,Privileged Only Thread and Process ID Register"
            hexmask.long 0x00 0.--31. 1. " POTPID       ,Privileged Only Thread and Process ID"



textline ""
