uv_mmrs.h 61 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295
  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_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_MMR_OVERLAY_CONFIG_MMR */
  954. /* ========================================================================= */
  955. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
  956. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26
  957. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL
  958. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_SHFT 46
  959. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_MASK 0x0000400000000000UL
  960. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
  961. #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
  962. union uvh_rh_gam_mmr_overlay_config_mmr_u {
  963. unsigned long v;
  964. struct uvh_rh_gam_mmr_overlay_config_mmr_s {
  965. unsigned long rsvd_0_25: 26; /* */
  966. unsigned long base : 20; /* RW */
  967. unsigned long dual_hub : 1; /* RW */
  968. unsigned long rsvd_47_62: 16; /* */
  969. unsigned long enable : 1; /* RW */
  970. } s;
  971. };
  972. /* ========================================================================= */
  973. /* UVH_RTC */
  974. /* ========================================================================= */
  975. #define UVH_RTC 0x340000UL
  976. #define UVH_RTC_REAL_TIME_CLOCK_SHFT 0
  977. #define UVH_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL
  978. union uvh_rtc_u {
  979. unsigned long v;
  980. struct uvh_rtc_s {
  981. unsigned long real_time_clock : 56; /* RW */
  982. unsigned long rsvd_56_63 : 8; /* */
  983. } s;
  984. };
  985. /* ========================================================================= */
  986. /* UVH_RTC1_INT_CONFIG */
  987. /* ========================================================================= */
  988. #define UVH_RTC1_INT_CONFIG 0x615c0UL
  989. #define UVH_RTC1_INT_CONFIG_VECTOR_SHFT 0
  990. #define UVH_RTC1_INT_CONFIG_VECTOR_MASK 0x00000000000000ffUL
  991. #define UVH_RTC1_INT_CONFIG_DM_SHFT 8
  992. #define UVH_RTC1_INT_CONFIG_DM_MASK 0x0000000000000700UL
  993. #define UVH_RTC1_INT_CONFIG_DESTMODE_SHFT 11
  994. #define UVH_RTC1_INT_CONFIG_DESTMODE_MASK 0x0000000000000800UL
  995. #define UVH_RTC1_INT_CONFIG_STATUS_SHFT 12
  996. #define UVH_RTC1_INT_CONFIG_STATUS_MASK 0x0000000000001000UL
  997. #define UVH_RTC1_INT_CONFIG_P_SHFT 13
  998. #define UVH_RTC1_INT_CONFIG_P_MASK 0x0000000000002000UL
  999. #define UVH_RTC1_INT_CONFIG_T_SHFT 15
  1000. #define UVH_RTC1_INT_CONFIG_T_MASK 0x0000000000008000UL
  1001. #define UVH_RTC1_INT_CONFIG_M_SHFT 16
  1002. #define UVH_RTC1_INT_CONFIG_M_MASK 0x0000000000010000UL
  1003. #define UVH_RTC1_INT_CONFIG_APIC_ID_SHFT 32
  1004. #define UVH_RTC1_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
  1005. union uvh_rtc1_int_config_u {
  1006. unsigned long v;
  1007. struct uvh_rtc1_int_config_s {
  1008. unsigned long vector_ : 8; /* RW */
  1009. unsigned long dm : 3; /* RW */
  1010. unsigned long destmode : 1; /* RW */
  1011. unsigned long status : 1; /* RO */
  1012. unsigned long p : 1; /* RO */
  1013. unsigned long rsvd_14 : 1; /* */
  1014. unsigned long t : 1; /* RO */
  1015. unsigned long m : 1; /* RW */
  1016. unsigned long rsvd_17_31: 15; /* */
  1017. unsigned long apic_id : 32; /* RW */
  1018. } s;
  1019. };
  1020. /* ========================================================================= */
  1021. /* UVH_RTC2_INT_CONFIG */
  1022. /* ========================================================================= */
  1023. #define UVH_RTC2_INT_CONFIG 0x61600UL
  1024. #define UVH_RTC2_INT_CONFIG_VECTOR_SHFT 0
  1025. #define UVH_RTC2_INT_CONFIG_VECTOR_MASK 0x00000000000000ffUL
  1026. #define UVH_RTC2_INT_CONFIG_DM_SHFT 8
  1027. #define UVH_RTC2_INT_CONFIG_DM_MASK 0x0000000000000700UL
  1028. #define UVH_RTC2_INT_CONFIG_DESTMODE_SHFT 11
  1029. #define UVH_RTC2_INT_CONFIG_DESTMODE_MASK 0x0000000000000800UL
  1030. #define UVH_RTC2_INT_CONFIG_STATUS_SHFT 12
  1031. #define UVH_RTC2_INT_CONFIG_STATUS_MASK 0x0000000000001000UL
  1032. #define UVH_RTC2_INT_CONFIG_P_SHFT 13
  1033. #define UVH_RTC2_INT_CONFIG_P_MASK 0x0000000000002000UL
  1034. #define UVH_RTC2_INT_CONFIG_T_SHFT 15
  1035. #define UVH_RTC2_INT_CONFIG_T_MASK 0x0000000000008000UL
  1036. #define UVH_RTC2_INT_CONFIG_M_SHFT 16
  1037. #define UVH_RTC2_INT_CONFIG_M_MASK 0x0000000000010000UL
  1038. #define UVH_RTC2_INT_CONFIG_APIC_ID_SHFT 32
  1039. #define UVH_RTC2_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
  1040. union uvh_rtc2_int_config_u {
  1041. unsigned long v;
  1042. struct uvh_rtc2_int_config_s {
  1043. unsigned long vector_ : 8; /* RW */
  1044. unsigned long dm : 3; /* RW */
  1045. unsigned long destmode : 1; /* RW */
  1046. unsigned long status : 1; /* RO */
  1047. unsigned long p : 1; /* RO */
  1048. unsigned long rsvd_14 : 1; /* */
  1049. unsigned long t : 1; /* RO */
  1050. unsigned long m : 1; /* RW */
  1051. unsigned long rsvd_17_31: 15; /* */
  1052. unsigned long apic_id : 32; /* RW */
  1053. } s;
  1054. };
  1055. /* ========================================================================= */
  1056. /* UVH_RTC3_INT_CONFIG */
  1057. /* ========================================================================= */
  1058. #define UVH_RTC3_INT_CONFIG 0x61640UL
  1059. #define UVH_RTC3_INT_CONFIG_VECTOR_SHFT 0
  1060. #define UVH_RTC3_INT_CONFIG_VECTOR_MASK 0x00000000000000ffUL
  1061. #define UVH_RTC3_INT_CONFIG_DM_SHFT 8
  1062. #define UVH_RTC3_INT_CONFIG_DM_MASK 0x0000000000000700UL
  1063. #define UVH_RTC3_INT_CONFIG_DESTMODE_SHFT 11
  1064. #define UVH_RTC3_INT_CONFIG_DESTMODE_MASK 0x0000000000000800UL
  1065. #define UVH_RTC3_INT_CONFIG_STATUS_SHFT 12
  1066. #define UVH_RTC3_INT_CONFIG_STATUS_MASK 0x0000000000001000UL
  1067. #define UVH_RTC3_INT_CONFIG_P_SHFT 13
  1068. #define UVH_RTC3_INT_CONFIG_P_MASK 0x0000000000002000UL
  1069. #define UVH_RTC3_INT_CONFIG_T_SHFT 15
  1070. #define UVH_RTC3_INT_CONFIG_T_MASK 0x0000000000008000UL
  1071. #define UVH_RTC3_INT_CONFIG_M_SHFT 16
  1072. #define UVH_RTC3_INT_CONFIG_M_MASK 0x0000000000010000UL
  1073. #define UVH_RTC3_INT_CONFIG_APIC_ID_SHFT 32
  1074. #define UVH_RTC3_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
  1075. union uvh_rtc3_int_config_u {
  1076. unsigned long v;
  1077. struct uvh_rtc3_int_config_s {
  1078. unsigned long vector_ : 8; /* RW */
  1079. unsigned long dm : 3; /* RW */
  1080. unsigned long destmode : 1; /* RW */
  1081. unsigned long status : 1; /* RO */
  1082. unsigned long p : 1; /* RO */
  1083. unsigned long rsvd_14 : 1; /* */
  1084. unsigned long t : 1; /* RO */
  1085. unsigned long m : 1; /* RW */
  1086. unsigned long rsvd_17_31: 15; /* */
  1087. unsigned long apic_id : 32; /* RW */
  1088. } s;
  1089. };
  1090. /* ========================================================================= */
  1091. /* UVH_RTC_INC_RATIO */
  1092. /* ========================================================================= */
  1093. #define UVH_RTC_INC_RATIO 0x350000UL
  1094. #define UVH_RTC_INC_RATIO_FRACTION_SHFT 0
  1095. #define UVH_RTC_INC_RATIO_FRACTION_MASK 0x00000000000fffffUL
  1096. #define UVH_RTC_INC_RATIO_RATIO_SHFT 20
  1097. #define UVH_RTC_INC_RATIO_RATIO_MASK 0x0000000000700000UL
  1098. union uvh_rtc_inc_ratio_u {
  1099. unsigned long v;
  1100. struct uvh_rtc_inc_ratio_s {
  1101. unsigned long fraction : 20; /* RW */
  1102. unsigned long ratio : 3; /* RW */
  1103. unsigned long rsvd_23_63: 41; /* */
  1104. } s;
  1105. };
  1106. /* ========================================================================= */
  1107. /* UVH_SI_ADDR_MAP_CONFIG */
  1108. /* ========================================================================= */
  1109. #define UVH_SI_ADDR_MAP_CONFIG 0xc80000UL
  1110. #define UVH_SI_ADDR_MAP_CONFIG_M_SKT_SHFT 0
  1111. #define UVH_SI_ADDR_MAP_CONFIG_M_SKT_MASK 0x000000000000003fUL
  1112. #define UVH_SI_ADDR_MAP_CONFIG_N_SKT_SHFT 8
  1113. #define UVH_SI_ADDR_MAP_CONFIG_N_SKT_MASK 0x0000000000000f00UL
  1114. union uvh_si_addr_map_config_u {
  1115. unsigned long v;
  1116. struct uvh_si_addr_map_config_s {
  1117. unsigned long m_skt : 6; /* RW */
  1118. unsigned long rsvd_6_7: 2; /* */
  1119. unsigned long n_skt : 4; /* RW */
  1120. unsigned long rsvd_12_63: 52; /* */
  1121. } s;
  1122. };
  1123. /* ========================================================================= */
  1124. /* UVH_SI_ALIAS0_OVERLAY_CONFIG */
  1125. /* ========================================================================= */
  1126. #define UVH_SI_ALIAS0_OVERLAY_CONFIG 0xc80008UL
  1127. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_BASE_SHFT 24
  1128. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL
  1129. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_M_ALIAS_SHFT 48
  1130. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
  1131. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_ENABLE_SHFT 63
  1132. #define UVH_SI_ALIAS0_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL
  1133. union uvh_si_alias0_overlay_config_u {
  1134. unsigned long v;
  1135. struct uvh_si_alias0_overlay_config_s {
  1136. unsigned long rsvd_0_23: 24; /* */
  1137. unsigned long base : 8; /* RW */
  1138. unsigned long rsvd_32_47: 16; /* */
  1139. unsigned long m_alias : 5; /* RW */
  1140. unsigned long rsvd_53_62: 10; /* */
  1141. unsigned long enable : 1; /* RW */
  1142. } s;
  1143. };
  1144. /* ========================================================================= */
  1145. /* UVH_SI_ALIAS1_OVERLAY_CONFIG */
  1146. /* ========================================================================= */
  1147. #define UVH_SI_ALIAS1_OVERLAY_CONFIG 0xc80010UL
  1148. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_BASE_SHFT 24
  1149. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL
  1150. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_M_ALIAS_SHFT 48
  1151. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
  1152. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_ENABLE_SHFT 63
  1153. #define UVH_SI_ALIAS1_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL
  1154. union uvh_si_alias1_overlay_config_u {
  1155. unsigned long v;
  1156. struct uvh_si_alias1_overlay_config_s {
  1157. unsigned long rsvd_0_23: 24; /* */
  1158. unsigned long base : 8; /* RW */
  1159. unsigned long rsvd_32_47: 16; /* */
  1160. unsigned long m_alias : 5; /* RW */
  1161. unsigned long rsvd_53_62: 10; /* */
  1162. unsigned long enable : 1; /* RW */
  1163. } s;
  1164. };
  1165. /* ========================================================================= */
  1166. /* UVH_SI_ALIAS2_OVERLAY_CONFIG */
  1167. /* ========================================================================= */
  1168. #define UVH_SI_ALIAS2_OVERLAY_CONFIG 0xc80018UL
  1169. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_BASE_SHFT 24
  1170. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL
  1171. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_M_ALIAS_SHFT 48
  1172. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
  1173. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_ENABLE_SHFT 63
  1174. #define UVH_SI_ALIAS2_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL
  1175. union uvh_si_alias2_overlay_config_u {
  1176. unsigned long v;
  1177. struct uvh_si_alias2_overlay_config_s {
  1178. unsigned long rsvd_0_23: 24; /* */
  1179. unsigned long base : 8; /* RW */
  1180. unsigned long rsvd_32_47: 16; /* */
  1181. unsigned long m_alias : 5; /* RW */
  1182. unsigned long rsvd_53_62: 10; /* */
  1183. unsigned long enable : 1; /* RW */
  1184. } s;
  1185. };
  1186. #endif /* ASM_X86__UV__UV_MMRS_H */