uv_mmrs.h 63 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321
  1. /*
  2. * This file is subject to the terms and conditions of the GNU General Public
  3. * License. See the file "COPYING" in the main directory of this archive
  4. * for more details.
  5. *
  6. * SGI UV MMR definitions
  7. *
  8. * Copyright (C) 2007-2008 Silicon Graphics, Inc. All rights reserved.
  9. */
  10. #ifndef __ASM_X86_UV_MMRS__
  11. #define __ASM_X86_UV_MMRS__
  12. #define UV_MMR_ENABLE (1UL << 63)
  13. /* ========================================================================= */
  14. /* UVH_BAU_DATA_CONFIG */
  15. /* ========================================================================= */
  16. #define UVH_BAU_DATA_CONFIG 0x61680UL
  17. #define UVH_BAU_DATA_CONFIG_32 0x0438
  18. #define UVH_BAU_DATA_CONFIG_VECTOR_SHFT 0
  19. #define UVH_BAU_DATA_CONFIG_VECTOR_MASK 0x00000000000000ffUL
  20. #define UVH_BAU_DATA_CONFIG_DM_SHFT 8
  21. #define UVH_BAU_DATA_CONFIG_DM_MASK 0x0000000000000700UL
  22. #define UVH_BAU_DATA_CONFIG_DESTMODE_SHFT 11
  23. #define UVH_BAU_DATA_CONFIG_DESTMODE_MASK 0x0000000000000800UL
  24. #define UVH_BAU_DATA_CONFIG_STATUS_SHFT 12
  25. #define UVH_BAU_DATA_CONFIG_STATUS_MASK 0x0000000000001000UL
  26. #define UVH_BAU_DATA_CONFIG_P_SHFT 13
  27. #define UVH_BAU_DATA_CONFIG_P_MASK 0x0000000000002000UL
  28. #define UVH_BAU_DATA_CONFIG_T_SHFT 15
  29. #define UVH_BAU_DATA_CONFIG_T_MASK 0x0000000000008000UL
  30. #define UVH_BAU_DATA_CONFIG_M_SHFT 16
  31. #define UVH_BAU_DATA_CONFIG_M_MASK 0x0000000000010000UL
  32. #define UVH_BAU_DATA_CONFIG_APIC_ID_SHFT 32
  33. #define UVH_BAU_DATA_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
  34. union uvh_bau_data_config_u {
  35. unsigned long v;
  36. struct uvh_bau_data_config_s {
  37. unsigned long vector_ : 8; /* RW */
  38. unsigned long dm : 3; /* RW */
  39. unsigned long destmode : 1; /* RW */
  40. unsigned long status : 1; /* RO */
  41. unsigned long p : 1; /* RO */
  42. unsigned long rsvd_14 : 1; /* */
  43. unsigned long t : 1; /* RO */
  44. unsigned long m : 1; /* RW */
  45. unsigned long rsvd_17_31: 15; /* */
  46. unsigned long apic_id : 32; /* RW */
  47. } s;
  48. };
  49. /* ========================================================================= */
  50. /* UVH_EVENT_OCCURRED0 */
  51. /* ========================================================================= */
  52. #define UVH_EVENT_OCCURRED0 0x70000UL
  53. #define UVH_EVENT_OCCURRED0_32 0x005e8
  54. #define UVH_EVENT_OCCURRED0_LB_HCERR_SHFT 0
  55. #define UVH_EVENT_OCCURRED0_LB_HCERR_MASK 0x0000000000000001UL
  56. #define UVH_EVENT_OCCURRED0_GR0_HCERR_SHFT 1
  57. #define UVH_EVENT_OCCURRED0_GR0_HCERR_MASK 0x0000000000000002UL
  58. #define UVH_EVENT_OCCURRED0_GR1_HCERR_SHFT 2
  59. #define UVH_EVENT_OCCURRED0_GR1_HCERR_MASK 0x0000000000000004UL
  60. #define UVH_EVENT_OCCURRED0_LH_HCERR_SHFT 3
  61. #define UVH_EVENT_OCCURRED0_LH_HCERR_MASK 0x0000000000000008UL
  62. #define UVH_EVENT_OCCURRED0_RH_HCERR_SHFT 4
  63. #define UVH_EVENT_OCCURRED0_RH_HCERR_MASK 0x0000000000000010UL
  64. #define UVH_EVENT_OCCURRED0_XN_HCERR_SHFT 5
  65. #define UVH_EVENT_OCCURRED0_XN_HCERR_MASK 0x0000000000000020UL
  66. #define UVH_EVENT_OCCURRED0_SI_HCERR_SHFT 6
  67. #define UVH_EVENT_OCCURRED0_SI_HCERR_MASK 0x0000000000000040UL
  68. #define UVH_EVENT_OCCURRED0_LB_AOERR0_SHFT 7
  69. #define UVH_EVENT_OCCURRED0_LB_AOERR0_MASK 0x0000000000000080UL
  70. #define UVH_EVENT_OCCURRED0_GR0_AOERR0_SHFT 8
  71. #define UVH_EVENT_OCCURRED0_GR0_AOERR0_MASK 0x0000000000000100UL
  72. #define UVH_EVENT_OCCURRED0_GR1_AOERR0_SHFT 9
  73. #define UVH_EVENT_OCCURRED0_GR1_AOERR0_MASK 0x0000000000000200UL
  74. #define UVH_EVENT_OCCURRED0_LH_AOERR0_SHFT 10
  75. #define UVH_EVENT_OCCURRED0_LH_AOERR0_MASK 0x0000000000000400UL
  76. #define UVH_EVENT_OCCURRED0_RH_AOERR0_SHFT 11
  77. #define UVH_EVENT_OCCURRED0_RH_AOERR0_MASK 0x0000000000000800UL
  78. #define UVH_EVENT_OCCURRED0_XN_AOERR0_SHFT 12
  79. #define UVH_EVENT_OCCURRED0_XN_AOERR0_MASK 0x0000000000001000UL
  80. #define UVH_EVENT_OCCURRED0_SI_AOERR0_SHFT 13
  81. #define UVH_EVENT_OCCURRED0_SI_AOERR0_MASK 0x0000000000002000UL
  82. #define UVH_EVENT_OCCURRED0_LB_AOERR1_SHFT 14
  83. #define UVH_EVENT_OCCURRED0_LB_AOERR1_MASK 0x0000000000004000UL
  84. #define UVH_EVENT_OCCURRED0_GR0_AOERR1_SHFT 15
  85. #define UVH_EVENT_OCCURRED0_GR0_AOERR1_MASK 0x0000000000008000UL
  86. #define UVH_EVENT_OCCURRED0_GR1_AOERR1_SHFT 16
  87. #define UVH_EVENT_OCCURRED0_GR1_AOERR1_MASK 0x0000000000010000UL
  88. #define UVH_EVENT_OCCURRED0_LH_AOERR1_SHFT 17
  89. #define UVH_EVENT_OCCURRED0_LH_AOERR1_MASK 0x0000000000020000UL
  90. #define UVH_EVENT_OCCURRED0_RH_AOERR1_SHFT 18
  91. #define UVH_EVENT_OCCURRED0_RH_AOERR1_MASK 0x0000000000040000UL
  92. #define UVH_EVENT_OCCURRED0_XN_AOERR1_SHFT 19
  93. #define UVH_EVENT_OCCURRED0_XN_AOERR1_MASK 0x0000000000080000UL
  94. #define UVH_EVENT_OCCURRED0_SI_AOERR1_SHFT 20
  95. #define UVH_EVENT_OCCURRED0_SI_AOERR1_MASK 0x0000000000100000UL
  96. #define UVH_EVENT_OCCURRED0_RH_VPI_INT_SHFT 21
  97. #define UVH_EVENT_OCCURRED0_RH_VPI_INT_MASK 0x0000000000200000UL
  98. #define UVH_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT 22
  99. #define UVH_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK 0x0000000000400000UL
  100. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT 23
  101. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK 0x0000000000800000UL
  102. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT 24
  103. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK 0x0000000001000000UL
  104. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT 25
  105. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK 0x0000000002000000UL
  106. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT 26
  107. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK 0x0000000004000000UL
  108. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT 27
  109. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK 0x0000000008000000UL
  110. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT 28
  111. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK 0x0000000010000000UL
  112. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT 29
  113. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK 0x0000000020000000UL
  114. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT 30
  115. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK 0x0000000040000000UL
  116. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT 31
  117. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK 0x0000000080000000UL
  118. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT 32
  119. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK 0x0000000100000000UL
  120. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT 33
  121. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK 0x0000000200000000UL
  122. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT 34
  123. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK 0x0000000400000000UL
  124. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT 35
  125. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK 0x0000000800000000UL
  126. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT 36
  127. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK 0x0000001000000000UL
  128. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT 37
  129. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK 0x0000002000000000UL
  130. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT 38
  131. #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK 0x0000004000000000UL
  132. #define UVH_EVENT_OCCURRED0_L1_NMI_INT_SHFT 39
  133. #define UVH_EVENT_OCCURRED0_L1_NMI_INT_MASK 0x0000008000000000UL
  134. #define UVH_EVENT_OCCURRED0_STOP_CLOCK_SHFT 40
  135. #define UVH_EVENT_OCCURRED0_STOP_CLOCK_MASK 0x0000010000000000UL
  136. #define UVH_EVENT_OCCURRED0_ASIC_TO_L1_SHFT 41
  137. #define UVH_EVENT_OCCURRED0_ASIC_TO_L1_MASK 0x0000020000000000UL
  138. #define UVH_EVENT_OCCURRED0_L1_TO_ASIC_SHFT 42
  139. #define UVH_EVENT_OCCURRED0_L1_TO_ASIC_MASK 0x0000040000000000UL
  140. #define UVH_EVENT_OCCURRED0_LTC_INT_SHFT 43
  141. #define UVH_EVENT_OCCURRED0_LTC_INT_MASK 0x0000080000000000UL
  142. #define UVH_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT 44
  143. #define UVH_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK 0x0000100000000000UL
  144. #define UVH_EVENT_OCCURRED0_IPI_INT_SHFT 45
  145. #define UVH_EVENT_OCCURRED0_IPI_INT_MASK 0x0000200000000000UL
  146. #define UVH_EVENT_OCCURRED0_EXTIO_INT0_SHFT 46
  147. #define UVH_EVENT_OCCURRED0_EXTIO_INT0_MASK 0x0000400000000000UL
  148. #define UVH_EVENT_OCCURRED0_EXTIO_INT1_SHFT 47
  149. #define UVH_EVENT_OCCURRED0_EXTIO_INT1_MASK 0x0000800000000000UL
  150. #define UVH_EVENT_OCCURRED0_EXTIO_INT2_SHFT 48
  151. #define UVH_EVENT_OCCURRED0_EXTIO_INT2_MASK 0x0001000000000000UL
  152. #define UVH_EVENT_OCCURRED0_EXTIO_INT3_SHFT 49
  153. #define UVH_EVENT_OCCURRED0_EXTIO_INT3_MASK 0x0002000000000000UL
  154. #define UVH_EVENT_OCCURRED0_PROFILE_INT_SHFT 50
  155. #define UVH_EVENT_OCCURRED0_PROFILE_INT_MASK 0x0004000000000000UL
  156. #define UVH_EVENT_OCCURRED0_RTC0_SHFT 51
  157. #define UVH_EVENT_OCCURRED0_RTC0_MASK 0x0008000000000000UL
  158. #define UVH_EVENT_OCCURRED0_RTC1_SHFT 52
  159. #define UVH_EVENT_OCCURRED0_RTC1_MASK 0x0010000000000000UL
  160. #define UVH_EVENT_OCCURRED0_RTC2_SHFT 53
  161. #define UVH_EVENT_OCCURRED0_RTC2_MASK 0x0020000000000000UL
  162. #define UVH_EVENT_OCCURRED0_RTC3_SHFT 54
  163. #define UVH_EVENT_OCCURRED0_RTC3_MASK 0x0040000000000000UL
  164. #define UVH_EVENT_OCCURRED0_BAU_DATA_SHFT 55
  165. #define UVH_EVENT_OCCURRED0_BAU_DATA_MASK 0x0080000000000000UL
  166. #define UVH_EVENT_OCCURRED0_POWER_MANAGEMENT_REQ_SHFT 56
  167. #define UVH_EVENT_OCCURRED0_POWER_MANAGEMENT_REQ_MASK 0x0100000000000000UL
  168. union uvh_event_occurred0_u {
  169. unsigned long v;
  170. struct uvh_event_occurred0_s {
  171. unsigned long lb_hcerr : 1; /* RW, W1C */
  172. unsigned long gr0_hcerr : 1; /* RW, W1C */
  173. unsigned long gr1_hcerr : 1; /* RW, W1C */
  174. unsigned long lh_hcerr : 1; /* RW, W1C */
  175. unsigned long rh_hcerr : 1; /* RW, W1C */
  176. unsigned long xn_hcerr : 1; /* RW, W1C */
  177. unsigned long si_hcerr : 1; /* RW, W1C */
  178. unsigned long lb_aoerr0 : 1; /* RW, W1C */
  179. unsigned long gr0_aoerr0 : 1; /* RW, W1C */
  180. unsigned long gr1_aoerr0 : 1; /* RW, W1C */
  181. unsigned long lh_aoerr0 : 1; /* RW, W1C */
  182. unsigned long rh_aoerr0 : 1; /* RW, W1C */
  183. unsigned long xn_aoerr0 : 1; /* RW, W1C */
  184. unsigned long si_aoerr0 : 1; /* RW, W1C */
  185. unsigned long lb_aoerr1 : 1; /* RW, W1C */
  186. unsigned long gr0_aoerr1 : 1; /* RW, W1C */
  187. unsigned long gr1_aoerr1 : 1; /* RW, W1C */
  188. unsigned long lh_aoerr1 : 1; /* RW, W1C */
  189. unsigned long rh_aoerr1 : 1; /* RW, W1C */
  190. unsigned long xn_aoerr1 : 1; /* RW, W1C */
  191. unsigned long si_aoerr1 : 1; /* RW, W1C */
  192. unsigned long rh_vpi_int : 1; /* RW, W1C */
  193. unsigned long system_shutdown_int : 1; /* RW, W1C */
  194. unsigned long lb_irq_int_0 : 1; /* RW, W1C */
  195. unsigned long lb_irq_int_1 : 1; /* RW, W1C */
  196. unsigned long lb_irq_int_2 : 1; /* RW, W1C */
  197. unsigned long lb_irq_int_3 : 1; /* RW, W1C */
  198. unsigned long lb_irq_int_4 : 1; /* RW, W1C */
  199. unsigned long lb_irq_int_5 : 1; /* RW, W1C */
  200. unsigned long lb_irq_int_6 : 1; /* RW, W1C */
  201. unsigned long lb_irq_int_7 : 1; /* RW, W1C */
  202. unsigned long lb_irq_int_8 : 1; /* RW, W1C */
  203. unsigned long lb_irq_int_9 : 1; /* RW, W1C */
  204. unsigned long lb_irq_int_10 : 1; /* RW, W1C */
  205. unsigned long lb_irq_int_11 : 1; /* RW, W1C */
  206. unsigned long lb_irq_int_12 : 1; /* RW, W1C */
  207. unsigned long lb_irq_int_13 : 1; /* RW, W1C */
  208. unsigned long lb_irq_int_14 : 1; /* RW, W1C */
  209. unsigned long lb_irq_int_15 : 1; /* RW, W1C */
  210. unsigned long l1_nmi_int : 1; /* RW, W1C */
  211. unsigned long stop_clock : 1; /* RW, W1C */
  212. unsigned long asic_to_l1 : 1; /* RW, W1C */
  213. unsigned long l1_to_asic : 1; /* RW, W1C */
  214. unsigned long ltc_int : 1; /* RW, W1C */
  215. unsigned long la_seq_trigger : 1; /* RW, W1C */
  216. unsigned long ipi_int : 1; /* RW, W1C */
  217. unsigned long extio_int0 : 1; /* RW, W1C */
  218. unsigned long extio_int1 : 1; /* RW, W1C */
  219. unsigned long extio_int2 : 1; /* RW, W1C */
  220. unsigned long extio_int3 : 1; /* RW, W1C */
  221. unsigned long profile_int : 1; /* RW, W1C */
  222. unsigned long rtc0 : 1; /* RW, W1C */
  223. unsigned long rtc1 : 1; /* RW, W1C */
  224. unsigned long rtc2 : 1; /* RW, W1C */
  225. unsigned long rtc3 : 1; /* RW, W1C */
  226. unsigned long bau_data : 1; /* RW, W1C */
  227. unsigned long power_management_req : 1; /* RW, W1C */
  228. unsigned long rsvd_57_63 : 7; /* */
  229. } s;
  230. };
  231. /* ========================================================================= */
  232. /* UVH_EVENT_OCCURRED0_ALIAS */
  233. /* ========================================================================= */
  234. #define UVH_EVENT_OCCURRED0_ALIAS 0x0000000000070008UL
  235. #define UVH_EVENT_OCCURRED0_ALIAS_32 0x005f0
  236. /* ========================================================================= */
  237. /* UVH_INT_CMPB */
  238. /* ========================================================================= */
  239. #define UVH_INT_CMPB 0x22080UL
  240. #define UVH_INT_CMPB_REAL_TIME_CMPB_SHFT 0
  241. #define UVH_INT_CMPB_REAL_TIME_CMPB_MASK 0x00ffffffffffffffUL
  242. union uvh_int_cmpb_u {
  243. unsigned long v;
  244. struct uvh_int_cmpb_s {
  245. unsigned long real_time_cmpb : 56; /* RW */
  246. unsigned long rsvd_56_63 : 8; /* */
  247. } s;
  248. };
  249. /* ========================================================================= */
  250. /* UVH_INT_CMPC */
  251. /* ========================================================================= */
  252. #define UVH_INT_CMPC 0x22100UL
  253. #define UVH_INT_CMPC_REAL_TIME_CMPC_SHFT 0
  254. #define UVH_INT_CMPC_REAL_TIME_CMPC_MASK 0x00ffffffffffffffUL
  255. union uvh_int_cmpc_u {
  256. unsigned long v;
  257. struct uvh_int_cmpc_s {
  258. unsigned long real_time_cmpc : 56; /* RW */
  259. unsigned long rsvd_56_63 : 8; /* */
  260. } s;
  261. };
  262. /* ========================================================================= */
  263. /* UVH_INT_CMPD */
  264. /* ========================================================================= */
  265. #define UVH_INT_CMPD 0x22180UL
  266. #define UVH_INT_CMPD_REAL_TIME_CMPD_SHFT 0
  267. #define UVH_INT_CMPD_REAL_TIME_CMPD_MASK 0x00ffffffffffffffUL
  268. union uvh_int_cmpd_u {
  269. unsigned long v;
  270. struct uvh_int_cmpd_s {
  271. unsigned long real_time_cmpd : 56; /* RW */
  272. unsigned long rsvd_56_63 : 8; /* */
  273. } s;
  274. };
  275. /* ========================================================================= */
  276. /* UVH_IPI_INT */
  277. /* ========================================================================= */
  278. #define UVH_IPI_INT 0x60500UL
  279. #define UVH_IPI_INT_32 0x0348
  280. #define UVH_IPI_INT_VECTOR_SHFT 0
  281. #define UVH_IPI_INT_VECTOR_MASK 0x00000000000000ffUL
  282. #define UVH_IPI_INT_DELIVERY_MODE_SHFT 8
  283. #define UVH_IPI_INT_DELIVERY_MODE_MASK 0x0000000000000700UL
  284. #define UVH_IPI_INT_DESTMODE_SHFT 11
  285. #define UVH_IPI_INT_DESTMODE_MASK 0x0000000000000800UL
  286. #define UVH_IPI_INT_APIC_ID_SHFT 16
  287. #define UVH_IPI_INT_APIC_ID_MASK 0x0000ffffffff0000UL
  288. #define UVH_IPI_INT_SEND_SHFT 63
  289. #define UVH_IPI_INT_SEND_MASK 0x8000000000000000UL
  290. union uvh_ipi_int_u {
  291. unsigned long v;
  292. struct uvh_ipi_int_s {
  293. unsigned long vector_ : 8; /* RW */
  294. unsigned long delivery_mode : 3; /* RW */
  295. unsigned long destmode : 1; /* RW */
  296. unsigned long rsvd_12_15 : 4; /* */
  297. unsigned long apic_id : 32; /* RW */
  298. unsigned long rsvd_48_62 : 15; /* */
  299. unsigned long send : 1; /* WP */
  300. } s;
  301. };
  302. /* ========================================================================= */
  303. /* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST */
  304. /* ========================================================================= */
  305. #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL
  306. #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_32 0x009c0
  307. #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4
  308. #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_MASK 0x000007fffffffff0UL
  309. #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49
  310. #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_MASK 0x7ffe000000000000UL
  311. union uvh_lb_bau_intd_payload_queue_first_u {
  312. unsigned long v;
  313. struct uvh_lb_bau_intd_payload_queue_first_s {
  314. unsigned long rsvd_0_3: 4; /* */
  315. unsigned long address : 39; /* RW */
  316. unsigned long rsvd_43_48: 6; /* */
  317. unsigned long node_id : 14; /* RW */
  318. unsigned long rsvd_63 : 1; /* */
  319. } s;
  320. };
  321. /* ========================================================================= */
  322. /* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST */
  323. /* ========================================================================= */
  324. #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL
  325. #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_32 0x009c8
  326. #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4
  327. #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL
  328. union uvh_lb_bau_intd_payload_queue_last_u {
  329. unsigned long v;
  330. struct uvh_lb_bau_intd_payload_queue_last_s {
  331. unsigned long rsvd_0_3: 4; /* */
  332. unsigned long address : 39; /* RW */
  333. unsigned long rsvd_43_63: 21; /* */
  334. } s;
  335. };
  336. /* ========================================================================= */
  337. /* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL */
  338. /* ========================================================================= */
  339. #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL
  340. #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_32 0x009d0
  341. #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4
  342. #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL
  343. union uvh_lb_bau_intd_payload_queue_tail_u {
  344. unsigned long v;
  345. struct uvh_lb_bau_intd_payload_queue_tail_s {
  346. unsigned long rsvd_0_3: 4; /* */
  347. unsigned long address : 39; /* RW */
  348. unsigned long rsvd_43_63: 21; /* */
  349. } s;
  350. };
  351. /* ========================================================================= */
  352. /* UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE */
  353. /* ========================================================================= */
  354. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL
  355. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_32 0x0a68
  356. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0
  357. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_MASK 0x0000000000000001UL
  358. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1
  359. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_MASK 0x0000000000000002UL
  360. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_SHFT 2
  361. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_MASK 0x0000000000000004UL
  362. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_SHFT 3
  363. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_MASK 0x0000000000000008UL
  364. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_SHFT 4
  365. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_MASK 0x0000000000000010UL
  366. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_SHFT 5
  367. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_MASK 0x0000000000000020UL
  368. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_SHFT 6
  369. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_MASK 0x0000000000000040UL
  370. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_SHFT 7
  371. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_MASK 0x0000000000000080UL
  372. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_SHFT 8
  373. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_MASK 0x0000000000000100UL
  374. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_SHFT 9
  375. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_MASK 0x0000000000000200UL
  376. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_SHFT 10
  377. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_MASK 0x0000000000000400UL
  378. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_SHFT 11
  379. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_MASK 0x0000000000000800UL
  380. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_SHFT 12
  381. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_MASK 0x0000000000001000UL
  382. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_SHFT 13
  383. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_MASK 0x0000000000002000UL
  384. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_SHFT 14
  385. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_MASK 0x0000000000004000UL
  386. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_SHFT 15
  387. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_MASK 0x0000000000008000UL
  388. union uvh_lb_bau_intd_software_acknowledge_u {
  389. unsigned long v;
  390. struct uvh_lb_bau_intd_software_acknowledge_s {
  391. unsigned long pending_0 : 1; /* RW, W1C */
  392. unsigned long pending_1 : 1; /* RW, W1C */
  393. unsigned long pending_2 : 1; /* RW, W1C */
  394. unsigned long pending_3 : 1; /* RW, W1C */
  395. unsigned long pending_4 : 1; /* RW, W1C */
  396. unsigned long pending_5 : 1; /* RW, W1C */
  397. unsigned long pending_6 : 1; /* RW, W1C */
  398. unsigned long pending_7 : 1; /* RW, W1C */
  399. unsigned long timeout_0 : 1; /* RW, W1C */
  400. unsigned long timeout_1 : 1; /* RW, W1C */
  401. unsigned long timeout_2 : 1; /* RW, W1C */
  402. unsigned long timeout_3 : 1; /* RW, W1C */
  403. unsigned long timeout_4 : 1; /* RW, W1C */
  404. unsigned long timeout_5 : 1; /* RW, W1C */
  405. unsigned long timeout_6 : 1; /* RW, W1C */
  406. unsigned long timeout_7 : 1; /* RW, W1C */
  407. unsigned long rsvd_16_63: 48; /* */
  408. } s;
  409. };
  410. /* ========================================================================= */
  411. /* UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS */
  412. /* ========================================================================= */
  413. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x0000000000320088UL
  414. #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS_32 0x0a70
  415. /* ========================================================================= */
  416. /* UVH_LB_BAU_SB_ACTIVATION_CONTROL */
  417. /* ========================================================================= */
  418. #define UVH_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL
  419. #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_32 0x009a8
  420. #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_SHFT 0
  421. #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_MASK 0x000000000000003fUL
  422. #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_SHFT 62
  423. #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_MASK 0x4000000000000000UL
  424. #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INIT_SHFT 63
  425. #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INIT_MASK 0x8000000000000000UL
  426. union uvh_lb_bau_sb_activation_control_u {
  427. unsigned long v;
  428. struct uvh_lb_bau_sb_activation_control_s {
  429. unsigned long index : 6; /* RW */
  430. unsigned long rsvd_6_61: 56; /* */
  431. unsigned long push : 1; /* WP */
  432. unsigned long init : 1; /* WP */
  433. } s;
  434. };
  435. /* ========================================================================= */
  436. /* UVH_LB_BAU_SB_ACTIVATION_STATUS_0 */
  437. /* ========================================================================= */
  438. #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL
  439. #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x009b0
  440. #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_SHFT 0
  441. #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_MASK 0xffffffffffffffffUL
  442. union uvh_lb_bau_sb_activation_status_0_u {
  443. unsigned long v;
  444. struct uvh_lb_bau_sb_activation_status_0_s {
  445. unsigned long status : 64; /* RW */
  446. } s;
  447. };
  448. /* ========================================================================= */
  449. /* UVH_LB_BAU_SB_ACTIVATION_STATUS_1 */
  450. /* ========================================================================= */
  451. #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL
  452. #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x009b8
  453. #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_SHFT 0
  454. #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_MASK 0xffffffffffffffffUL
  455. union uvh_lb_bau_sb_activation_status_1_u {
  456. unsigned long v;
  457. struct uvh_lb_bau_sb_activation_status_1_s {
  458. unsigned long status : 64; /* RW */
  459. } s;
  460. };
  461. /* ========================================================================= */
  462. /* UVH_LB_BAU_SB_DESCRIPTOR_BASE */
  463. /* ========================================================================= */
  464. #define UVH_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL
  465. #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_32 0x009a0
  466. #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_SHFT 12
  467. #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000007fffffff000UL
  468. #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT 49
  469. #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK 0x7ffe000000000000UL
  470. union uvh_lb_bau_sb_descriptor_base_u {
  471. unsigned long v;
  472. struct uvh_lb_bau_sb_descriptor_base_s {
  473. unsigned long rsvd_0_11 : 12; /* */
  474. unsigned long page_address : 31; /* RW */
  475. unsigned long rsvd_43_48 : 6; /* */
  476. unsigned long node_id : 14; /* RW */
  477. unsigned long rsvd_63 : 1; /* */
  478. } s;
  479. };
  480. /* ========================================================================= */
  481. /* UVH_LB_MCAST_AOERR0_RPT_ENABLE */
  482. /* ========================================================================= */
  483. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE 0x50b20UL
  484. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_OBESE_MSG_SHFT 0
  485. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_OBESE_MSG_MASK 0x0000000000000001UL
  486. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_DATA_SB_ERR_SHFT 1
  487. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_DATA_SB_ERR_MASK 0x0000000000000002UL
  488. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_NACK_BUFF_PARITY_SHFT 2
  489. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_NACK_BUFF_PARITY_MASK 0x0000000000000004UL
  490. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_TIMEOUT_SHFT 3
  491. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_TIMEOUT_MASK 0x0000000000000008UL
  492. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_INACTIVE_REPLY_SHFT 4
  493. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_INACTIVE_REPLY_MASK 0x0000000000000010UL
  494. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_UPGRADE_ERROR_SHFT 5
  495. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_UPGRADE_ERROR_MASK 0x0000000000000020UL
  496. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_REG_COUNT_UNDERFLOW_SHFT 6
  497. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_REG_COUNT_UNDERFLOW_MASK 0x0000000000000040UL
  498. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_REP_OBESE_MSG_SHFT 7
  499. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MCAST_REP_OBESE_MSG_MASK 0x0000000000000080UL
  500. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_REQ_RUNT_MSG_SHFT 8
  501. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_REQ_RUNT_MSG_MASK 0x0000000000000100UL
  502. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_REQ_OBESE_MSG_SHFT 9
  503. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_REQ_OBESE_MSG_MASK 0x0000000000000200UL
  504. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_REQ_DATA_SB_ERR_SHFT 10
  505. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_REQ_DATA_SB_ERR_MASK 0x0000000000000400UL
  506. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_REP_RUNT_MSG_SHFT 11
  507. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_REP_RUNT_MSG_MASK 0x0000000000000800UL
  508. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_REP_OBESE_MSG_SHFT 12
  509. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_REP_OBESE_MSG_MASK 0x0000000000001000UL
  510. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_REP_DATA_SB_ERR_SHFT 13
  511. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_REP_DATA_SB_ERR_MASK 0x0000000000002000UL
  512. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_REP_COMMAND_ERR_SHFT 14
  513. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_REP_COMMAND_ERR_MASK 0x0000000000004000UL
  514. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_PEND_TIMEOUT_SHFT 15
  515. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_UCACHE_PEND_TIMEOUT_MASK 0x0000000000008000UL
  516. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_REQ_RUNT_MSG_SHFT 16
  517. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_REQ_RUNT_MSG_MASK 0x0000000000010000UL
  518. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_REQ_OBESE_MSG_SHFT 17
  519. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_REQ_OBESE_MSG_MASK 0x0000000000020000UL
  520. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_REQ_DATA_SB_ERR_SHFT 18
  521. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_REQ_DATA_SB_ERR_MASK 0x0000000000040000UL
  522. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_REP_RUNT_MSG_SHFT 19
  523. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_REP_RUNT_MSG_MASK 0x0000000000080000UL
  524. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_REP_OBESE_MSG_SHFT 20
  525. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_REP_OBESE_MSG_MASK 0x0000000000100000UL
  526. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_REP_DATA_SB_ERR_SHFT 21
  527. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_REP_DATA_SB_ERR_MASK 0x0000000000200000UL
  528. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_AMO_TIMEOUT_SHFT 22
  529. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_AMO_TIMEOUT_MASK 0x0000000000400000UL
  530. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_PUT_TIMEOUT_SHFT 23
  531. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_PUT_TIMEOUT_MASK 0x0000000000800000UL
  532. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_SPURIOUS_EVENT_SHFT 24
  533. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_MACC_SPURIOUS_EVENT_MASK 0x0000000001000000UL
  534. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_IOH_DESTINATION_TABLE_PARITY_SHFT 25
  535. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_IOH_DESTINATION_TABLE_PARITY_MASK 0x0000000002000000UL
  536. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_GET_HAD_ERROR_REPLY_SHFT 26
  537. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_GET_HAD_ERROR_REPLY_MASK 0x0000000004000000UL
  538. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_GET_TIMEOUT_SHFT 27
  539. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_GET_TIMEOUT_MASK 0x0000000008000000UL
  540. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_LOCK_MANAGER_HAD_ERROR_REPLY_SHFT 28
  541. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_LOCK_MANAGER_HAD_ERROR_REPLY_MASK 0x0000000010000000UL
  542. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_PUT_HAD_ERROR_REPLY_SHFT 29
  543. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_PUT_HAD_ERROR_REPLY_MASK 0x0000000020000000UL
  544. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_PUT_TIMEOUT_SHFT 30
  545. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_PUT_TIMEOUT_MASK 0x0000000040000000UL
  546. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_SB_ACTIVATION_OVERRUN_SHFT 31
  547. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_SB_ACTIVATION_OVERRUN_MASK 0x0000000080000000UL
  548. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_COMPLETED_GB_ACTIVATION_HAD_ERROR_REPLY_SHFT 32
  549. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_COMPLETED_GB_ACTIVATION_HAD_ERROR_REPLY_MASK 0x0000000100000000UL
  550. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_COMPLETED_GB_ACTIVATION_TIMEOUT_SHFT 33
  551. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_COMPLETED_GB_ACTIVATION_TIMEOUT_MASK 0x0000000200000000UL
  552. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_DESCRIPTOR_BUFFER_0_PARITY_SHFT 34
  553. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_DESCRIPTOR_BUFFER_0_PARITY_MASK 0x0000000400000000UL
  554. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_DESCRIPTOR_BUFFER_1_PARITY_SHFT 35
  555. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_DESCRIPTOR_BUFFER_1_PARITY_MASK 0x0000000800000000UL
  556. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_SOCKET_DESTINATION_TABLE_PARITY_SHFT 36
  557. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_SOCKET_DESTINATION_TABLE_PARITY_MASK 0x0000001000000000UL
  558. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_BAU_REPLY_PAYLOAD_CORRUPTION_SHFT 37
  559. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_BAU_REPLY_PAYLOAD_CORRUPTION_MASK 0x0000002000000000UL
  560. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_IO_PORT_DESTINATION_TABLE_PARITY_SHFT 38
  561. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_IO_PORT_DESTINATION_TABLE_PARITY_MASK 0x0000004000000000UL
  562. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_INTD_SOFT_ACK_TIMEOUT_SHFT 39
  563. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_INTD_SOFT_ACK_TIMEOUT_MASK 0x0000008000000000UL
  564. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_INT_REP_OBESE_MSG_SHFT 40
  565. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_INT_REP_OBESE_MSG_MASK 0x0000010000000000UL
  566. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_INT_REP_COMMAND_ERR_SHFT 41
  567. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_INT_REP_COMMAND_ERR_MASK 0x0000020000000000UL
  568. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_INT_TIMEOUT_SHFT 42
  569. #define UVH_LB_MCAST_AOERR0_RPT_ENABLE_INT_TIMEOUT_MASK 0x0000040000000000UL
  570. union uvh_lb_mcast_aoerr0_rpt_enable_u {
  571. unsigned long v;
  572. struct uvh_lb_mcast_aoerr0_rpt_enable_s {
  573. unsigned long mcast_obese_msg : 1; /* RW */
  574. unsigned long mcast_data_sb_err : 1; /* RW */
  575. unsigned long mcast_nack_buff_parity : 1; /* RW */
  576. unsigned long mcast_timeout : 1; /* RW */
  577. unsigned long mcast_inactive_reply : 1; /* RW */
  578. unsigned long mcast_upgrade_error : 1; /* RW */
  579. unsigned long mcast_reg_count_underflow : 1; /* RW */
  580. unsigned long mcast_rep_obese_msg : 1; /* RW */
  581. unsigned long ucache_req_runt_msg : 1; /* RW */
  582. unsigned long ucache_req_obese_msg : 1; /* RW */
  583. unsigned long ucache_req_data_sb_err : 1; /* RW */
  584. unsigned long ucache_rep_runt_msg : 1; /* RW */
  585. unsigned long ucache_rep_obese_msg : 1; /* RW */
  586. unsigned long ucache_rep_data_sb_err : 1; /* RW */
  587. unsigned long ucache_rep_command_err : 1; /* RW */
  588. unsigned long ucache_pend_timeout : 1; /* RW */
  589. unsigned long macc_req_runt_msg : 1; /* RW */
  590. unsigned long macc_req_obese_msg : 1; /* RW */
  591. unsigned long macc_req_data_sb_err : 1; /* RW */
  592. unsigned long macc_rep_runt_msg : 1; /* RW */
  593. unsigned long macc_rep_obese_msg : 1; /* RW */
  594. unsigned long macc_rep_data_sb_err : 1; /* RW */
  595. unsigned long macc_amo_timeout : 1; /* RW */
  596. unsigned long macc_put_timeout : 1; /* RW */
  597. unsigned long macc_spurious_event : 1; /* RW */
  598. unsigned long ioh_destination_table_parity : 1; /* RW */
  599. unsigned long get_had_error_reply : 1; /* RW */
  600. unsigned long get_timeout : 1; /* RW */
  601. unsigned long lock_manager_had_error_reply : 1; /* RW */
  602. unsigned long put_had_error_reply : 1; /* RW */
  603. unsigned long put_timeout : 1; /* RW */
  604. unsigned long sb_activation_overrun : 1; /* RW */
  605. unsigned long completed_gb_activation_had_error_reply : 1; /* RW */
  606. unsigned long completed_gb_activation_timeout : 1; /* RW */
  607. unsigned long descriptor_buffer_0_parity : 1; /* RW */
  608. unsigned long descriptor_buffer_1_parity : 1; /* RW */
  609. unsigned long socket_destination_table_parity : 1; /* RW */
  610. unsigned long bau_reply_payload_corruption : 1; /* RW */
  611. unsigned long io_port_destination_table_parity : 1; /* RW */
  612. unsigned long intd_soft_ack_timeout : 1; /* RW */
  613. unsigned long int_rep_obese_msg : 1; /* RW */
  614. unsigned long int_rep_command_err : 1; /* RW */
  615. unsigned long int_timeout : 1; /* RW */
  616. unsigned long rsvd_43_63 : 21; /* */
  617. } s;
  618. };
  619. /* ========================================================================= */
  620. /* UVH_LOCAL_INT0_CONFIG */
  621. /* ========================================================================= */
  622. #define UVH_LOCAL_INT0_CONFIG 0x61000UL
  623. #define UVH_LOCAL_INT0_CONFIG_VECTOR_SHFT 0
  624. #define UVH_LOCAL_INT0_CONFIG_VECTOR_MASK 0x00000000000000ffUL
  625. #define UVH_LOCAL_INT0_CONFIG_DM_SHFT 8
  626. #define UVH_LOCAL_INT0_CONFIG_DM_MASK 0x0000000000000700UL
  627. #define UVH_LOCAL_INT0_CONFIG_DESTMODE_SHFT 11
  628. #define UVH_LOCAL_INT0_CONFIG_DESTMODE_MASK 0x0000000000000800UL
  629. #define UVH_LOCAL_INT0_CONFIG_STATUS_SHFT 12
  630. #define UVH_LOCAL_INT0_CONFIG_STATUS_MASK 0x0000000000001000UL
  631. #define UVH_LOCAL_INT0_CONFIG_P_SHFT 13
  632. #define UVH_LOCAL_INT0_CONFIG_P_MASK 0x0000000000002000UL
  633. #define UVH_LOCAL_INT0_CONFIG_T_SHFT 15
  634. #define UVH_LOCAL_INT0_CONFIG_T_MASK 0x0000000000008000UL
  635. #define UVH_LOCAL_INT0_CONFIG_M_SHFT 16
  636. #define UVH_LOCAL_INT0_CONFIG_M_MASK 0x0000000000010000UL
  637. #define UVH_LOCAL_INT0_CONFIG_APIC_ID_SHFT 32
  638. #define UVH_LOCAL_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
  639. union uvh_local_int0_config_u {
  640. unsigned long v;
  641. struct uvh_local_int0_config_s {
  642. unsigned long vector_ : 8; /* RW */
  643. unsigned long dm : 3; /* RW */
  644. unsigned long destmode : 1; /* RW */
  645. unsigned long status : 1; /* RO */
  646. unsigned long p : 1; /* RO */
  647. unsigned long rsvd_14 : 1; /* */
  648. unsigned long t : 1; /* RO */
  649. unsigned long m : 1; /* RW */
  650. unsigned long rsvd_17_31: 15; /* */
  651. unsigned long apic_id : 32; /* RW */
  652. } s;
  653. };
  654. /* ========================================================================= */
  655. /* UVH_LOCAL_INT0_ENABLE */
  656. /* ========================================================================= */
  657. #define UVH_LOCAL_INT0_ENABLE 0x65000UL
  658. #define UVH_LOCAL_INT0_ENABLE_LB_HCERR_SHFT 0
  659. #define UVH_LOCAL_INT0_ENABLE_LB_HCERR_MASK 0x0000000000000001UL
  660. #define UVH_LOCAL_INT0_ENABLE_GR0_HCERR_SHFT 1
  661. #define UVH_LOCAL_INT0_ENABLE_GR0_HCERR_MASK 0x0000000000000002UL
  662. #define UVH_LOCAL_INT0_ENABLE_GR1_HCERR_SHFT 2
  663. #define UVH_LOCAL_INT0_ENABLE_GR1_HCERR_MASK 0x0000000000000004UL
  664. #define UVH_LOCAL_INT0_ENABLE_LH_HCERR_SHFT 3
  665. #define UVH_LOCAL_INT0_ENABLE_LH_HCERR_MASK 0x0000000000000008UL
  666. #define UVH_LOCAL_INT0_ENABLE_RH_HCERR_SHFT 4
  667. #define UVH_LOCAL_INT0_ENABLE_RH_HCERR_MASK 0x0000000000000010UL
  668. #define UVH_LOCAL_INT0_ENABLE_XN_HCERR_SHFT 5
  669. #define UVH_LOCAL_INT0_ENABLE_XN_HCERR_MASK 0x0000000000000020UL
  670. #define UVH_LOCAL_INT0_ENABLE_SI_HCERR_SHFT 6
  671. #define UVH_LOCAL_INT0_ENABLE_SI_HCERR_MASK 0x0000000000000040UL
  672. #define UVH_LOCAL_INT0_ENABLE_LB_AOERR0_SHFT 7
  673. #define UVH_LOCAL_INT0_ENABLE_LB_AOERR0_MASK 0x0000000000000080UL
  674. #define UVH_LOCAL_INT0_ENABLE_GR0_AOERR0_SHFT 8
  675. #define UVH_LOCAL_INT0_ENABLE_GR0_AOERR0_MASK 0x0000000000000100UL
  676. #define UVH_LOCAL_INT0_ENABLE_GR1_AOERR0_SHFT 9
  677. #define UVH_LOCAL_INT0_ENABLE_GR1_AOERR0_MASK 0x0000000000000200UL
  678. #define UVH_LOCAL_INT0_ENABLE_LH_AOERR0_SHFT 10
  679. #define UVH_LOCAL_INT0_ENABLE_LH_AOERR0_MASK 0x0000000000000400UL
  680. #define UVH_LOCAL_INT0_ENABLE_RH_AOERR0_SHFT 11
  681. #define UVH_LOCAL_INT0_ENABLE_RH_AOERR0_MASK 0x0000000000000800UL
  682. #define UVH_LOCAL_INT0_ENABLE_XN_AOERR0_SHFT 12
  683. #define UVH_LOCAL_INT0_ENABLE_XN_AOERR0_MASK 0x0000000000001000UL
  684. #define UVH_LOCAL_INT0_ENABLE_SI_AOERR0_SHFT 13
  685. #define UVH_LOCAL_INT0_ENABLE_SI_AOERR0_MASK 0x0000000000002000UL
  686. #define UVH_LOCAL_INT0_ENABLE_LB_AOERR1_SHFT 14
  687. #define UVH_LOCAL_INT0_ENABLE_LB_AOERR1_MASK 0x0000000000004000UL
  688. #define UVH_LOCAL_INT0_ENABLE_GR0_AOERR1_SHFT 15
  689. #define UVH_LOCAL_INT0_ENABLE_GR0_AOERR1_MASK 0x0000000000008000UL
  690. #define UVH_LOCAL_INT0_ENABLE_GR1_AOERR1_SHFT 16
  691. #define UVH_LOCAL_INT0_ENABLE_GR1_AOERR1_MASK 0x0000000000010000UL
  692. #define UVH_LOCAL_INT0_ENABLE_LH_AOERR1_SHFT 17
  693. #define UVH_LOCAL_INT0_ENABLE_LH_AOERR1_MASK 0x0000000000020000UL
  694. #define UVH_LOCAL_INT0_ENABLE_RH_AOERR1_SHFT 18
  695. #define UVH_LOCAL_INT0_ENABLE_RH_AOERR1_MASK 0x0000000000040000UL
  696. #define UVH_LOCAL_INT0_ENABLE_XN_AOERR1_SHFT 19
  697. #define UVH_LOCAL_INT0_ENABLE_XN_AOERR1_MASK 0x0000000000080000UL
  698. #define UVH_LOCAL_INT0_ENABLE_SI_AOERR1_SHFT 20
  699. #define UVH_LOCAL_INT0_ENABLE_SI_AOERR1_MASK 0x0000000000100000UL
  700. #define UVH_LOCAL_INT0_ENABLE_RH_VPI_INT_SHFT 21
  701. #define UVH_LOCAL_INT0_ENABLE_RH_VPI_INT_MASK 0x0000000000200000UL
  702. #define UVH_LOCAL_INT0_ENABLE_SYSTEM_SHUTDOWN_INT_SHFT 22
  703. #define UVH_LOCAL_INT0_ENABLE_SYSTEM_SHUTDOWN_INT_MASK 0x0000000000400000UL
  704. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_0_SHFT 23
  705. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_0_MASK 0x0000000000800000UL
  706. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_1_SHFT 24
  707. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_1_MASK 0x0000000001000000UL
  708. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_2_SHFT 25
  709. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_2_MASK 0x0000000002000000UL
  710. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_3_SHFT 26
  711. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_3_MASK 0x0000000004000000UL
  712. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_4_SHFT 27
  713. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_4_MASK 0x0000000008000000UL
  714. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_5_SHFT 28
  715. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_5_MASK 0x0000000010000000UL
  716. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_6_SHFT 29
  717. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_6_MASK 0x0000000020000000UL
  718. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_7_SHFT 30
  719. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_7_MASK 0x0000000040000000UL
  720. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_8_SHFT 31
  721. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_8_MASK 0x0000000080000000UL
  722. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_9_SHFT 32
  723. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_9_MASK 0x0000000100000000UL
  724. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_10_SHFT 33
  725. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_10_MASK 0x0000000200000000UL
  726. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_11_SHFT 34
  727. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_11_MASK 0x0000000400000000UL
  728. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_12_SHFT 35
  729. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_12_MASK 0x0000000800000000UL
  730. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_13_SHFT 36
  731. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_13_MASK 0x0000001000000000UL
  732. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_14_SHFT 37
  733. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_14_MASK 0x0000002000000000UL
  734. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_15_SHFT 38
  735. #define UVH_LOCAL_INT0_ENABLE_LB_IRQ_INT_15_MASK 0x0000004000000000UL
  736. #define UVH_LOCAL_INT0_ENABLE_L1_NMI_INT_SHFT 39
  737. #define UVH_LOCAL_INT0_ENABLE_L1_NMI_INT_MASK 0x0000008000000000UL
  738. #define UVH_LOCAL_INT0_ENABLE_STOP_CLOCK_SHFT 40
  739. #define UVH_LOCAL_INT0_ENABLE_STOP_CLOCK_MASK 0x0000010000000000UL
  740. #define UVH_LOCAL_INT0_ENABLE_ASIC_TO_L1_SHFT 41
  741. #define UVH_LOCAL_INT0_ENABLE_ASIC_TO_L1_MASK 0x0000020000000000UL
  742. #define UVH_LOCAL_INT0_ENABLE_L1_TO_ASIC_SHFT 42
  743. #define UVH_LOCAL_INT0_ENABLE_L1_TO_ASIC_MASK 0x0000040000000000UL
  744. #define UVH_LOCAL_INT0_ENABLE_LTC_INT_SHFT 43
  745. #define UVH_LOCAL_INT0_ENABLE_LTC_INT_MASK 0x0000080000000000UL
  746. #define UVH_LOCAL_INT0_ENABLE_LA_SEQ_TRIGGER_SHFT 44
  747. #define UVH_LOCAL_INT0_ENABLE_LA_SEQ_TRIGGER_MASK 0x0000100000000000UL
  748. union uvh_local_int0_enable_u {
  749. unsigned long v;
  750. struct uvh_local_int0_enable_s {
  751. unsigned long lb_hcerr : 1; /* RW */
  752. unsigned long gr0_hcerr : 1; /* RW */
  753. unsigned long gr1_hcerr : 1; /* RW */
  754. unsigned long lh_hcerr : 1; /* RW */
  755. unsigned long rh_hcerr : 1; /* RW */
  756. unsigned long xn_hcerr : 1; /* RW */
  757. unsigned long si_hcerr : 1; /* RW */
  758. unsigned long lb_aoerr0 : 1; /* RW */
  759. unsigned long gr0_aoerr0 : 1; /* RW */
  760. unsigned long gr1_aoerr0 : 1; /* RW */
  761. unsigned long lh_aoerr0 : 1; /* RW */
  762. unsigned long rh_aoerr0 : 1; /* RW */
  763. unsigned long xn_aoerr0 : 1; /* RW */
  764. unsigned long si_aoerr0 : 1; /* RW */
  765. unsigned long lb_aoerr1 : 1; /* RW */
  766. unsigned long gr0_aoerr1 : 1; /* RW */
  767. unsigned long gr1_aoerr1 : 1; /* RW */
  768. unsigned long lh_aoerr1 : 1; /* RW */
  769. unsigned long rh_aoerr1 : 1; /* RW */
  770. unsigned long xn_aoerr1 : 1; /* RW */
  771. unsigned long si_aoerr1 : 1; /* RW */
  772. unsigned long rh_vpi_int : 1; /* RW */
  773. unsigned long system_shutdown_int : 1; /* RW */
  774. unsigned long lb_irq_int_0 : 1; /* RW */
  775. unsigned long lb_irq_int_1 : 1; /* RW */
  776. unsigned long lb_irq_int_2 : 1; /* RW */
  777. unsigned long lb_irq_int_3 : 1; /* RW */
  778. unsigned long lb_irq_int_4 : 1; /* RW */
  779. unsigned long lb_irq_int_5 : 1; /* RW */
  780. unsigned long lb_irq_int_6 : 1; /* RW */
  781. unsigned long lb_irq_int_7 : 1; /* RW */
  782. unsigned long lb_irq_int_8 : 1; /* RW */
  783. unsigned long lb_irq_int_9 : 1; /* RW */
  784. unsigned long lb_irq_int_10 : 1; /* RW */
  785. unsigned long lb_irq_int_11 : 1; /* RW */
  786. unsigned long lb_irq_int_12 : 1; /* RW */
  787. unsigned long lb_irq_int_13 : 1; /* RW */
  788. unsigned long lb_irq_int_14 : 1; /* RW */
  789. unsigned long lb_irq_int_15 : 1; /* RW */
  790. unsigned long l1_nmi_int : 1; /* RW */
  791. unsigned long stop_clock : 1; /* RW */
  792. unsigned long asic_to_l1 : 1; /* RW */
  793. unsigned long l1_to_asic : 1; /* RW */
  794. unsigned long ltc_int : 1; /* RW */
  795. unsigned long la_seq_trigger : 1; /* RW */
  796. unsigned long rsvd_45_63 : 19; /* */
  797. } s;
  798. };
  799. /* ========================================================================= */
  800. /* UVH_NODE_ID */
  801. /* ========================================================================= */
  802. #define UVH_NODE_ID 0x0UL
  803. #define UVH_NODE_ID_FORCE1_SHFT 0
  804. #define UVH_NODE_ID_FORCE1_MASK 0x0000000000000001UL
  805. #define UVH_NODE_ID_MANUFACTURER_SHFT 1
  806. #define UVH_NODE_ID_MANUFACTURER_MASK 0x0000000000000ffeUL
  807. #define UVH_NODE_ID_PART_NUMBER_SHFT 12
  808. #define UVH_NODE_ID_PART_NUMBER_MASK 0x000000000ffff000UL
  809. #define UVH_NODE_ID_REVISION_SHFT 28
  810. #define UVH_NODE_ID_REVISION_MASK 0x00000000f0000000UL
  811. #define UVH_NODE_ID_NODE_ID_SHFT 32
  812. #define UVH_NODE_ID_NODE_ID_MASK 0x00007fff00000000UL
  813. #define UVH_NODE_ID_NODES_PER_BIT_SHFT 48
  814. #define UVH_NODE_ID_NODES_PER_BIT_MASK 0x007f000000000000UL
  815. #define UVH_NODE_ID_NI_PORT_SHFT 56
  816. #define UVH_NODE_ID_NI_PORT_MASK 0x0f00000000000000UL
  817. union uvh_node_id_u {
  818. unsigned long v;
  819. struct uvh_node_id_s {
  820. unsigned long force1 : 1; /* RO */
  821. unsigned long manufacturer : 11; /* RO */
  822. unsigned long part_number : 16; /* RO */
  823. unsigned long revision : 4; /* RO */
  824. unsigned long node_id : 15; /* RW */
  825. unsigned long rsvd_47 : 1; /* */
  826. unsigned long nodes_per_bit : 7; /* RW */
  827. unsigned long rsvd_55 : 1; /* */
  828. unsigned long ni_port : 4; /* RO */
  829. unsigned long rsvd_60_63 : 4; /* */
  830. } s;
  831. };
  832. /* ========================================================================= */
  833. /* UVH_NODE_PRESENT_TABLE */
  834. /* ========================================================================= */
  835. #define UVH_NODE_PRESENT_TABLE 0x1400UL
  836. #define UVH_NODE_PRESENT_TABLE_DEPTH 16
  837. #define UVH_NODE_PRESENT_TABLE_NODES_SHFT 0
  838. #define UVH_NODE_PRESENT_TABLE_NODES_MASK 0xffffffffffffffffUL
  839. union uvh_node_present_table_u {
  840. unsigned long v;
  841. struct uvh_node_present_table_s {
  842. unsigned long nodes : 64; /* RW */
  843. } s;
  844. };
  845. /* ========================================================================= */
  846. /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR */
  847. /* ========================================================================= */
  848. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL
  849. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
  850. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
  851. union uvh_rh_gam_alias210_redirect_config_0_mmr_u {
  852. unsigned long v;
  853. struct uvh_rh_gam_alias210_redirect_config_0_mmr_s {
  854. unsigned long rsvd_0_23 : 24; /* */
  855. unsigned long dest_base : 22; /* RW */
  856. unsigned long rsvd_46_63: 18; /* */
  857. } s;
  858. };
  859. /* ========================================================================= */
  860. /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR */
  861. /* ========================================================================= */
  862. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL
  863. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
  864. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
  865. union uvh_rh_gam_alias210_redirect_config_1_mmr_u {
  866. unsigned long v;
  867. struct uvh_rh_gam_alias210_redirect_config_1_mmr_s {
  868. unsigned long rsvd_0_23 : 24; /* */
  869. unsigned long dest_base : 22; /* RW */
  870. unsigned long rsvd_46_63: 18; /* */
  871. } s;
  872. };
  873. /* ========================================================================= */
  874. /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR */
  875. /* ========================================================================= */
  876. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL
  877. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
  878. #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
  879. union uvh_rh_gam_alias210_redirect_config_2_mmr_u {
  880. unsigned long v;
  881. struct uvh_rh_gam_alias210_redirect_config_2_mmr_s {
  882. unsigned long rsvd_0_23 : 24; /* */
  883. unsigned long dest_base : 22; /* RW */
  884. unsigned long rsvd_46_63: 18; /* */
  885. } s;
  886. };
  887. /* ========================================================================= */
  888. /* UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR */
  889. /* ========================================================================= */
  890. #define UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR 0x1600020UL
  891. #define UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR_BASE_SHFT 26
  892. #define UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL
  893. #define UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
  894. #define UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
  895. union uvh_rh_gam_cfg_overlay_config_mmr_u {
  896. unsigned long v;
  897. struct uvh_rh_gam_cfg_overlay_config_mmr_s {
  898. unsigned long rsvd_0_25: 26; /* */
  899. unsigned long base : 20; /* RW */
  900. unsigned long rsvd_46_62: 17; /* */
  901. unsigned long enable : 1; /* RW */
  902. } s;
  903. };
  904. /* ========================================================================= */
  905. /* UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR */
  906. /* ========================================================================= */
  907. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL
  908. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28
  909. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffff0000000UL
  910. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_GR4_SHFT 48
  911. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_GR4_MASK 0x0001000000000000UL
  912. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52
  913. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL
  914. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
  915. #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
  916. union uvh_rh_gam_gru_overlay_config_mmr_u {
  917. unsigned long v;
  918. struct uvh_rh_gam_gru_overlay_config_mmr_s {
  919. unsigned long rsvd_0_27: 28; /* */
  920. unsigned long base : 18; /* RW */
  921. unsigned long rsvd_46_47: 2; /* */
  922. unsigned long gr4 : 1; /* RW */
  923. unsigned long rsvd_49_51: 3; /* */
  924. unsigned long n_gru : 4; /* RW */
  925. unsigned long rsvd_56_62: 7; /* */
  926. unsigned long enable : 1; /* RW */
  927. } s;
  928. };
  929. /* ========================================================================= */
  930. /* UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR */
  931. /* ========================================================================= */
  932. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL
  933. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT 30
  934. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003fffc0000000UL
  935. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_SHFT 46
  936. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_MASK 0x000fc00000000000UL
  937. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_SHFT 52
  938. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_MASK 0x00f0000000000000UL
  939. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
  940. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
  941. union uvh_rh_gam_mmioh_overlay_config_mmr_u {
  942. unsigned long v;
  943. struct uvh_rh_gam_mmioh_overlay_config_mmr_s {
  944. unsigned long rsvd_0_29: 30; /* */
  945. unsigned long base : 16; /* RW */
  946. unsigned long m_io : 6; /* RW */
  947. unsigned long n_io : 4; /* RW */
  948. unsigned long rsvd_56_62: 7; /* */
  949. unsigned long enable : 1; /* RW */
  950. } s;
  951. };
  952. /* ========================================================================= */
  953. /* UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR */
  954. /* ========================================================================= */
  955. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL
  956. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT 30
  957. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003fffc0000000UL
  958. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_SHFT 46
  959. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_MASK 0x000fc00000000000UL
  960. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_SHFT 52
  961. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_MASK 0x00f0000000000000UL
  962. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
  963. #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
  964. union uvh_rh_gam_mmioh_overlay_config_mmr_u {
  965. unsigned long v;
  966. struct uvh_rh_gam_mmioh_overlay_config_mmr_s {
  967. unsigned long rsvd_0_29: 30; /* */
  968. unsigned long base : 16; /* RW */
  969. unsigned long m_io : 6; /* RW */
  970. unsigned long n_io : 4; /* RW */
  971. unsigned long rsvd_56_62: 7; /* */
  972. unsigned long enable : 1; /* RW */
  973. } s;
  974. };
  975. /* ========================================================================= */
  976. /* UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR */
  977. /* ========================================================================= */
  978. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
  979. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26
  980. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL
  981. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_SHFT 46
  982. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_MASK 0x0000400000000000UL
  983. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
  984. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
  985. union uvh_rh_gam_mmr_overlay_config_mmr_u {
  986. unsigned long v;
  987. struct uvh_rh_gam_mmr_overlay_config_mmr_s {
  988. unsigned long rsvd_0_25: 26; /* */
  989. unsigned long base : 20; /* RW */
  990. unsigned long dual_hub : 1; /* RW */
  991. unsigned long rsvd_47_62: 16; /* */
  992. unsigned long enable : 1; /* RW */
  993. } s;
  994. };
  995. /* ========================================================================= */
  996. /* UVH_RTC */
  997. /* ========================================================================= */
  998. #define UVH_RTC 0x340000UL
  999. #define UVH_RTC_REAL_TIME_CLOCK_SHFT 0
  1000. #define UVH_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL
  1001. union uvh_rtc_u {
  1002. unsigned long v;
  1003. struct uvh_rtc_s {
  1004. unsigned long real_time_clock : 56; /* RW */
  1005. unsigned long rsvd_56_63 : 8; /* */
  1006. } s;
  1007. };
  1008. /* ========================================================================= */
  1009. /* UVH_RTC1_INT_CONFIG */
  1010. /* ========================================================================= */
  1011. #define UVH_RTC1_INT_CONFIG 0x615c0UL
  1012. #define UVH_RTC1_INT_CONFIG_VECTOR_SHFT 0
  1013. #define UVH_RTC1_INT_CONFIG_VECTOR_MASK 0x00000000000000ffUL
  1014. #define UVH_RTC1_INT_CONFIG_DM_SHFT 8
  1015. #define UVH_RTC1_INT_CONFIG_DM_MASK 0x0000000000000700UL
  1016. #define UVH_RTC1_INT_CONFIG_DESTMODE_SHFT 11
  1017. #define UVH_RTC1_INT_CONFIG_DESTMODE_MASK 0x0000000000000800UL
  1018. #define UVH_RTC1_INT_CONFIG_STATUS_SHFT 12
  1019. #define UVH_RTC1_INT_CONFIG_STATUS_MASK 0x0000000000001000UL
  1020. #define UVH_RTC1_INT_CONFIG_P_SHFT 13
  1021. #define UVH_RTC1_INT_CONFIG_P_MASK 0x0000000000002000UL
  1022. #define UVH_RTC1_INT_CONFIG_T_SHFT 15
  1023. #define UVH_RTC1_INT_CONFIG_T_MASK 0x0000000000008000UL
  1024. #define UVH_RTC1_INT_CONFIG_M_SHFT 16
  1025. #define UVH_RTC1_INT_CONFIG_M_MASK 0x0000000000010000UL
  1026. #define UVH_RTC1_INT_CONFIG_APIC_ID_SHFT 32
  1027. #define UVH_RTC1_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
  1028. union uvh_rtc1_int_config_u {
  1029. unsigned long v;
  1030. struct uvh_rtc1_int_config_s {
  1031. unsigned long vector_ : 8; /* RW */
  1032. unsigned long dm : 3; /* RW */
  1033. unsigned long destmode : 1; /* RW */
  1034. unsigned long status : 1; /* RO */
  1035. unsigned long p : 1; /* RO */
  1036. unsigned long rsvd_14 : 1; /* */
  1037. unsigned long t : 1; /* RO */
  1038. unsigned long m : 1; /* RW */
  1039. unsigned long rsvd_17_31: 15; /* */
  1040. unsigned long apic_id : 32; /* RW */
  1041. } s;
  1042. };
  1043. /* ========================================================================= */
  1044. /* UVH_RTC2_INT_CONFIG */
  1045. /* ========================================================================= */
  1046. #define UVH_RTC2_INT_CONFIG 0x61600UL
  1047. #define UVH_RTC2_INT_CONFIG_VECTOR_SHFT 0
  1048. #define UVH_RTC2_INT_CONFIG_VECTOR_MASK 0x00000000000000ffUL
  1049. #define UVH_RTC2_INT_CONFIG_DM_SHFT 8
  1050. #define UVH_RTC2_INT_CONFIG_DM_MASK 0x0000000000000700UL
  1051. #define UVH_RTC2_INT_CONFIG_DESTMODE_SHFT 11
  1052. #define UVH_RTC2_INT_CONFIG_DESTMODE_MASK 0x0000000000000800UL
  1053. #define UVH_RTC2_INT_CONFIG_STATUS_SHFT 12
  1054. #define UVH_RTC2_INT_CONFIG_STATUS_MASK 0x0000000000001000UL
  1055. #define UVH_RTC2_INT_CONFIG_P_SHFT 13
  1056. #define UVH_RTC2_INT_CONFIG_P_MASK 0x0000000000002000UL
  1057. #define UVH_RTC2_INT_CONFIG_T_SHFT 15
  1058. #define UVH_RTC2_INT_CONFIG_T_MASK 0x0000000000008000UL
  1059. #define UVH_RTC2_INT_CONFIG_M_SHFT 16
  1060. #define UVH_RTC2_INT_CONFIG_M_MASK 0x0000000000010000UL
  1061. #define UVH_RTC2_INT_CONFIG_APIC_ID_SHFT 32
  1062. #define UVH_RTC2_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
  1063. union uvh_rtc2_int_config_u {
  1064. unsigned long v;
  1065. struct uvh_rtc2_int_config_s {
  1066. unsigned long vector_ : 8; /* RW */
  1067. unsigned long dm : 3; /* RW */
  1068. unsigned long destmode : 1; /* RW */
  1069. unsigned long status : 1; /* RO */
  1070. unsigned long p : 1; /* RO */
  1071. unsigned long rsvd_14 : 1; /* */
  1072. unsigned long t : 1; /* RO */
  1073. unsigned long m : 1; /* RW */
  1074. unsigned long rsvd_17_31: 15; /* */
  1075. unsigned long apic_id : 32; /* RW */
  1076. } s;
  1077. };
  1078. /* ========================================================================= */
  1079. /* UVH_RTC3_INT_CONFIG */
  1080. /* ========================================================================= */
  1081. #define UVH_RTC3_INT_CONFIG 0x61640UL
  1082. #define UVH_RTC3_INT_CONFIG_VECTOR_SHFT 0
  1083. #define UVH_RTC3_INT_CONFIG_VECTOR_MASK 0x00000000000000ffUL
  1084. #define UVH_RTC3_INT_CONFIG_DM_SHFT 8
  1085. #define UVH_RTC3_INT_CONFIG_DM_MASK 0x0000000000000700UL
  1086. #define UVH_RTC3_INT_CONFIG_DESTMODE_SHFT 11
  1087. #define UVH_RTC3_INT_CONFIG_DESTMODE_MASK 0x0000000000000800UL
  1088. #define UVH_RTC3_INT_CONFIG_STATUS_SHFT 12
  1089. #define UVH_RTC3_INT_CONFIG_STATUS_MASK 0x0000000000001000UL
  1090. #define UVH_RTC3_INT_CONFIG_P_SHFT 13
  1091. #define UVH_RTC3_INT_CONFIG_P_MASK 0x0000000000002000UL
  1092. #define UVH_RTC3_INT_CONFIG_T_SHFT 15
  1093. #define UVH_RTC3_INT_CONFIG_T_MASK 0x0000000000008000UL
  1094. #define UVH_RTC3_INT_CONFIG_M_SHFT 16
  1095. #define UVH_RTC3_INT_CONFIG_M_MASK 0x0000000000010000UL
  1096. #define UVH_RTC3_INT_CONFIG_APIC_ID_SHFT 32
  1097. #define UVH_RTC3_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
  1098. union uvh_rtc3_int_config_u {
  1099. unsigned long v;
  1100. struct uvh_rtc3_int_config_s {
  1101. unsigned long vector_ : 8; /* RW */
  1102. unsigned long dm : 3; /* RW */
  1103. unsigned long destmode : 1; /* RW */
  1104. unsigned long status : 1; /* RO */
  1105. unsigned long p : 1; /* RO */
  1106. unsigned long rsvd_14 : 1; /* */
  1107. unsigned long t : 1; /* RO */
  1108. unsigned long m : 1; /* RW */
  1109. unsigned long rsvd_17_31: 15; /* */
  1110. unsigned long apic_id : 32; /* RW */
  1111. } s;
  1112. };
  1113. /* ========================================================================= */
  1114. /* UVH_RTC_INC_RATIO */
  1115. /* ========================================================================= */
  1116. #define UVH_RTC_INC_RATIO 0x350000UL
  1117. #define UVH_RTC_INC_RATIO_FRACTION_SHFT 0
  1118. #define UVH_RTC_INC_RATIO_FRACTION_MASK 0x00000000000fffffUL
  1119. #define UVH_RTC_INC_RATIO_RATIO_SHFT 20
  1120. #define UVH_RTC_INC_RATIO_RATIO_MASK 0x0000000000700000UL
  1121. union uvh_rtc_inc_ratio_u {
  1122. unsigned long v;
  1123. struct uvh_rtc_inc_ratio_s {
  1124. unsigned long fraction : 20; /* RW */
  1125. unsigned long ratio : 3; /* RW */
  1126. unsigned long rsvd_23_63: 41; /* */
  1127. } s;
  1128. };
  1129. /* ========================================================================= */
  1130. /* UVH_SI_ADDR_MAP_CONFIG */
  1131. /* ========================================================================= */
  1132. #define UVH_SI_ADDR_MAP_CONFIG 0xc80000UL
  1133. #define UVH_SI_ADDR_MAP_CONFIG_M_SKT_SHFT 0
  1134. #define UVH_SI_ADDR_MAP_CONFIG_M_SKT_MASK 0x000000000000003fUL
  1135. #define UVH_SI_ADDR_MAP_CONFIG_N_SKT_SHFT 8
  1136. #define UVH_SI_ADDR_MAP_CONFIG_N_SKT_MASK 0x0000000000000f00UL
  1137. union uvh_si_addr_map_config_u {
  1138. unsigned long v;
  1139. struct uvh_si_addr_map_config_s {
  1140. unsigned long m_skt : 6; /* RW */
  1141. unsigned long rsvd_6_7: 2; /* */
  1142. unsigned long n_skt : 4; /* RW */
  1143. unsigned long rsvd_12_63: 52; /* */
  1144. } s;
  1145. };
  1146. /* ========================================================================= */
  1147. /* UVH_SI_ALIAS0_OVERLAY_CONFIG */
  1148. /* ========================================================================= */
  1149. #define UVH_SI_ALIAS0_OVERLAY_CONFIG 0xc80008UL
  1150. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_BASE_SHFT 24
  1151. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL
  1152. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_M_ALIAS_SHFT 48
  1153. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
  1154. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_ENABLE_SHFT 63
  1155. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL
  1156. union uvh_si_alias0_overlay_config_u {
  1157. unsigned long v;
  1158. struct uvh_si_alias0_overlay_config_s {
  1159. unsigned long rsvd_0_23: 24; /* */
  1160. unsigned long base : 8; /* RW */
  1161. unsigned long rsvd_32_47: 16; /* */
  1162. unsigned long m_alias : 5; /* RW */
  1163. unsigned long rsvd_53_62: 10; /* */
  1164. unsigned long enable : 1; /* RW */
  1165. } s;
  1166. };
  1167. /* ========================================================================= */
  1168. /* UVH_SI_ALIAS1_OVERLAY_CONFIG */
  1169. /* ========================================================================= */
  1170. #define UVH_SI_ALIAS1_OVERLAY_CONFIG 0xc80010UL
  1171. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_BASE_SHFT 24
  1172. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL
  1173. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_M_ALIAS_SHFT 48
  1174. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
  1175. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_ENABLE_SHFT 63
  1176. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL
  1177. union uvh_si_alias1_overlay_config_u {
  1178. unsigned long v;
  1179. struct uvh_si_alias1_overlay_config_s {
  1180. unsigned long rsvd_0_23: 24; /* */
  1181. unsigned long base : 8; /* RW */
  1182. unsigned long rsvd_32_47: 16; /* */
  1183. unsigned long m_alias : 5; /* RW */
  1184. unsigned long rsvd_53_62: 10; /* */
  1185. unsigned long enable : 1; /* RW */
  1186. } s;
  1187. };
  1188. /* ========================================================================= */
  1189. /* UVH_SI_ALIAS2_OVERLAY_CONFIG */
  1190. /* ========================================================================= */
  1191. #define UVH_SI_ALIAS2_OVERLAY_CONFIG 0xc80018UL
  1192. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_BASE_SHFT 24
  1193. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL
  1194. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_M_ALIAS_SHFT 48
  1195. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
  1196. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_ENABLE_SHFT 63
  1197. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL
  1198. union uvh_si_alias2_overlay_config_u {
  1199. unsigned long v;
  1200. struct uvh_si_alias2_overlay_config_s {
  1201. unsigned long rsvd_0_23: 24; /* */
  1202. unsigned long base : 8; /* RW */
  1203. unsigned long rsvd_32_47: 16; /* */
  1204. unsigned long m_alias : 5; /* RW */
  1205. unsigned long rsvd_53_62: 10; /* */
  1206. unsigned long enable : 1; /* RW */
  1207. } s;
  1208. };
  1209. #endif /* __ASM_X86_UV_MMRS__ */