; --------------------------------------------------------------------------------
; @Title: tbd.
; @Props: 
; @Author: -
; @Changelog: 
; @Manufacturer: 
; @Doc: 
; @Core: 
; @Chip: 
; @Copyright: (C) 1989-2020 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: permpc86xxmm.per 6090 2015-03-24 10:27:53Z askoncej $
tree.open "MMU Registers"
tree "DBAT-Registers"
GROUP spr:(536.)++0
TEXTLINE "DBAT0U"
HEXFLD.LONG  0x00 "  ,Upper Data Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(536.+1)++0
TEXTLINE "DBAT0L"
HEXFLD.LONG  0x00 "  , Lower Data Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.    "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.            "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.            "  PP ,Protection bits for block" "no access,read only,read/write,read only"

GROUP spr:(538.)++0
TEXTLINE "DBAT1U"
HEXFLD.LONG  0x00 "  ,Upper Data Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(538.+1)++0
TEXTLINE "DBAT1L"
HEXFLD.LONG  0x00 "  , Lower Data Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.    "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.            "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.            "  PP ,Protection bits for block" "no access,read only,read/write,read only"

GROUP spr:(540.)++0
TEXTLINE "DBAT2U"
HEXFLD.LONG  0x00 "  ,Upper Data Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(540.+1)++0
TEXTLINE "DBAT2L"
HEXFLD.LONG  0x00 "  , Lower Data Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.    "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.            "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.            "  PP ,Protection bits for block" "no access,read only,read/write,read only"

GROUP spr:(542.)++0
TEXTLINE "DBAT3U"
HEXFLD.LONG  0x00 "  ,Upper Data Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(542.+1)++0
TEXTLINE "DBAT3L"
HEXFLD.LONG  0x00 "  , Lower Data Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.    "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.            "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.            "  PP ,Protection bits for block" "no access,read only,read/write,read only"

GROUP spr:(568.)++0
TEXTLINE "DBAT4U"
HEXFLD.LONG  0x00 "  ,Upper Data Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(568.+1)++0
TEXTLINE "DBAT4L"
HEXFLD.LONG  0x00 "  , Lower Data Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.    "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.            "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.            "  PP ,Protection bits for block" "no access,read only,read/write,read only"

GROUP spr:(570.)++0
TEXTLINE "DBAT5U"
HEXFLD.LONG  0x00 "  ,Upper Data Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(570.+1)++0
TEXTLINE "DBAT5L"
HEXFLD.LONG  0x00 "  , Lower Data Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.    "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.            "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.            "  PP ,Protection bits for block" "no access,read only,read/write,read only"

GROUP spr:(572.)++0
TEXTLINE "DBAT6U"
HEXFLD.LONG  0x00 "  ,Upper Data Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(572.+1)++0
TEXTLINE "DBAT6L"
HEXFLD.LONG  0x00 "  , Lower Data Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.    "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.            "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.            "  PP ,Protection bits for block" "no access,read only,read/write,read only"

GROUP spr:(574.)++0
TEXTLINE "DBAT7U"
HEXFLD.LONG  0x00 "  ,Upper Data Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(574.+1)++0
TEXTLINE "DBAT7L"
HEXFLD.LONG  0x00 "  , Lower Data Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.    "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.            "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.            "  PP ,Protection bits for block" "no access,read only,read/write,read only"

tree.end
tree "IBAT-Registers"
GROUP spr:(528.)++0
TEXTLINE "IBAT0U"
HEXFLD.LONG  0x00 "  ,Upper Instruction Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(528.+1)++0
TEXTLINE "IBAT0L"
HEXFLD.LONG  0x00 "  , Lower Instruction Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.            "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.                    "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.                    "  PP ,Protection bits for block" "no access,read only,read/write,read only"

GROUP spr:(530.)++0
TEXTLINE "IBAT1U"
HEXFLD.LONG  0x00 "  ,Upper Instruction Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(530.+1)++0
TEXTLINE "IBAT1L"
HEXFLD.LONG  0x00 "  , Lower Instruction Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.            "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.                    "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.                    "  PP ,Protection bits for block" "no access,read only,read/write,read only"

GROUP spr:(532.)++0
TEXTLINE "IBAT2U"
HEXFLD.LONG  0x00 "  ,Upper Instruction Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(532.+1)++0
TEXTLINE "IBAT2L"
HEXFLD.LONG  0x00 "  , Lower Instruction Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.            "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.                    "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.                    "  PP ,Protection bits for block" "no access,read only,read/write,read only"

GROUP spr:(534.)++0
TEXTLINE "IBAT3U"
HEXFLD.LONG  0x00 "  ,Upper Instruction Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(534.+1)++0
TEXTLINE "IBAT3L"
HEXFLD.LONG  0x00 "  , Lower Instruction Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.            "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.                    "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.                    "  PP ,Protection bits for block" "no access,read only,read/write,read only"

GROUP spr:(560.)++0
TEXTLINE "IBAT4U"
HEXFLD.LONG  0x00 "  ,Upper Instruction Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(560.+1)++0
TEXTLINE "IBAT4L"
HEXFLD.LONG  0x00 "  , Lower Instruction Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.            "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.                    "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.                    "  PP ,Protection bits for block" "no access,read only,read/write,read only"

GROUP spr:(562.)++0
TEXTLINE "IBAT5U"
HEXFLD.LONG  0x00 "  ,Upper Instruction Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(562.+1)++0
TEXTLINE "IBAT5L"
HEXFLD.LONG  0x00 "  , Lower Instruction Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.            "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.                    "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.                    "  PP ,Protection bits for block" "no access,read only,read/write,read only"

GROUP spr:(564.)++0
TEXTLINE "IBAT6U"
HEXFLD.LONG  0x00 "  ,Upper Instruction Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(564.+1)++0
TEXTLINE "IBAT6L"
HEXFLD.LONG  0x00 "  , Lower Instruction Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.            "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.                    "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.                    "  PP ,Protection bits for block" "no access,read only,read/write,read only"

GROUP spr:(566.)++0
TEXTLINE "IBAT7U"
HEXFLD.LONG  0x00 "  ,Upper Instruction Block Allocation Table" 
HEXMASK.LONG 0x00 17.--31. 0x20000    0.    "   BEPI ,Block logical page index"
HEXMASK.LONG 0x00 02.--12. 0x1        0.    "  BL ,Block length"
BITFLD.LONG  0x00 01.                        "  Vs ,Supervisior mode valid bit" "0,1"
BITFLD.LONG  0x00 00.                        "  Vp ,User mode valid bit" "0,1"
GROUP spr:(566.+1)++0
TEXTLINE "IBAT7L"
HEXFLD.LONG  0x00 "  , Lower Instruction Block Allocation Table"
HEXMASK.LONG 0x00 17.--31. 0x20000 0.            "   BRPN , Physical block number"
BITFLD.LONG  0x00 03.--06.                    "  WIMG ,Memory/Cache access attribute bits" "____,___G,__M_,__MG,_I__,_I_G,_IM_,_IMG,W___,W__G,W_M_,W_MG,WI__,WI_G,WIM_,WIMG"
BITFLD.LONG  0x00 00.--01.                    "  PP ,Protection bits for block" "no access,read only,read/write,read only"

tree.end
tree "SDR1 Register"
GROUP spr:0x19--spr:0x19 "SDR1 Register"
LINE.LONG 0x00 "SDR1 ,SDR1-Register"
HEXMASK.LONG 0x00 16.--31. 1. 0. "  HTABORG , The high-order 16 bit of physical base address of page table"
HEXMASK.LONG 0x00 25.--31. 1. 0. "  ADR , Base address"
HEXMASK.LONG 0x00 16.--24. 1. 0. "  MSK , Maskable Bits"
HEXMASK.LONG 0x00 00.--08. 1. 0. "  HTABSIZE , Encoded size of page table"
tree.end
tree "Page Table Entry Registers"
GROUP spr:981.--981. "PTEHI Register"
LINE.long 0x00 "PTEHI, PTEHI Register"
TEXTLINE "    "
BITFLD.long  0x00 31.            "  V    ,Entry valid" "0,1"
HEXMASK.LONG 0x00 07.--30. 1. 0. "  VSID ,Virtual segment ID"
HEXMASK.LONG 0x00 00.--05. 1. 0. "  API  ,Abbreviated page index"
GROUP spr:982.--982. "PTELO Register"
LINE.long 0x00 "PTELO, PTELO Register"
TEXTLINE "    "
HEXMASK.LONG 0x00 12.--31. 1. 0. "  RPN  ,Physical page number"
HEXMASK.LONG 0x00 09.--11. 1. 0. "  XPN  ,Extended page number"
BITFLD.long  0x00 07.            "  C    ,Changed bit" "0,1"
HEXMASK.LONG 0x00 03.--06. 1. 0. "  WIMG ,Memory / Cache control bits"
BITFLD.long  0x00 02.            "  X    ,Changed bit" "0,1"
BITFLD.long  0x00 00.--01        "  PP   ,Page protection bits" "00,01,10,11"
tree.end
tree "TLB Miss Register"
WIDTH 9. 9.
GROUP spr:980.--980. "TLBMISS Register"
LINE.long 0x00 "TLBMISS, TLBMISS Register"
HEXMASK.LONG 0x00 01.--31. 1. 0. "  PAGE ,Effective page address"
BITFLD.long  0x00 00.            "  LRU  ,Least recently used way of the addressed TLB set" "0,1"
tree.end
tree  "Segment Register"
if (data.long(SPR:(0+0xC12))&0x80000000)==0x00000000
GROUP spr:(0+0xC12)++0.
LINE.LONG 0x00 "SR0 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(0+0xC12)++0.
LINE.LONG 0x00 "SR0 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(1+0xC12))&0x80000000)==0x00000000
GROUP spr:(1+0xC12)++0.
LINE.LONG 0x00 "SR1 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(1+0xC12)++0.
LINE.LONG 0x00 "SR1 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(2+0xC12))&0x80000000)==0x00000000
GROUP spr:(2+0xC12)++0.
LINE.LONG 0x00 "SR2 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(2+0xC12)++0.
LINE.LONG 0x00 "SR2 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(3+0xC12))&0x80000000)==0x00000000
GROUP spr:(3+0xC12)++0.
LINE.LONG 0x00 "SR3 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(3+0xC12)++0.
LINE.LONG 0x00 "SR3 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(4+0xC12))&0x80000000)==0x00000000
GROUP spr:(4+0xC12)++0.
LINE.LONG 0x00 "SR4 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(4+0xC12)++0.
LINE.LONG 0x00 "SR4 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(5+0xC12))&0x80000000)==0x00000000
GROUP spr:(5+0xC12)++0.
LINE.LONG 0x00 "SR5 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(5+0xC12)++0.
LINE.LONG 0x00 "SR5 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(6+0xC12))&0x80000000)==0x00000000
GROUP spr:(6+0xC12)++0.
LINE.LONG 0x00 "SR6 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(6+0xC12)++0.
LINE.LONG 0x00 "SR6 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(7+0xC12))&0x80000000)==0x00000000
GROUP spr:(7+0xC12)++0.
LINE.LONG 0x00 "SR7 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(7+0xC12)++0.
LINE.LONG 0x00 "SR7 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(8+0xC12))&0x80000000)==0x00000000
GROUP spr:(8+0xC12)++0.
LINE.LONG 0x00 "SR8 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(8+0xC12)++0.
LINE.LONG 0x00 "SR8 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(9+0xC12))&0x80000000)==0x00000000
GROUP spr:(9+0xC12)++0.
LINE.LONG 0x00 "SR9 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(9+0xC12)++0.
LINE.LONG 0x00 "SR9 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(10.+0xC12))&0x80000000)==0x00000000
GROUP spr:(10.+0xC12)++0.
LINE.LONG 0x00 "SR10 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(10.+0xC12)++0.
LINE.LONG 0x00 "SR10 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(11.+0xC12))&0x80000000)==0x00000000
GROUP spr:(11.+0xC12)++0.
LINE.LONG 0x00 "SR11 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(11.+0xC12)++0.
LINE.LONG 0x00 "SR11 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(12.+0xC12))&0x80000000)==0x00000000
GROUP spr:(12.+0xC12)++0.
LINE.LONG 0x00 "SR12 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(12.+0xC12)++0.
LINE.LONG 0x00 "SR12 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(13.+0xC12))&0x80000000)==0x00000000
GROUP spr:(13.+0xC12)++0.
LINE.LONG 0x00 "SR13 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(13.+0xC12)++0.
LINE.LONG 0x00 "SR13 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(14.+0xC12))&0x80000000)==0x00000000
GROUP spr:(14.+0xC12)++0.
LINE.LONG 0x00 "SR14 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(14.+0xC12)++0.
LINE.LONG 0x00 "SR14 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

if (data.long(SPR:(15.+0xC12))&0x80000000)==0x00000000
GROUP spr:(15.+0xC12)++0.
LINE.LONG 0x00 "SR15 ,Segment Register"
BITFLD.LONG 0x00 31.            "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.            "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.            "  Kp ,User-state protection key" "0,1"
BITFLD.LONG 0x00 28.            "  N  ,No-execute protection" "0,1"
HEXMASK.LONG 0x00 0.--23. 1. 0. " VSID ,Virtual segment ID"
else
GROUP spr:(15.+0xC12)++0.
LINE.LONG 0x00 "SR15 ,Segment Register"
BITFLD.LONG 0x00 31.               "T  , 0: page translation 1: direct store" "0,1"
BITFLD.LONG 0x00 30.             "  Ks ,Supervisor-state protection key" "0,1"
BITFLD.LONG 0x00 29.             "  Kp ,User-state protection key" "0,1"
HEXMASK.LONG.word 0x00 20.--28. 1. 0. "  BUID ,No-execute protection" 
HEXMASK.LONG 0x00 00.--19. 1. 0. "  CNTLR_SPEC ,Device specific data for I/O controller"
endif    

tree.end
tree.end
TEXTLINE ""

