uv_mmrs.h 68 KB

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