root/arch/x86/include/asm/uv/uv_mmrs.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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-2016 Silicon Graphics, Inc. All rights reserved.
   9  */
  10 
  11 #ifndef _ASM_X86_UV_UV_MMRS_H
  12 #define _ASM_X86_UV_UV_MMRS_H
  13 
  14 /*
  15  * This file contains MMR definitions for all UV hubs types.
  16  *
  17  * To minimize coding differences between hub types, the symbols are
  18  * grouped by architecture types.
  19  *
  20  * UVH  - definitions common to all UV hub types.
  21  * UVXH - definitions common to all UV eXtended hub types (currently 2, 3, 4).
  22  * UV1H - definitions specific to UV type 1 hub.
  23  * UV2H - definitions specific to UV type 2 hub.
  24  * UV3H - definitions specific to UV type 3 hub.
  25  * UV4H - definitions specific to UV type 4 hub.
  26  *
  27  * So in general, MMR addresses and structures are identical on all hubs types.
  28  * These MMRs are identified as:
  29  *      #define UVH_xxx         <address>
  30  *      union uvh_xxx {
  31  *              unsigned long       v;
  32  *              struct uvh_int_cmpd_s {
  33  *              } s;
  34  *      };
  35  *
  36  * If the MMR exists on all hub types but have different addresses,
  37  * use a conditional operator to define the value at runtime.
  38  *      #define UV1Hxxx a
  39  *      #define UV2Hxxx b
  40  *      #define UV3Hxxx c
  41  *      #define UV4Hxxx d
  42  *      #define UV4AHxxx e
  43  *      #define UVHxxx  (is_uv1_hub() ? UV1Hxxx :
  44  *                      (is_uv2_hub() ? UV2Hxxx :
  45  *                      (is_uv3_hub() ? UV3Hxxx :
  46  *                      (is_uv4a_hub() ? UV4AHxxx :
  47  *                                      UV4Hxxx))
  48  *
  49  * If the MMR exists on all hub types > 1 but have different addresses, the
  50  * variation using "UVX" as the prefix exists.
  51  *      #define UV2Hxxx b
  52  *      #define UV3Hxxx c
  53  *      #define UV4Hxxx d
  54  *      #define UV4AHxxx e
  55  *      #define UVHxxx  (is_uv2_hub() ? UV2Hxxx :
  56  *                      (is_uv3_hub() ? UV3Hxxx :
  57  *                      (is_uv4a_hub() ? UV4AHxxx :
  58  *                                      UV4Hxxx))
  59  *
  60  *      union uvh_xxx {
  61  *              unsigned long       v;
  62  *              struct uvh_xxx_s {       # Common fields only
  63  *              } s;
  64  *              struct uv1h_xxx_s {      # Full UV1 definition (*)
  65  *              } s1;
  66  *              struct uv2h_xxx_s {      # Full UV2 definition (*)
  67  *              } s2;
  68  *              struct uv3h_xxx_s {      # Full UV3 definition (*)
  69  *              } s3;
  70  *              (NOTE: No struct uv4ah_xxx_s members exist)
  71  *              struct uv4h_xxx_s {      # Full UV4 definition (*)
  72  *              } s4;
  73  *      };
  74  *              (* - if present and different than the common struct)
  75  *
  76  * Only essential differences are enumerated. For example, if the address is
  77  * the same for all UV's, only a single #define is generated. Likewise,
  78  * if the contents is the same for all hubs, only the "s" structure is
  79  * generated.
  80  *
  81  * If the MMR exists on ONLY 1 type of hub, no generic definition is
  82  * generated:
  83  *      #define UVnH_xxx        <uvn address>
  84  *      union uvnh_xxx {
  85  *              unsigned long       v;
  86  *              struct uvh_int_cmpd_s {
  87  *              } sn;
  88  *      };
  89  *
  90  * (GEN Flags: mflags_opt= undefs=function UV234=UVXH)
  91  */
  92 
  93 #define UV_MMR_ENABLE           (1UL << 63)
  94 
  95 #define UV1_HUB_PART_NUMBER     0x88a5
  96 #define UV2_HUB_PART_NUMBER     0x8eb8
  97 #define UV2_HUB_PART_NUMBER_X   0x1111
  98 #define UV3_HUB_PART_NUMBER     0x9578
  99 #define UV3_HUB_PART_NUMBER_X   0x4321
 100 #define UV4_HUB_PART_NUMBER     0x99a1
 101 
 102 /* Compat: Indicate which UV Hubs are supported. */
 103 #define UV1_HUB_IS_SUPPORTED    1
 104 #define UV2_HUB_IS_SUPPORTED    1
 105 #define UV3_HUB_IS_SUPPORTED    1
 106 #define UV4_HUB_IS_SUPPORTED    1
 107 #define UV4A_HUB_IS_SUPPORTED   1
 108 
 109 /* Error function to catch undefined references */
 110 extern unsigned long uv_undefined(char *str);
 111 
 112 /* ========================================================================= */
 113 /*                          UVH_BAU_DATA_BROADCAST                           */
 114 /* ========================================================================= */
 115 #define UVH_BAU_DATA_BROADCAST 0x61688UL
 116 
 117 #define UV1H_BAU_DATA_BROADCAST_32 0x440
 118 #define UV2H_BAU_DATA_BROADCAST_32 0x440
 119 #define UV3H_BAU_DATA_BROADCAST_32 0x440
 120 #define UV4H_BAU_DATA_BROADCAST_32 0x360
 121 #define UVH_BAU_DATA_BROADCAST_32 (                                     \
 122         is_uv1_hub() ? UV1H_BAU_DATA_BROADCAST_32 :                     \
 123         is_uv2_hub() ? UV2H_BAU_DATA_BROADCAST_32 :                     \
 124         is_uv3_hub() ? UV3H_BAU_DATA_BROADCAST_32 :                     \
 125         /*is_uv4_hub*/ UV4H_BAU_DATA_BROADCAST_32)
 126 
 127 #define UVH_BAU_DATA_BROADCAST_ENABLE_SHFT              0
 128 #define UVH_BAU_DATA_BROADCAST_ENABLE_MASK              0x0000000000000001UL
 129 
 130 
 131 union uvh_bau_data_broadcast_u {
 132         unsigned long   v;
 133         struct uvh_bau_data_broadcast_s {
 134                 unsigned long   enable:1;                       /* RW */
 135                 unsigned long   rsvd_1_63:63;
 136         } s;
 137 };
 138 
 139 /* ========================================================================= */
 140 /*                           UVH_BAU_DATA_CONFIG                             */
 141 /* ========================================================================= */
 142 #define UVH_BAU_DATA_CONFIG 0x61680UL
 143 
 144 #define UV1H_BAU_DATA_CONFIG_32 0x438
 145 #define UV2H_BAU_DATA_CONFIG_32 0x438
 146 #define UV3H_BAU_DATA_CONFIG_32 0x438
 147 #define UV4H_BAU_DATA_CONFIG_32 0x358
 148 #define UVH_BAU_DATA_CONFIG_32 (                                        \
 149         is_uv1_hub() ? UV1H_BAU_DATA_CONFIG_32 :                        \
 150         is_uv2_hub() ? UV2H_BAU_DATA_CONFIG_32 :                        \
 151         is_uv3_hub() ? UV3H_BAU_DATA_CONFIG_32 :                        \
 152         /*is_uv4_hub*/ UV4H_BAU_DATA_CONFIG_32)
 153 
 154 #define UVH_BAU_DATA_CONFIG_VECTOR_SHFT                 0
 155 #define UVH_BAU_DATA_CONFIG_DM_SHFT                     8
 156 #define UVH_BAU_DATA_CONFIG_DESTMODE_SHFT               11
 157 #define UVH_BAU_DATA_CONFIG_STATUS_SHFT                 12
 158 #define UVH_BAU_DATA_CONFIG_P_SHFT                      13
 159 #define UVH_BAU_DATA_CONFIG_T_SHFT                      15
 160 #define UVH_BAU_DATA_CONFIG_M_SHFT                      16
 161 #define UVH_BAU_DATA_CONFIG_APIC_ID_SHFT                32
 162 #define UVH_BAU_DATA_CONFIG_VECTOR_MASK                 0x00000000000000ffUL
 163 #define UVH_BAU_DATA_CONFIG_DM_MASK                     0x0000000000000700UL
 164 #define UVH_BAU_DATA_CONFIG_DESTMODE_MASK               0x0000000000000800UL
 165 #define UVH_BAU_DATA_CONFIG_STATUS_MASK                 0x0000000000001000UL
 166 #define UVH_BAU_DATA_CONFIG_P_MASK                      0x0000000000002000UL
 167 #define UVH_BAU_DATA_CONFIG_T_MASK                      0x0000000000008000UL
 168 #define UVH_BAU_DATA_CONFIG_M_MASK                      0x0000000000010000UL
 169 #define UVH_BAU_DATA_CONFIG_APIC_ID_MASK                0xffffffff00000000UL
 170 
 171 
 172 union uvh_bau_data_config_u {
 173         unsigned long   v;
 174         struct uvh_bau_data_config_s {
 175                 unsigned long   vector_:8;                      /* RW */
 176                 unsigned long   dm:3;                           /* RW */
 177                 unsigned long   destmode:1;                     /* RW */
 178                 unsigned long   status:1;                       /* RO */
 179                 unsigned long   p:1;                            /* RO */
 180                 unsigned long   rsvd_14:1;
 181                 unsigned long   t:1;                            /* RO */
 182                 unsigned long   m:1;                            /* RW */
 183                 unsigned long   rsvd_17_31:15;
 184                 unsigned long   apic_id:32;                     /* RW */
 185         } s;
 186 };
 187 
 188 /* ========================================================================= */
 189 /*                           UVH_EVENT_OCCURRED0                             */
 190 /* ========================================================================= */
 191 #define UVH_EVENT_OCCURRED0 0x70000UL
 192 #define UVH_EVENT_OCCURRED0_32 0x5e8
 193 
 194 #define UVH_EVENT_OCCURRED0_LB_HCERR_SHFT               0
 195 #define UVH_EVENT_OCCURRED0_RH_AOERR0_SHFT              11
 196 #define UVH_EVENT_OCCURRED0_LB_HCERR_MASK               0x0000000000000001UL
 197 #define UVH_EVENT_OCCURRED0_RH_AOERR0_MASK              0x0000000000000800UL
 198 
 199 #define UV1H_EVENT_OCCURRED0_GR0_HCERR_SHFT             1
 200 #define UV1H_EVENT_OCCURRED0_GR1_HCERR_SHFT             2
 201 #define UV1H_EVENT_OCCURRED0_LH_HCERR_SHFT              3
 202 #define UV1H_EVENT_OCCURRED0_RH_HCERR_SHFT              4
 203 #define UV1H_EVENT_OCCURRED0_XN_HCERR_SHFT              5
 204 #define UV1H_EVENT_OCCURRED0_SI_HCERR_SHFT              6
 205 #define UV1H_EVENT_OCCURRED0_LB_AOERR0_SHFT             7
 206 #define UV1H_EVENT_OCCURRED0_GR0_AOERR0_SHFT            8
 207 #define UV1H_EVENT_OCCURRED0_GR1_AOERR0_SHFT            9
 208 #define UV1H_EVENT_OCCURRED0_LH_AOERR0_SHFT             10
 209 #define UV1H_EVENT_OCCURRED0_XN_AOERR0_SHFT             12
 210 #define UV1H_EVENT_OCCURRED0_SI_AOERR0_SHFT             13
 211 #define UV1H_EVENT_OCCURRED0_LB_AOERR1_SHFT             14
 212 #define UV1H_EVENT_OCCURRED0_GR0_AOERR1_SHFT            15
 213 #define UV1H_EVENT_OCCURRED0_GR1_AOERR1_SHFT            16
 214 #define UV1H_EVENT_OCCURRED0_LH_AOERR1_SHFT             17
 215 #define UV1H_EVENT_OCCURRED0_RH_AOERR1_SHFT             18
 216 #define UV1H_EVENT_OCCURRED0_XN_AOERR1_SHFT             19
 217 #define UV1H_EVENT_OCCURRED0_SI_AOERR1_SHFT             20
 218 #define UV1H_EVENT_OCCURRED0_RH_VPI_INT_SHFT            21
 219 #define UV1H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT   22
 220 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT          23
 221 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT          24
 222 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT          25
 223 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT          26
 224 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT          27
 225 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT          28
 226 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT          29
 227 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT          30
 228 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT          31
 229 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT          32
 230 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT         33
 231 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT         34
 232 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT         35
 233 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT         36
 234 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT         37
 235 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT         38
 236 #define UV1H_EVENT_OCCURRED0_L1_NMI_INT_SHFT            39
 237 #define UV1H_EVENT_OCCURRED0_STOP_CLOCK_SHFT            40
 238 #define UV1H_EVENT_OCCURRED0_ASIC_TO_L1_SHFT            41
 239 #define UV1H_EVENT_OCCURRED0_L1_TO_ASIC_SHFT            42
 240 #define UV1H_EVENT_OCCURRED0_LTC_INT_SHFT               43
 241 #define UV1H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT        44
 242 #define UV1H_EVENT_OCCURRED0_IPI_INT_SHFT               45
 243 #define UV1H_EVENT_OCCURRED0_EXTIO_INT0_SHFT            46
 244 #define UV1H_EVENT_OCCURRED0_EXTIO_INT1_SHFT            47
 245 #define UV1H_EVENT_OCCURRED0_EXTIO_INT2_SHFT            48
 246 #define UV1H_EVENT_OCCURRED0_EXTIO_INT3_SHFT            49
 247 #define UV1H_EVENT_OCCURRED0_PROFILE_INT_SHFT           50
 248 #define UV1H_EVENT_OCCURRED0_RTC0_SHFT                  51
 249 #define UV1H_EVENT_OCCURRED0_RTC1_SHFT                  52
 250 #define UV1H_EVENT_OCCURRED0_RTC2_SHFT                  53
 251 #define UV1H_EVENT_OCCURRED0_RTC3_SHFT                  54
 252 #define UV1H_EVENT_OCCURRED0_BAU_DATA_SHFT              55
 253 #define UV1H_EVENT_OCCURRED0_POWER_MANAGEMENT_REQ_SHFT  56
 254 #define UV1H_EVENT_OCCURRED0_GR0_HCERR_MASK             0x0000000000000002UL
 255 #define UV1H_EVENT_OCCURRED0_GR1_HCERR_MASK             0x0000000000000004UL
 256 #define UV1H_EVENT_OCCURRED0_LH_HCERR_MASK              0x0000000000000008UL
 257 #define UV1H_EVENT_OCCURRED0_RH_HCERR_MASK              0x0000000000000010UL
 258 #define UV1H_EVENT_OCCURRED0_XN_HCERR_MASK              0x0000000000000020UL
 259 #define UV1H_EVENT_OCCURRED0_SI_HCERR_MASK              0x0000000000000040UL
 260 #define UV1H_EVENT_OCCURRED0_LB_AOERR0_MASK             0x0000000000000080UL
 261 #define UV1H_EVENT_OCCURRED0_GR0_AOERR0_MASK            0x0000000000000100UL
 262 #define UV1H_EVENT_OCCURRED0_GR1_AOERR0_MASK            0x0000000000000200UL
 263 #define UV1H_EVENT_OCCURRED0_LH_AOERR0_MASK             0x0000000000000400UL
 264 #define UV1H_EVENT_OCCURRED0_XN_AOERR0_MASK             0x0000000000001000UL
 265 #define UV1H_EVENT_OCCURRED0_SI_AOERR0_MASK             0x0000000000002000UL
 266 #define UV1H_EVENT_OCCURRED0_LB_AOERR1_MASK             0x0000000000004000UL
 267 #define UV1H_EVENT_OCCURRED0_GR0_AOERR1_MASK            0x0000000000008000UL
 268 #define UV1H_EVENT_OCCURRED0_GR1_AOERR1_MASK            0x0000000000010000UL
 269 #define UV1H_EVENT_OCCURRED0_LH_AOERR1_MASK             0x0000000000020000UL
 270 #define UV1H_EVENT_OCCURRED0_RH_AOERR1_MASK             0x0000000000040000UL
 271 #define UV1H_EVENT_OCCURRED0_XN_AOERR1_MASK             0x0000000000080000UL
 272 #define UV1H_EVENT_OCCURRED0_SI_AOERR1_MASK             0x0000000000100000UL
 273 #define UV1H_EVENT_OCCURRED0_RH_VPI_INT_MASK            0x0000000000200000UL
 274 #define UV1H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK   0x0000000000400000UL
 275 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK          0x0000000000800000UL
 276 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK          0x0000000001000000UL
 277 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK          0x0000000002000000UL
 278 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK          0x0000000004000000UL
 279 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK          0x0000000008000000UL
 280 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK          0x0000000010000000UL
 281 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK          0x0000000020000000UL
 282 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK          0x0000000040000000UL
 283 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK          0x0000000080000000UL
 284 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK          0x0000000100000000UL
 285 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK         0x0000000200000000UL
 286 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK         0x0000000400000000UL
 287 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK         0x0000000800000000UL
 288 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK         0x0000001000000000UL
 289 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK         0x0000002000000000UL
 290 #define UV1H_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK         0x0000004000000000UL
 291 #define UV1H_EVENT_OCCURRED0_L1_NMI_INT_MASK            0x0000008000000000UL
 292 #define UV1H_EVENT_OCCURRED0_STOP_CLOCK_MASK            0x0000010000000000UL
 293 #define UV1H_EVENT_OCCURRED0_ASIC_TO_L1_MASK            0x0000020000000000UL
 294 #define UV1H_EVENT_OCCURRED0_L1_TO_ASIC_MASK            0x0000040000000000UL
 295 #define UV1H_EVENT_OCCURRED0_LTC_INT_MASK               0x0000080000000000UL
 296 #define UV1H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK        0x0000100000000000UL
 297 #define UV1H_EVENT_OCCURRED0_IPI_INT_MASK               0x0000200000000000UL
 298 #define UV1H_EVENT_OCCURRED0_EXTIO_INT0_MASK            0x0000400000000000UL
 299 #define UV1H_EVENT_OCCURRED0_EXTIO_INT1_MASK            0x0000800000000000UL
 300 #define UV1H_EVENT_OCCURRED0_EXTIO_INT2_MASK            0x0001000000000000UL
 301 #define UV1H_EVENT_OCCURRED0_EXTIO_INT3_MASK            0x0002000000000000UL
 302 #define UV1H_EVENT_OCCURRED0_PROFILE_INT_MASK           0x0004000000000000UL
 303 #define UV1H_EVENT_OCCURRED0_RTC0_MASK                  0x0008000000000000UL
 304 #define UV1H_EVENT_OCCURRED0_RTC1_MASK                  0x0010000000000000UL
 305 #define UV1H_EVENT_OCCURRED0_RTC2_MASK                  0x0020000000000000UL
 306 #define UV1H_EVENT_OCCURRED0_RTC3_MASK                  0x0040000000000000UL
 307 #define UV1H_EVENT_OCCURRED0_BAU_DATA_MASK              0x0080000000000000UL
 308 #define UV1H_EVENT_OCCURRED0_POWER_MANAGEMENT_REQ_MASK  0x0100000000000000UL
 309 
 310 #define UVXH_EVENT_OCCURRED0_RH_HCERR_SHFT              2
 311 #define UVXH_EVENT_OCCURRED0_LH0_HCERR_SHFT             3
 312 #define UVXH_EVENT_OCCURRED0_LH1_HCERR_SHFT             4
 313 #define UVXH_EVENT_OCCURRED0_GR0_HCERR_SHFT             5
 314 #define UVXH_EVENT_OCCURRED0_GR1_HCERR_SHFT             6
 315 #define UVXH_EVENT_OCCURRED0_NI0_HCERR_SHFT             7
 316 #define UVXH_EVENT_OCCURRED0_NI1_HCERR_SHFT             8
 317 #define UVXH_EVENT_OCCURRED0_LB_AOERR0_SHFT             9
 318 #define UVXH_EVENT_OCCURRED0_LH0_AOERR0_SHFT            12
 319 #define UVXH_EVENT_OCCURRED0_LH1_AOERR0_SHFT            13
 320 #define UVXH_EVENT_OCCURRED0_GR0_AOERR0_SHFT            14
 321 #define UVXH_EVENT_OCCURRED0_GR1_AOERR0_SHFT            15
 322 #define UVXH_EVENT_OCCURRED0_XB_AOERR0_SHFT             16
 323 #define UVXH_EVENT_OCCURRED0_RH_HCERR_MASK              0x0000000000000004UL
 324 #define UVXH_EVENT_OCCURRED0_LH0_HCERR_MASK             0x0000000000000008UL
 325 #define UVXH_EVENT_OCCURRED0_LH1_HCERR_MASK             0x0000000000000010UL
 326 #define UVXH_EVENT_OCCURRED0_GR0_HCERR_MASK             0x0000000000000020UL
 327 #define UVXH_EVENT_OCCURRED0_GR1_HCERR_MASK             0x0000000000000040UL
 328 #define UVXH_EVENT_OCCURRED0_NI0_HCERR_MASK             0x0000000000000080UL
 329 #define UVXH_EVENT_OCCURRED0_NI1_HCERR_MASK             0x0000000000000100UL
 330 #define UVXH_EVENT_OCCURRED0_LB_AOERR0_MASK             0x0000000000000200UL
 331 #define UVXH_EVENT_OCCURRED0_LH0_AOERR0_MASK            0x0000000000001000UL
 332 #define UVXH_EVENT_OCCURRED0_LH1_AOERR0_MASK            0x0000000000002000UL
 333 #define UVXH_EVENT_OCCURRED0_GR0_AOERR0_MASK            0x0000000000004000UL
 334 #define UVXH_EVENT_OCCURRED0_GR1_AOERR0_MASK            0x0000000000008000UL
 335 #define UVXH_EVENT_OCCURRED0_XB_AOERR0_MASK             0x0000000000010000UL
 336 
 337 #define UV2H_EVENT_OCCURRED0_QP_HCERR_SHFT              1
 338 #define UV2H_EVENT_OCCURRED0_QP_AOERR0_SHFT             10
 339 #define UV2H_EVENT_OCCURRED0_RT_AOERR0_SHFT             17
 340 #define UV2H_EVENT_OCCURRED0_NI0_AOERR0_SHFT            18
 341 #define UV2H_EVENT_OCCURRED0_NI1_AOERR0_SHFT            19
 342 #define UV2H_EVENT_OCCURRED0_LB_AOERR1_SHFT             20
 343 #define UV2H_EVENT_OCCURRED0_QP_AOERR1_SHFT             21
 344 #define UV2H_EVENT_OCCURRED0_RH_AOERR1_SHFT             22
 345 #define UV2H_EVENT_OCCURRED0_LH0_AOERR1_SHFT            23
 346 #define UV2H_EVENT_OCCURRED0_LH1_AOERR1_SHFT            24
 347 #define UV2H_EVENT_OCCURRED0_GR0_AOERR1_SHFT            25
 348 #define UV2H_EVENT_OCCURRED0_GR1_AOERR1_SHFT            26
 349 #define UV2H_EVENT_OCCURRED0_XB_AOERR1_SHFT             27
 350 #define UV2H_EVENT_OCCURRED0_RT_AOERR1_SHFT             28
 351 #define UV2H_EVENT_OCCURRED0_NI0_AOERR1_SHFT            29
 352 #define UV2H_EVENT_OCCURRED0_NI1_AOERR1_SHFT            30
 353 #define UV2H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT   31
 354 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT          32
 355 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT          33
 356 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT          34
 357 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT          35
 358 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT          36
 359 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT          37
 360 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT          38
 361 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT          39
 362 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT          40
 363 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT          41
 364 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT         42
 365 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT         43
 366 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT         44
 367 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT         45
 368 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT         46
 369 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT         47
 370 #define UV2H_EVENT_OCCURRED0_L1_NMI_INT_SHFT            48
 371 #define UV2H_EVENT_OCCURRED0_STOP_CLOCK_SHFT            49
 372 #define UV2H_EVENT_OCCURRED0_ASIC_TO_L1_SHFT            50
 373 #define UV2H_EVENT_OCCURRED0_L1_TO_ASIC_SHFT            51
 374 #define UV2H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT        52
 375 #define UV2H_EVENT_OCCURRED0_IPI_INT_SHFT               53
 376 #define UV2H_EVENT_OCCURRED0_EXTIO_INT0_SHFT            54
 377 #define UV2H_EVENT_OCCURRED0_EXTIO_INT1_SHFT            55
 378 #define UV2H_EVENT_OCCURRED0_EXTIO_INT2_SHFT            56
 379 #define UV2H_EVENT_OCCURRED0_EXTIO_INT3_SHFT            57
 380 #define UV2H_EVENT_OCCURRED0_PROFILE_INT_SHFT           58
 381 #define UV2H_EVENT_OCCURRED0_QP_HCERR_MASK              0x0000000000000002UL
 382 #define UV2H_EVENT_OCCURRED0_QP_AOERR0_MASK             0x0000000000000400UL
 383 #define UV2H_EVENT_OCCURRED0_RT_AOERR0_MASK             0x0000000000020000UL
 384 #define UV2H_EVENT_OCCURRED0_NI0_AOERR0_MASK            0x0000000000040000UL
 385 #define UV2H_EVENT_OCCURRED0_NI1_AOERR0_MASK            0x0000000000080000UL
 386 #define UV2H_EVENT_OCCURRED0_LB_AOERR1_MASK             0x0000000000100000UL
 387 #define UV2H_EVENT_OCCURRED0_QP_AOERR1_MASK             0x0000000000200000UL
 388 #define UV2H_EVENT_OCCURRED0_RH_AOERR1_MASK             0x0000000000400000UL
 389 #define UV2H_EVENT_OCCURRED0_LH0_AOERR1_MASK            0x0000000000800000UL
 390 #define UV2H_EVENT_OCCURRED0_LH1_AOERR1_MASK            0x0000000001000000UL
 391 #define UV2H_EVENT_OCCURRED0_GR0_AOERR1_MASK            0x0000000002000000UL
 392 #define UV2H_EVENT_OCCURRED0_GR1_AOERR1_MASK            0x0000000004000000UL
 393 #define UV2H_EVENT_OCCURRED0_XB_AOERR1_MASK             0x0000000008000000UL
 394 #define UV2H_EVENT_OCCURRED0_RT_AOERR1_MASK             0x0000000010000000UL
 395 #define UV2H_EVENT_OCCURRED0_NI0_AOERR1_MASK            0x0000000020000000UL
 396 #define UV2H_EVENT_OCCURRED0_NI1_AOERR1_MASK            0x0000000040000000UL
 397 #define UV2H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK   0x0000000080000000UL
 398 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK          0x0000000100000000UL
 399 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK          0x0000000200000000UL
 400 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK          0x0000000400000000UL
 401 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK          0x0000000800000000UL
 402 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK          0x0000001000000000UL
 403 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK          0x0000002000000000UL
 404 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK          0x0000004000000000UL
 405 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK          0x0000008000000000UL
 406 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK          0x0000010000000000UL
 407 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK          0x0000020000000000UL
 408 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK         0x0000040000000000UL
 409 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK         0x0000080000000000UL
 410 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK         0x0000100000000000UL
 411 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK         0x0000200000000000UL
 412 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK         0x0000400000000000UL
 413 #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK         0x0000800000000000UL
 414 #define UV2H_EVENT_OCCURRED0_L1_NMI_INT_MASK            0x0001000000000000UL
 415 #define UV2H_EVENT_OCCURRED0_STOP_CLOCK_MASK            0x0002000000000000UL
 416 #define UV2H_EVENT_OCCURRED0_ASIC_TO_L1_MASK            0x0004000000000000UL
 417 #define UV2H_EVENT_OCCURRED0_L1_TO_ASIC_MASK            0x0008000000000000UL
 418 #define UV2H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK        0x0010000000000000UL
 419 #define UV2H_EVENT_OCCURRED0_IPI_INT_MASK               0x0020000000000000UL
 420 #define UV2H_EVENT_OCCURRED0_EXTIO_INT0_MASK            0x0040000000000000UL
 421 #define UV2H_EVENT_OCCURRED0_EXTIO_INT1_MASK            0x0080000000000000UL
 422 #define UV2H_EVENT_OCCURRED0_EXTIO_INT2_MASK            0x0100000000000000UL
 423 #define UV2H_EVENT_OCCURRED0_EXTIO_INT3_MASK            0x0200000000000000UL
 424 #define UV2H_EVENT_OCCURRED0_PROFILE_INT_MASK           0x0400000000000000UL
 425 
 426 #define UV3H_EVENT_OCCURRED0_QP_HCERR_SHFT              1
 427 #define UV3H_EVENT_OCCURRED0_QP_AOERR0_SHFT             10
 428 #define UV3H_EVENT_OCCURRED0_RT_AOERR0_SHFT             17
 429 #define UV3H_EVENT_OCCURRED0_NI0_AOERR0_SHFT            18
 430 #define UV3H_EVENT_OCCURRED0_NI1_AOERR0_SHFT            19
 431 #define UV3H_EVENT_OCCURRED0_LB_AOERR1_SHFT             20
 432 #define UV3H_EVENT_OCCURRED0_QP_AOERR1_SHFT             21
 433 #define UV3H_EVENT_OCCURRED0_RH_AOERR1_SHFT             22
 434 #define UV3H_EVENT_OCCURRED0_LH0_AOERR1_SHFT            23
 435 #define UV3H_EVENT_OCCURRED0_LH1_AOERR1_SHFT            24
 436 #define UV3H_EVENT_OCCURRED0_GR0_AOERR1_SHFT            25
 437 #define UV3H_EVENT_OCCURRED0_GR1_AOERR1_SHFT            26
 438 #define UV3H_EVENT_OCCURRED0_XB_AOERR1_SHFT             27
 439 #define UV3H_EVENT_OCCURRED0_RT_AOERR1_SHFT             28
 440 #define UV3H_EVENT_OCCURRED0_NI0_AOERR1_SHFT            29
 441 #define UV3H_EVENT_OCCURRED0_NI1_AOERR1_SHFT            30
 442 #define UV3H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT   31
 443 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT          32
 444 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT          33
 445 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT          34
 446 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT          35
 447 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT          36
 448 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT          37
 449 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT          38
 450 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT          39
 451 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT          40
 452 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT          41
 453 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT         42
 454 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT         43
 455 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT         44
 456 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT         45
 457 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT         46
 458 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT         47
 459 #define UV3H_EVENT_OCCURRED0_L1_NMI_INT_SHFT            48
 460 #define UV3H_EVENT_OCCURRED0_STOP_CLOCK_SHFT            49
 461 #define UV3H_EVENT_OCCURRED0_ASIC_TO_L1_SHFT            50
 462 #define UV3H_EVENT_OCCURRED0_L1_TO_ASIC_SHFT            51
 463 #define UV3H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT        52
 464 #define UV3H_EVENT_OCCURRED0_IPI_INT_SHFT               53
 465 #define UV3H_EVENT_OCCURRED0_EXTIO_INT0_SHFT            54
 466 #define UV3H_EVENT_OCCURRED0_EXTIO_INT1_SHFT            55
 467 #define UV3H_EVENT_OCCURRED0_EXTIO_INT2_SHFT            56
 468 #define UV3H_EVENT_OCCURRED0_EXTIO_INT3_SHFT            57
 469 #define UV3H_EVENT_OCCURRED0_PROFILE_INT_SHFT           58
 470 #define UV3H_EVENT_OCCURRED0_QP_HCERR_MASK              0x0000000000000002UL
 471 #define UV3H_EVENT_OCCURRED0_QP_AOERR0_MASK             0x0000000000000400UL
 472 #define UV3H_EVENT_OCCURRED0_RT_AOERR0_MASK             0x0000000000020000UL
 473 #define UV3H_EVENT_OCCURRED0_NI0_AOERR0_MASK            0x0000000000040000UL
 474 #define UV3H_EVENT_OCCURRED0_NI1_AOERR0_MASK            0x0000000000080000UL
 475 #define UV3H_EVENT_OCCURRED0_LB_AOERR1_MASK             0x0000000000100000UL
 476 #define UV3H_EVENT_OCCURRED0_QP_AOERR1_MASK             0x0000000000200000UL
 477 #define UV3H_EVENT_OCCURRED0_RH_AOERR1_MASK             0x0000000000400000UL
 478 #define UV3H_EVENT_OCCURRED0_LH0_AOERR1_MASK            0x0000000000800000UL
 479 #define UV3H_EVENT_OCCURRED0_LH1_AOERR1_MASK            0x0000000001000000UL
 480 #define UV3H_EVENT_OCCURRED0_GR0_AOERR1_MASK            0x0000000002000000UL
 481 #define UV3H_EVENT_OCCURRED0_GR1_AOERR1_MASK            0x0000000004000000UL
 482 #define UV3H_EVENT_OCCURRED0_XB_AOERR1_MASK             0x0000000008000000UL
 483 #define UV3H_EVENT_OCCURRED0_RT_AOERR1_MASK             0x0000000010000000UL
 484 #define UV3H_EVENT_OCCURRED0_NI0_AOERR1_MASK            0x0000000020000000UL
 485 #define UV3H_EVENT_OCCURRED0_NI1_AOERR1_MASK            0x0000000040000000UL
 486 #define UV3H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK   0x0000000080000000UL
 487 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK          0x0000000100000000UL
 488 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK          0x0000000200000000UL
 489 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK          0x0000000400000000UL
 490 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK          0x0000000800000000UL
 491 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK          0x0000001000000000UL
 492 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK          0x0000002000000000UL
 493 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK          0x0000004000000000UL
 494 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK          0x0000008000000000UL
 495 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK          0x0000010000000000UL
 496 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK          0x0000020000000000UL
 497 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK         0x0000040000000000UL
 498 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK         0x0000080000000000UL
 499 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK         0x0000100000000000UL
 500 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK         0x0000200000000000UL
 501 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK         0x0000400000000000UL
 502 #define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK         0x0000800000000000UL
 503 #define UV3H_EVENT_OCCURRED0_L1_NMI_INT_MASK            0x0001000000000000UL
 504 #define UV3H_EVENT_OCCURRED0_STOP_CLOCK_MASK            0x0002000000000000UL
 505 #define UV3H_EVENT_OCCURRED0_ASIC_TO_L1_MASK            0x0004000000000000UL
 506 #define UV3H_EVENT_OCCURRED0_L1_TO_ASIC_MASK            0x0008000000000000UL
 507 #define UV3H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK        0x0010000000000000UL
 508 #define UV3H_EVENT_OCCURRED0_IPI_INT_MASK               0x0020000000000000UL
 509 #define UV3H_EVENT_OCCURRED0_EXTIO_INT0_MASK            0x0040000000000000UL
 510 #define UV3H_EVENT_OCCURRED0_EXTIO_INT1_MASK            0x0080000000000000UL
 511 #define UV3H_EVENT_OCCURRED0_EXTIO_INT2_MASK            0x0100000000000000UL
 512 #define UV3H_EVENT_OCCURRED0_EXTIO_INT3_MASK            0x0200000000000000UL
 513 #define UV3H_EVENT_OCCURRED0_PROFILE_INT_MASK           0x0400000000000000UL
 514 
 515 #define UV4H_EVENT_OCCURRED0_KT_HCERR_SHFT              1
 516 #define UV4H_EVENT_OCCURRED0_KT_AOERR0_SHFT             10
 517 #define UV4H_EVENT_OCCURRED0_RTQ0_AOERR0_SHFT           17
 518 #define UV4H_EVENT_OCCURRED0_RTQ1_AOERR0_SHFT           18
 519 #define UV4H_EVENT_OCCURRED0_RTQ2_AOERR0_SHFT           19
 520 #define UV4H_EVENT_OCCURRED0_RTQ3_AOERR0_SHFT           20
 521 #define UV4H_EVENT_OCCURRED0_NI0_AOERR0_SHFT            21
 522 #define UV4H_EVENT_OCCURRED0_NI1_AOERR0_SHFT            22
 523 #define UV4H_EVENT_OCCURRED0_LB_AOERR1_SHFT             23
 524 #define UV4H_EVENT_OCCURRED0_KT_AOERR1_SHFT             24
 525 #define UV4H_EVENT_OCCURRED0_RH_AOERR1_SHFT             25
 526 #define UV4H_EVENT_OCCURRED0_LH0_AOERR1_SHFT            26
 527 #define UV4H_EVENT_OCCURRED0_LH1_AOERR1_SHFT            27
 528 #define UV4H_EVENT_OCCURRED0_GR0_AOERR1_SHFT            28
 529 #define UV4H_EVENT_OCCURRED0_GR1_AOERR1_SHFT            29
 530 #define UV4H_EVENT_OCCURRED0_XB_AOERR1_SHFT             30
 531 #define UV4H_EVENT_OCCURRED0_RTQ0_AOERR1_SHFT           31
 532 #define UV4H_EVENT_OCCURRED0_RTQ1_AOERR1_SHFT           32
 533 #define UV4H_EVENT_OCCURRED0_RTQ2_AOERR1_SHFT           33
 534 #define UV4H_EVENT_OCCURRED0_RTQ3_AOERR1_SHFT           34
 535 #define UV4H_EVENT_OCCURRED0_NI0_AOERR1_SHFT            35
 536 #define UV4H_EVENT_OCCURRED0_NI1_AOERR1_SHFT            36
 537 #define UV4H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT   37
 538 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT          38
 539 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT          39
 540 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT          40
 541 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT          41
 542 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT          42
 543 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT          43
 544 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT          44
 545 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT          45
 546 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT          46
 547 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT          47
 548 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT         48
 549 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT         49
 550 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT         50
 551 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT         51
 552 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT         52
 553 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT         53
 554 #define UV4H_EVENT_OCCURRED0_L1_NMI_INT_SHFT            54
 555 #define UV4H_EVENT_OCCURRED0_STOP_CLOCK_SHFT            55
 556 #define UV4H_EVENT_OCCURRED0_ASIC_TO_L1_SHFT            56
 557 #define UV4H_EVENT_OCCURRED0_L1_TO_ASIC_SHFT            57
 558 #define UV4H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT        58
 559 #define UV4H_EVENT_OCCURRED0_IPI_INT_SHFT               59
 560 #define UV4H_EVENT_OCCURRED0_EXTIO_INT0_SHFT            60
 561 #define UV4H_EVENT_OCCURRED0_EXTIO_INT1_SHFT            61
 562 #define UV4H_EVENT_OCCURRED0_EXTIO_INT2_SHFT            62
 563 #define UV4H_EVENT_OCCURRED0_EXTIO_INT3_SHFT            63
 564 #define UV4H_EVENT_OCCURRED0_KT_HCERR_MASK              0x0000000000000002UL
 565 #define UV4H_EVENT_OCCURRED0_KT_AOERR0_MASK             0x0000000000000400UL
 566 #define UV4H_EVENT_OCCURRED0_RTQ0_AOERR0_MASK           0x0000000000020000UL
 567 #define UV4H_EVENT_OCCURRED0_RTQ1_AOERR0_MASK           0x0000000000040000UL
 568 #define UV4H_EVENT_OCCURRED0_RTQ2_AOERR0_MASK           0x0000000000080000UL
 569 #define UV4H_EVENT_OCCURRED0_RTQ3_AOERR0_MASK           0x0000000000100000UL
 570 #define UV4H_EVENT_OCCURRED0_NI0_AOERR0_MASK            0x0000000000200000UL
 571 #define UV4H_EVENT_OCCURRED0_NI1_AOERR0_MASK            0x0000000000400000UL
 572 #define UV4H_EVENT_OCCURRED0_LB_AOERR1_MASK             0x0000000000800000UL
 573 #define UV4H_EVENT_OCCURRED0_KT_AOERR1_MASK             0x0000000001000000UL
 574 #define UV4H_EVENT_OCCURRED0_RH_AOERR1_MASK             0x0000000002000000UL
 575 #define UV4H_EVENT_OCCURRED0_LH0_AOERR1_MASK            0x0000000004000000UL
 576 #define UV4H_EVENT_OCCURRED0_LH1_AOERR1_MASK            0x0000000008000000UL
 577 #define UV4H_EVENT_OCCURRED0_GR0_AOERR1_MASK            0x0000000010000000UL
 578 #define UV4H_EVENT_OCCURRED0_GR1_AOERR1_MASK            0x0000000020000000UL
 579 #define UV4H_EVENT_OCCURRED0_XB_AOERR1_MASK             0x0000000040000000UL
 580 #define UV4H_EVENT_OCCURRED0_RTQ0_AOERR1_MASK           0x0000000080000000UL
 581 #define UV4H_EVENT_OCCURRED0_RTQ1_AOERR1_MASK           0x0000000100000000UL
 582 #define UV4H_EVENT_OCCURRED0_RTQ2_AOERR1_MASK           0x0000000200000000UL
 583 #define UV4H_EVENT_OCCURRED0_RTQ3_AOERR1_MASK           0x0000000400000000UL
 584 #define UV4H_EVENT_OCCURRED0_NI0_AOERR1_MASK            0x0000000800000000UL
 585 #define UV4H_EVENT_OCCURRED0_NI1_AOERR1_MASK            0x0000001000000000UL
 586 #define UV4H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK   0x0000002000000000UL
 587 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK          0x0000004000000000UL
 588 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK          0x0000008000000000UL
 589 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK          0x0000010000000000UL
 590 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK          0x0000020000000000UL
 591 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK          0x0000040000000000UL
 592 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK          0x0000080000000000UL
 593 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK          0x0000100000000000UL
 594 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK          0x0000200000000000UL
 595 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK          0x0000400000000000UL
 596 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK          0x0000800000000000UL
 597 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK         0x0001000000000000UL
 598 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK         0x0002000000000000UL
 599 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK         0x0004000000000000UL
 600 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK         0x0008000000000000UL
 601 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK         0x0010000000000000UL
 602 #define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK         0x0020000000000000UL
 603 #define UV4H_EVENT_OCCURRED0_L1_NMI_INT_MASK            0x0040000000000000UL
 604 #define UV4H_EVENT_OCCURRED0_STOP_CLOCK_MASK            0x0080000000000000UL
 605 #define UV4H_EVENT_OCCURRED0_ASIC_TO_L1_MASK            0x0100000000000000UL
 606 #define UV4H_EVENT_OCCURRED0_L1_TO_ASIC_MASK            0x0200000000000000UL
 607 #define UV4H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK        0x0400000000000000UL
 608 #define UV4H_EVENT_OCCURRED0_IPI_INT_MASK               0x0800000000000000UL
 609 #define UV4H_EVENT_OCCURRED0_EXTIO_INT0_MASK            0x1000000000000000UL
 610 #define UV4H_EVENT_OCCURRED0_EXTIO_INT1_MASK            0x2000000000000000UL
 611 #define UV4H_EVENT_OCCURRED0_EXTIO_INT2_MASK            0x4000000000000000UL
 612 #define UV4H_EVENT_OCCURRED0_EXTIO_INT3_MASK            0x8000000000000000UL
 613 
 614 #define UVH_EVENT_OCCURRED0_EXTIO_INT0_SHFT (                           \
 615         is_uv1_hub() ? UV1H_EVENT_OCCURRED0_EXTIO_INT0_SHFT :           \
 616         is_uv2_hub() ? UV2H_EVENT_OCCURRED0_EXTIO_INT0_SHFT :           \
 617         is_uv3_hub() ? UV3H_EVENT_OCCURRED0_EXTIO_INT0_SHFT :           \
 618         /*is_uv4_hub*/ UV4H_EVENT_OCCURRED0_EXTIO_INT0_SHFT)
 619 
 620 union uvh_event_occurred0_u {
 621         unsigned long   v;
 622         struct uvh_event_occurred0_s {
 623                 unsigned long   lb_hcerr:1;                     /* RW, W1C */
 624                 unsigned long   rsvd_1_10:10;
 625                 unsigned long   rh_aoerr0:1;                    /* RW, W1C */
 626                 unsigned long   rsvd_12_63:52;
 627         } s;
 628         struct uvxh_event_occurred0_s {
 629                 unsigned long   lb_hcerr:1;                     /* RW */
 630                 unsigned long   rsvd_1:1;
 631                 unsigned long   rh_hcerr:1;                     /* RW */
 632                 unsigned long   lh0_hcerr:1;                    /* RW */
 633                 unsigned long   lh1_hcerr:1;                    /* RW */
 634                 unsigned long   gr0_hcerr:1;                    /* RW */
 635                 unsigned long   gr1_hcerr:1;                    /* RW */
 636                 unsigned long   ni0_hcerr:1;                    /* RW */
 637                 unsigned long   ni1_hcerr:1;                    /* RW */
 638                 unsigned long   lb_aoerr0:1;                    /* RW */
 639                 unsigned long   rsvd_10:1;
 640                 unsigned long   rh_aoerr0:1;                    /* RW */
 641                 unsigned long   lh0_aoerr0:1;                   /* RW */
 642                 unsigned long   lh1_aoerr0:1;                   /* RW */
 643                 unsigned long   gr0_aoerr0:1;                   /* RW */
 644                 unsigned long   gr1_aoerr0:1;                   /* RW */
 645                 unsigned long   xb_aoerr0:1;                    /* RW */
 646                 unsigned long   rsvd_17_63:47;
 647         } sx;
 648         struct uv4h_event_occurred0_s {
 649                 unsigned long   lb_hcerr:1;                     /* RW */
 650                 unsigned long   kt_hcerr:1;                     /* RW */
 651                 unsigned long   rh_hcerr:1;                     /* RW */
 652                 unsigned long   lh0_hcerr:1;                    /* RW */
 653                 unsigned long   lh1_hcerr:1;                    /* RW */
 654                 unsigned long   gr0_hcerr:1;                    /* RW */
 655                 unsigned long   gr1_hcerr:1;                    /* RW */
 656                 unsigned long   ni0_hcerr:1;                    /* RW */
 657                 unsigned long   ni1_hcerr:1;                    /* RW */
 658                 unsigned long   lb_aoerr0:1;                    /* RW */
 659                 unsigned long   kt_aoerr0:1;                    /* RW */
 660                 unsigned long   rh_aoerr0:1;                    /* RW */
 661                 unsigned long   lh0_aoerr0:1;                   /* RW */
 662                 unsigned long   lh1_aoerr0:1;                   /* RW */
 663                 unsigned long   gr0_aoerr0:1;                   /* RW */
 664                 unsigned long   gr1_aoerr0:1;                   /* RW */
 665                 unsigned long   xb_aoerr0:1;                    /* RW */
 666                 unsigned long   rtq0_aoerr0:1;                  /* RW */
 667                 unsigned long   rtq1_aoerr0:1;                  /* RW */
 668                 unsigned long   rtq2_aoerr0:1;                  /* RW */
 669                 unsigned long   rtq3_aoerr0:1;                  /* RW */
 670                 unsigned long   ni0_aoerr0:1;                   /* RW */
 671                 unsigned long   ni1_aoerr0:1;                   /* RW */
 672                 unsigned long   lb_aoerr1:1;                    /* RW */
 673                 unsigned long   kt_aoerr1:1;                    /* RW */
 674                 unsigned long   rh_aoerr1:1;                    /* RW */
 675                 unsigned long   lh0_aoerr1:1;                   /* RW */
 676                 unsigned long   lh1_aoerr1:1;                   /* RW */
 677                 unsigned long   gr0_aoerr1:1;                   /* RW */
 678                 unsigned long   gr1_aoerr1:1;                   /* RW */
 679                 unsigned long   xb_aoerr1:1;                    /* RW */
 680                 unsigned long   rtq0_aoerr1:1;                  /* RW */
 681                 unsigned long   rtq1_aoerr1:1;                  /* RW */
 682                 unsigned long   rtq2_aoerr1:1;                  /* RW */
 683                 unsigned long   rtq3_aoerr1:1;                  /* RW */
 684                 unsigned long   ni0_aoerr1:1;                   /* RW */
 685                 unsigned long   ni1_aoerr1:1;                   /* RW */
 686                 unsigned long   system_shutdown_int:1;          /* RW */
 687                 unsigned long   lb_irq_int_0:1;                 /* RW */
 688                 unsigned long   lb_irq_int_1:1;                 /* RW */
 689                 unsigned long   lb_irq_int_2:1;                 /* RW */
 690                 unsigned long   lb_irq_int_3:1;                 /* RW */
 691                 unsigned long   lb_irq_int_4:1;                 /* RW */
 692                 unsigned long   lb_irq_int_5:1;                 /* RW */
 693                 unsigned long   lb_irq_int_6:1;                 /* RW */
 694                 unsigned long   lb_irq_int_7:1;                 /* RW */
 695                 unsigned long   lb_irq_int_8:1;                 /* RW */
 696                 unsigned long   lb_irq_int_9:1;                 /* RW */
 697                 unsigned long   lb_irq_int_10:1;                /* RW */
 698                 unsigned long   lb_irq_int_11:1;                /* RW */
 699                 unsigned long   lb_irq_int_12:1;                /* RW */
 700                 unsigned long   lb_irq_int_13:1;                /* RW */
 701                 unsigned long   lb_irq_int_14:1;                /* RW */
 702                 unsigned long   lb_irq_int_15:1;                /* RW */
 703                 unsigned long   l1_nmi_int:1;                   /* RW */
 704                 unsigned long   stop_clock:1;                   /* RW */
 705                 unsigned long   asic_to_l1:1;                   /* RW */
 706                 unsigned long   l1_to_asic:1;                   /* RW */
 707                 unsigned long   la_seq_trigger:1;               /* RW */
 708                 unsigned long   ipi_int:1;                      /* RW */
 709                 unsigned long   extio_int0:1;                   /* RW */
 710                 unsigned long   extio_int1:1;                   /* RW */
 711                 unsigned long   extio_int2:1;                   /* RW */
 712                 unsigned long   extio_int3:1;                   /* RW */
 713         } s4;
 714 };
 715 
 716 /* ========================================================================= */
 717 /*                        UVH_EVENT_OCCURRED0_ALIAS                          */
 718 /* ========================================================================= */
 719 #define UVH_EVENT_OCCURRED0_ALIAS 0x70008UL
 720 #define UVH_EVENT_OCCURRED0_ALIAS_32 0x5f0
 721 
 722 
 723 /* ========================================================================= */
 724 /*                         UVH_EXTIO_INT0_BROADCAST                          */
 725 /* ========================================================================= */
 726 #define UVH_EXTIO_INT0_BROADCAST 0x61448UL
 727 
 728 #define UV1H_EXTIO_INT0_BROADCAST_32 0x3f0
 729 #define UV2H_EXTIO_INT0_BROADCAST_32 0x3f0
 730 #define UV3H_EXTIO_INT0_BROADCAST_32 0x3f0
 731 #define UV4H_EXTIO_INT0_BROADCAST_32 0x310
 732 #define UVH_EXTIO_INT0_BROADCAST_32 (                                   \
 733         is_uv1_hub() ? UV1H_EXTIO_INT0_BROADCAST_32 :                   \
 734         is_uv2_hub() ? UV2H_EXTIO_INT0_BROADCAST_32 :                   \
 735         is_uv3_hub() ? UV3H_EXTIO_INT0_BROADCAST_32 :                   \
 736         /*is_uv4_hub*/ UV4H_EXTIO_INT0_BROADCAST_32)
 737 
 738 #define UVH_EXTIO_INT0_BROADCAST_ENABLE_SHFT            0
 739 #define UVH_EXTIO_INT0_BROADCAST_ENABLE_MASK            0x0000000000000001UL
 740 
 741 
 742 union uvh_extio_int0_broadcast_u {
 743         unsigned long   v;
 744         struct uvh_extio_int0_broadcast_s {
 745                 unsigned long   enable:1;                       /* RW */
 746                 unsigned long   rsvd_1_63:63;
 747         } s;
 748 };
 749 
 750 /* ========================================================================= */
 751 /*                         UVH_GR0_TLB_INT0_CONFIG                           */
 752 /* ========================================================================= */
 753 #define UVH_GR0_TLB_INT0_CONFIG 0x61b00UL
 754 
 755 #define UVH_GR0_TLB_INT0_CONFIG_VECTOR_SHFT             0
 756 #define UVH_GR0_TLB_INT0_CONFIG_DM_SHFT                 8
 757 #define UVH_GR0_TLB_INT0_CONFIG_DESTMODE_SHFT           11
 758 #define UVH_GR0_TLB_INT0_CONFIG_STATUS_SHFT             12
 759 #define UVH_GR0_TLB_INT0_CONFIG_P_SHFT                  13
 760 #define UVH_GR0_TLB_INT0_CONFIG_T_SHFT                  15
 761 #define UVH_GR0_TLB_INT0_CONFIG_M_SHFT                  16
 762 #define UVH_GR0_TLB_INT0_CONFIG_APIC_ID_SHFT            32
 763 #define UVH_GR0_TLB_INT0_CONFIG_VECTOR_MASK             0x00000000000000ffUL
 764 #define UVH_GR0_TLB_INT0_CONFIG_DM_MASK                 0x0000000000000700UL
 765 #define UVH_GR0_TLB_INT0_CONFIG_DESTMODE_MASK           0x0000000000000800UL
 766 #define UVH_GR0_TLB_INT0_CONFIG_STATUS_MASK             0x0000000000001000UL
 767 #define UVH_GR0_TLB_INT0_CONFIG_P_MASK                  0x0000000000002000UL
 768 #define UVH_GR0_TLB_INT0_CONFIG_T_MASK                  0x0000000000008000UL
 769 #define UVH_GR0_TLB_INT0_CONFIG_M_MASK                  0x0000000000010000UL
 770 #define UVH_GR0_TLB_INT0_CONFIG_APIC_ID_MASK            0xffffffff00000000UL
 771 
 772 
 773 union uvh_gr0_tlb_int0_config_u {
 774         unsigned long   v;
 775         struct uvh_gr0_tlb_int0_config_s {
 776                 unsigned long   vector_:8;                      /* RW */
 777                 unsigned long   dm:3;                           /* RW */
 778                 unsigned long   destmode:1;                     /* RW */
 779                 unsigned long   status:1;                       /* RO */
 780                 unsigned long   p:1;                            /* RO */
 781                 unsigned long   rsvd_14:1;
 782                 unsigned long   t:1;                            /* RO */
 783                 unsigned long   m:1;                            /* RW */
 784                 unsigned long   rsvd_17_31:15;
 785                 unsigned long   apic_id:32;                     /* RW */
 786         } s;
 787 };
 788 
 789 /* ========================================================================= */
 790 /*                         UVH_GR0_TLB_INT1_CONFIG                           */
 791 /* ========================================================================= */
 792 #define UVH_GR0_TLB_INT1_CONFIG 0x61b40UL
 793 
 794 #define UVH_GR0_TLB_INT1_CONFIG_VECTOR_SHFT             0
 795 #define UVH_GR0_TLB_INT1_CONFIG_DM_SHFT                 8
 796 #define UVH_GR0_TLB_INT1_CONFIG_DESTMODE_SHFT           11
 797 #define UVH_GR0_TLB_INT1_CONFIG_STATUS_SHFT             12
 798 #define UVH_GR0_TLB_INT1_CONFIG_P_SHFT                  13
 799 #define UVH_GR0_TLB_INT1_CONFIG_T_SHFT                  15
 800 #define UVH_GR0_TLB_INT1_CONFIG_M_SHFT                  16
 801 #define UVH_GR0_TLB_INT1_CONFIG_APIC_ID_SHFT            32
 802 #define UVH_GR0_TLB_INT1_CONFIG_VECTOR_MASK             0x00000000000000ffUL
 803 #define UVH_GR0_TLB_INT1_CONFIG_DM_MASK                 0x0000000000000700UL
 804 #define UVH_GR0_TLB_INT1_CONFIG_DESTMODE_MASK           0x0000000000000800UL
 805 #define UVH_GR0_TLB_INT1_CONFIG_STATUS_MASK             0x0000000000001000UL
 806 #define UVH_GR0_TLB_INT1_CONFIG_P_MASK                  0x0000000000002000UL
 807 #define UVH_GR0_TLB_INT1_CONFIG_T_MASK                  0x0000000000008000UL
 808 #define UVH_GR0_TLB_INT1_CONFIG_M_MASK                  0x0000000000010000UL
 809 #define UVH_GR0_TLB_INT1_CONFIG_APIC_ID_MASK            0xffffffff00000000UL
 810 
 811 
 812 union uvh_gr0_tlb_int1_config_u {
 813         unsigned long   v;
 814         struct uvh_gr0_tlb_int1_config_s {
 815                 unsigned long   vector_:8;                      /* RW */
 816                 unsigned long   dm:3;                           /* RW */
 817                 unsigned long   destmode:1;                     /* RW */
 818                 unsigned long   status:1;                       /* RO */
 819                 unsigned long   p:1;                            /* RO */
 820                 unsigned long   rsvd_14:1;
 821                 unsigned long   t:1;                            /* RO */
 822                 unsigned long   m:1;                            /* RW */
 823                 unsigned long   rsvd_17_31:15;
 824                 unsigned long   apic_id:32;                     /* RW */
 825         } s;
 826 };
 827 
 828 /* ========================================================================= */
 829 /*                         UVH_GR0_TLB_MMR_CONTROL                           */
 830 /* ========================================================================= */
 831 #define UV1H_GR0_TLB_MMR_CONTROL 0x401080UL
 832 #define UV2H_GR0_TLB_MMR_CONTROL 0xc01080UL
 833 #define UV3H_GR0_TLB_MMR_CONTROL 0xc01080UL
 834 #define UV4H_GR0_TLB_MMR_CONTROL 0x601080UL
 835 #define UVH_GR0_TLB_MMR_CONTROL (                                       \
 836         is_uv1_hub() ? UV1H_GR0_TLB_MMR_CONTROL :                       \
 837         is_uv2_hub() ? UV2H_GR0_TLB_MMR_CONTROL :                       \
 838         is_uv3_hub() ? UV3H_GR0_TLB_MMR_CONTROL :                       \
 839         /*is_uv4_hub*/ UV4H_GR0_TLB_MMR_CONTROL)
 840 
 841 #define UVH_GR0_TLB_MMR_CONTROL_INDEX_SHFT              0
 842 #define UVH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT      16
 843 #define UVH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT  20
 844 #define UVH_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT          30
 845 #define UVH_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT           31
 846 #define UVH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK      0x0000000000010000UL
 847 #define UVH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK  0x0000000000100000UL
 848 #define UVH_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK          0x0000000040000000UL
 849 #define UVH_GR0_TLB_MMR_CONTROL_MMR_READ_MASK           0x0000000080000000UL
 850 
 851 #define UV1H_GR0_TLB_MMR_CONTROL_INDEX_SHFT             0
 852 #define UV1H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT           12
 853 #define UV1H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT     16
 854 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
 855 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT         30
 856 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT          31
 857 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_CON_SHFT       48
 858 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_SHFT    52
 859 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBPGSIZE_SHFT 54
 860 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBRREG_SHFT   56
 861 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_SHFT   60
 862 #define UV1H_GR0_TLB_MMR_CONTROL_INDEX_MASK             0x0000000000000fffUL
 863 #define UV1H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK           0x0000000000003000UL
 864 #define UV1H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK     0x0000000000010000UL
 865 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
 866 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK         0x0000000040000000UL
 867 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_READ_MASK          0x0000000080000000UL
 868 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_CON_MASK       0x0001000000000000UL
 869 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_MASK    0x0010000000000000UL
 870 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBPGSIZE_MASK 0x0040000000000000UL
 871 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBRREG_MASK   0x0100000000000000UL
 872 #define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_MASK   0x1000000000000000UL
 873 
 874 #define UVXH_GR0_TLB_MMR_CONTROL_INDEX_SHFT             0
 875 #define UVXH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT     16
 876 #define UVXH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
 877 #define UVXH_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT         30
 878 #define UVXH_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT          31
 879 #define UVXH_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT       32
 880 #define UVXH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK     0x0000000000010000UL
 881 #define UVXH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
 882 #define UVXH_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK         0x0000000040000000UL
 883 #define UVXH_GR0_TLB_MMR_CONTROL_MMR_READ_MASK          0x0000000080000000UL
 884 #define UVXH_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_MASK       0x0000000100000000UL
 885 
 886 #define UV2H_GR0_TLB_MMR_CONTROL_INDEX_SHFT             0
 887 #define UV2H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT           12
 888 #define UV2H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT     16
 889 #define UV2H_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
 890 #define UV2H_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT         30
 891 #define UV2H_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT          31
 892 #define UV2H_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT       32
 893 #define UV2H_GR0_TLB_MMR_CONTROL_MMR_INJ_CON_SHFT       48
 894 #define UV2H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_SHFT    52
 895 #define UV2H_GR0_TLB_MMR_CONTROL_INDEX_MASK             0x0000000000000fffUL
 896 #define UV2H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK           0x0000000000003000UL
 897 #define UV2H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK     0x0000000000010000UL
 898 #define UV2H_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
 899 #define UV2H_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK         0x0000000040000000UL
 900 #define UV2H_GR0_TLB_MMR_CONTROL_MMR_READ_MASK          0x0000000080000000UL
 901 #define UV2H_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_MASK       0x0000000100000000UL
 902 #define UV2H_GR0_TLB_MMR_CONTROL_MMR_INJ_CON_MASK       0x0001000000000000UL
 903 #define UV2H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_MASK    0x0010000000000000UL
 904 
 905 #define UV3H_GR0_TLB_MMR_CONTROL_INDEX_SHFT             0
 906 #define UV3H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT           12
 907 #define UV3H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT     16
 908 #define UV3H_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
 909 #define UV3H_GR0_TLB_MMR_CONTROL_ECC_SEL_SHFT           21
 910 #define UV3H_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT         30
 911 #define UV3H_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT          31
 912 #define UV3H_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT       32
 913 #define UV3H_GR0_TLB_MMR_CONTROL_INDEX_MASK             0x0000000000000fffUL
 914 #define UV3H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK           0x0000000000003000UL
 915 #define UV3H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK     0x0000000000010000UL
 916 #define UV3H_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
 917 #define UV3H_GR0_TLB_MMR_CONTROL_ECC_SEL_MASK           0x0000000000200000UL
 918 #define UV3H_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK         0x0000000040000000UL
 919 #define UV3H_GR0_TLB_MMR_CONTROL_MMR_READ_MASK          0x0000000080000000UL
 920 #define UV3H_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_MASK       0x0000000100000000UL
 921 
 922 #define UV4H_GR0_TLB_MMR_CONTROL_INDEX_SHFT             0
 923 #define UV4H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT           13
 924 #define UV4H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT     16
 925 #define UV4H_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
 926 #define UV4H_GR0_TLB_MMR_CONTROL_ECC_SEL_SHFT           21
 927 #define UV4H_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT         30
 928 #define UV4H_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT          31
 929 #define UV4H_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT       32
 930 #define UV4H_GR0_TLB_MMR_CONTROL_PAGE_SIZE_SHFT         59
 931 #define UV4H_GR0_TLB_MMR_CONTROL_INDEX_MASK             0x0000000000001fffUL
 932 #define UV4H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK           0x0000000000006000UL
 933 #define UV4H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK     0x0000000000010000UL
 934 #define UV4H_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
 935 #define UV4H_GR0_TLB_MMR_CONTROL_ECC_SEL_MASK           0x0000000000200000UL
 936 #define UV4H_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK         0x0000000040000000UL
 937 #define UV4H_GR0_TLB_MMR_CONTROL_MMR_READ_MASK          0x0000000080000000UL
 938 #define UV4H_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_MASK       0x0000000100000000UL
 939 #define UV4H_GR0_TLB_MMR_CONTROL_PAGE_SIZE_MASK         0xf800000000000000UL
 940 
 941 #define UVH_GR0_TLB_MMR_CONTROL_INDEX_MASK (                            \
 942         is_uv1_hub() ? UV1H_GR0_TLB_MMR_CONTROL_INDEX_MASK :            \
 943         is_uv2_hub() ? UV2H_GR0_TLB_MMR_CONTROL_INDEX_MASK :            \
 944         is_uv3_hub() ? UV3H_GR0_TLB_MMR_CONTROL_INDEX_MASK :            \
 945         /*is_uv4_hub*/ UV4H_GR0_TLB_MMR_CONTROL_INDEX_MASK)
 946 #define UVH_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK (                          \
 947         is_uv1_hub() ? UV1H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK :          \
 948         is_uv2_hub() ? UV2H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK :          \
 949         is_uv3_hub() ? UV3H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK :          \
 950         /*is_uv4_hub*/ UV4H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK)
 951 #define UVH_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT (                          \
 952         is_uv1_hub() ? UV1H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT :          \
 953         is_uv2_hub() ? UV2H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT :          \
 954         is_uv3_hub() ? UV3H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT :          \
 955         /*is_uv4_hub*/ UV4H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT)
 956 
 957 union uvh_gr0_tlb_mmr_control_u {
 958         unsigned long   v;
 959         struct uvh_gr0_tlb_mmr_control_s {
 960                 unsigned long   rsvd_0_15:16;
 961                 unsigned long   auto_valid_en:1;                /* RW */
 962                 unsigned long   rsvd_17_19:3;
 963                 unsigned long   mmr_hash_index_en:1;            /* RW */
 964                 unsigned long   rsvd_21_29:9;
 965                 unsigned long   mmr_write:1;                    /* WP */
 966                 unsigned long   mmr_read:1;                     /* WP */
 967                 unsigned long   rsvd_32_48:17;
 968                 unsigned long   rsvd_49_51:3;
 969                 unsigned long   rsvd_52_63:12;
 970         } s;
 971         struct uv1h_gr0_tlb_mmr_control_s {
 972                 unsigned long   index:12;                       /* RW */
 973                 unsigned long   mem_sel:2;                      /* RW */
 974                 unsigned long   rsvd_14_15:2;
 975                 unsigned long   auto_valid_en:1;                /* RW */
 976                 unsigned long   rsvd_17_19:3;
 977                 unsigned long   mmr_hash_index_en:1;            /* RW */
 978                 unsigned long   rsvd_21_29:9;
 979                 unsigned long   mmr_write:1;                    /* WP */
 980                 unsigned long   mmr_read:1;                     /* WP */
 981                 unsigned long   rsvd_32_47:16;
 982                 unsigned long   mmr_inj_con:1;                  /* RW */
 983                 unsigned long   rsvd_49_51:3;
 984                 unsigned long   mmr_inj_tlbram:1;               /* RW */
 985                 unsigned long   rsvd_53:1;
 986                 unsigned long   mmr_inj_tlbpgsize:1;            /* RW */
 987                 unsigned long   rsvd_55:1;
 988                 unsigned long   mmr_inj_tlbrreg:1;              /* RW */
 989                 unsigned long   rsvd_57_59:3;
 990                 unsigned long   mmr_inj_tlblruv:1;              /* RW */
 991                 unsigned long   rsvd_61_63:3;
 992         } s1;
 993         struct uvxh_gr0_tlb_mmr_control_s {
 994                 unsigned long   rsvd_0_15:16;
 995                 unsigned long   auto_valid_en:1;                /* RW */
 996                 unsigned long   rsvd_17_19:3;
 997                 unsigned long   mmr_hash_index_en:1;            /* RW */
 998                 unsigned long   rsvd_21_29:9;
 999                 unsigned long   mmr_write:1;                    /* WP */
1000                 unsigned long   mmr_read:1;                     /* WP */
1001                 unsigned long   mmr_op_done:1;                  /* RW */
1002                 unsigned long   rsvd_33_47:15;
1003                 unsigned long   rsvd_48:1;
1004                 unsigned long   rsvd_49_51:3;
1005                 unsigned long   rsvd_52_63:12;
1006         } sx;
1007         struct uv2h_gr0_tlb_mmr_control_s {
1008                 unsigned long   index:12;                       /* RW */
1009                 unsigned long   mem_sel:2;                      /* RW */
1010                 unsigned long   rsvd_14_15:2;
1011                 unsigned long   auto_valid_en:1;                /* RW */
1012                 unsigned long   rsvd_17_19:3;
1013                 unsigned long   mmr_hash_index_en:1;            /* RW */
1014                 unsigned long   rsvd_21_29:9;
1015                 unsigned long   mmr_write:1;                    /* WP */
1016                 unsigned long   mmr_read:1;                     /* WP */
1017                 unsigned long   mmr_op_done:1;                  /* RW */
1018                 unsigned long   rsvd_33_47:15;
1019                 unsigned long   mmr_inj_con:1;                  /* RW */
1020                 unsigned long   rsvd_49_51:3;
1021                 unsigned long   mmr_inj_tlbram:1;               /* RW */
1022                 unsigned long   rsvd_53_63:11;
1023         } s2;
1024         struct uv3h_gr0_tlb_mmr_control_s {
1025                 unsigned long   index:12;                       /* RW */
1026                 unsigned long   mem_sel:2;                      /* RW */
1027                 unsigned long   rsvd_14_15:2;
1028                 unsigned long   auto_valid_en:1;                /* RW */
1029                 unsigned long   rsvd_17_19:3;
1030                 unsigned long   mmr_hash_index_en:1;            /* RW */
1031                 unsigned long   ecc_sel:1;                      /* RW */
1032                 unsigned long   rsvd_22_29:8;
1033                 unsigned long   mmr_write:1;                    /* WP */
1034                 unsigned long   mmr_read:1;                     /* WP */
1035                 unsigned long   mmr_op_done:1;                  /* RW */
1036                 unsigned long   rsvd_33_47:15;
1037                 unsigned long   undef_48:1;                     /* Undefined */
1038                 unsigned long   rsvd_49_51:3;
1039                 unsigned long   undef_52:1;                     /* Undefined */
1040                 unsigned long   rsvd_53_63:11;
1041         } s3;
1042         struct uv4h_gr0_tlb_mmr_control_s {
1043                 unsigned long   index:13;                       /* RW */
1044                 unsigned long   mem_sel:2;                      /* RW */
1045                 unsigned long   rsvd_15:1;
1046                 unsigned long   auto_valid_en:1;                /* RW */
1047                 unsigned long   rsvd_17_19:3;
1048                 unsigned long   mmr_hash_index_en:1;            /* RW */
1049                 unsigned long   ecc_sel:1;                      /* RW */
1050                 unsigned long   rsvd_22_29:8;
1051                 unsigned long   mmr_write:1;                    /* WP */
1052                 unsigned long   mmr_read:1;                     /* WP */
1053                 unsigned long   mmr_op_done:1;                  /* RW */
1054                 unsigned long   rsvd_33_47:15;
1055                 unsigned long   undef_48:1;                     /* Undefined */
1056                 unsigned long   rsvd_49_51:3;
1057                 unsigned long   rsvd_52_58:7;
1058                 unsigned long   page_size:5;                    /* RW */
1059         } s4;
1060 };
1061 
1062 /* ========================================================================= */
1063 /*                       UVH_GR0_TLB_MMR_READ_DATA_HI                        */
1064 /* ========================================================================= */
1065 #define UV1H_GR0_TLB_MMR_READ_DATA_HI 0x4010a0UL
1066 #define UV2H_GR0_TLB_MMR_READ_DATA_HI 0xc010a0UL
1067 #define UV3H_GR0_TLB_MMR_READ_DATA_HI 0xc010a0UL
1068 #define UV4H_GR0_TLB_MMR_READ_DATA_HI 0x6010a0UL
1069 #define UVH_GR0_TLB_MMR_READ_DATA_HI (                                  \
1070         is_uv1_hub() ? UV1H_GR0_TLB_MMR_READ_DATA_HI :                  \
1071         is_uv2_hub() ? UV2H_GR0_TLB_MMR_READ_DATA_HI :                  \
1072         is_uv3_hub() ? UV3H_GR0_TLB_MMR_READ_DATA_HI :                  \
1073         /*is_uv4_hub*/ UV4H_GR0_TLB_MMR_READ_DATA_HI)
1074 
1075 #define UVH_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT           0
1076 
1077 #define UV1H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT          0
1078 #define UV1H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT          41
1079 #define UV1H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT        43
1080 #define UV1H_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT       44
1081 #define UV1H_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK          0x000001ffffffffffUL
1082 #define UV1H_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK          0x0000060000000000UL
1083 #define UV1H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK        0x0000080000000000UL
1084 #define UV1H_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK       0x0000100000000000UL
1085 
1086 #define UVXH_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT          0
1087 
1088 #define UV2H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT          0
1089 #define UV2H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT          41
1090 #define UV2H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT        43
1091 #define UV2H_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT       44
1092 #define UV2H_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK          0x000001ffffffffffUL
1093 #define UV2H_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK          0x0000060000000000UL
1094 #define UV2H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK        0x0000080000000000UL
1095 #define UV2H_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK       0x0000100000000000UL
1096 
1097 #define UV3H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT          0
1098 #define UV3H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT          41
1099 #define UV3H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT        43
1100 #define UV3H_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT       44
1101 #define UV3H_GR0_TLB_MMR_READ_DATA_HI_AA_EXT_SHFT       45
1102 #define UV3H_GR0_TLB_MMR_READ_DATA_HI_WAY_ECC_SHFT      55
1103 #define UV3H_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK          0x000001ffffffffffUL
1104 #define UV3H_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK          0x0000060000000000UL
1105 #define UV3H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK        0x0000080000000000UL
1106 #define UV3H_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK       0x0000100000000000UL
1107 #define UV3H_GR0_TLB_MMR_READ_DATA_HI_AA_EXT_MASK       0x0000200000000000UL
1108 #define UV3H_GR0_TLB_MMR_READ_DATA_HI_WAY_ECC_MASK      0xff80000000000000UL
1109 
1110 #define UV4H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT          0
1111 #define UV4H_GR0_TLB_MMR_READ_DATA_HI_PNID_SHFT         34
1112 #define UV4H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT          49
1113 #define UV4H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT        51
1114 #define UV4H_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT       52
1115 #define UV4H_GR0_TLB_MMR_READ_DATA_HI_AA_EXT_SHFT       53
1116 #define UV4H_GR0_TLB_MMR_READ_DATA_HI_WAY_ECC_SHFT      55
1117 #define UV4H_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK          0x00000003ffffffffUL
1118 #define UV4H_GR0_TLB_MMR_READ_DATA_HI_PNID_MASK         0x0001fffc00000000UL
1119 #define UV4H_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK          0x0006000000000000UL
1120 #define UV4H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK        0x0008000000000000UL
1121 #define UV4H_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK       0x0010000000000000UL
1122 #define UV4H_GR0_TLB_MMR_READ_DATA_HI_AA_EXT_MASK       0x0020000000000000UL
1123 #define UV4H_GR0_TLB_MMR_READ_DATA_HI_WAY_ECC_MASK      0xff80000000000000UL
1124 
1125 
1126 union uvh_gr0_tlb_mmr_read_data_hi_u {
1127         unsigned long   v;
1128         struct uv1h_gr0_tlb_mmr_read_data_hi_s {
1129                 unsigned long   pfn:41;                         /* RO */
1130                 unsigned long   gaa:2;                          /* RO */
1131                 unsigned long   dirty:1;                        /* RO */
1132                 unsigned long   larger:1;                       /* RO */
1133                 unsigned long   rsvd_45_63:19;
1134         } s1;
1135         struct uv2h_gr0_tlb_mmr_read_data_hi_s {
1136                 unsigned long   pfn:41;                         /* RO */
1137                 unsigned long   gaa:2;                          /* RO */
1138                 unsigned long   dirty:1;                        /* RO */
1139                 unsigned long   larger:1;                       /* RO */
1140                 unsigned long   rsvd_45_63:19;
1141         } s2;
1142         struct uv3h_gr0_tlb_mmr_read_data_hi_s {
1143                 unsigned long   pfn:41;                         /* RO */
1144                 unsigned long   gaa:2;                          /* RO */
1145                 unsigned long   dirty:1;                        /* RO */
1146                 unsigned long   larger:1;                       /* RO */
1147                 unsigned long   aa_ext:1;                       /* RO */
1148                 unsigned long   undef_46_54:9;                  /* Undefined */
1149                 unsigned long   way_ecc:9;                      /* RO */
1150         } s3;
1151         struct uv4h_gr0_tlb_mmr_read_data_hi_s {
1152                 unsigned long   pfn:34;                         /* RO */
1153                 unsigned long   pnid:15;                        /* RO */
1154                 unsigned long   gaa:2;                          /* RO */
1155                 unsigned long   dirty:1;                        /* RO */
1156                 unsigned long   larger:1;                       /* RO */
1157                 unsigned long   aa_ext:1;                       /* RO */
1158                 unsigned long   undef_54:1;                     /* Undefined */
1159                 unsigned long   way_ecc:9;                      /* RO */
1160         } s4;
1161 };
1162 
1163 /* ========================================================================= */
1164 /*                       UVH_GR0_TLB_MMR_READ_DATA_LO                        */
1165 /* ========================================================================= */
1166 #define UV1H_GR0_TLB_MMR_READ_DATA_LO 0x4010a8UL
1167 #define UV2H_GR0_TLB_MMR_READ_DATA_LO 0xc010a8UL
1168 #define UV3H_GR0_TLB_MMR_READ_DATA_LO 0xc010a8UL
1169 #define UV4H_GR0_TLB_MMR_READ_DATA_LO 0x6010a8UL
1170 #define UVH_GR0_TLB_MMR_READ_DATA_LO (                                  \
1171         is_uv1_hub() ? UV1H_GR0_TLB_MMR_READ_DATA_LO :                  \
1172         is_uv2_hub() ? UV2H_GR0_TLB_MMR_READ_DATA_LO :                  \
1173         is_uv3_hub() ? UV3H_GR0_TLB_MMR_READ_DATA_LO :                  \
1174         /*is_uv4_hub*/ UV4H_GR0_TLB_MMR_READ_DATA_LO)
1175 
1176 #define UVH_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT           0
1177 #define UVH_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT          39
1178 #define UVH_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT         63
1179 #define UVH_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK           0x0000007fffffffffUL
1180 #define UVH_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK          0x7fffff8000000000UL
1181 #define UVH_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK         0x8000000000000000UL
1182 
1183 #define UV1H_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT          0
1184 #define UV1H_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT         39
1185 #define UV1H_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT        63
1186 #define UV1H_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK          0x0000007fffffffffUL
1187 #define UV1H_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK         0x7fffff8000000000UL
1188 #define UV1H_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK        0x8000000000000000UL
1189 
1190 #define UVXH_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT          0
1191 #define UVXH_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT         39
1192 #define UVXH_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT        63
1193 #define UVXH_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK          0x0000007fffffffffUL
1194 #define UVXH_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK         0x7fffff8000000000UL
1195 #define UVXH_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK        0x8000000000000000UL
1196 
1197 #define UV2H_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT          0
1198 #define UV2H_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT         39
1199 #define UV2H_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT        63
1200 #define UV2H_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK          0x0000007fffffffffUL
1201 #define UV2H_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK         0x7fffff8000000000UL
1202 #define UV2H_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK        0x8000000000000000UL
1203 
1204 #define UV3H_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT          0
1205 #define UV3H_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT         39
1206 #define UV3H_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT        63
1207 #define UV3H_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK          0x0000007fffffffffUL
1208 #define UV3H_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK         0x7fffff8000000000UL
1209 #define UV3H_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK        0x8000000000000000UL
1210 
1211 #define UV4H_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT          0
1212 #define UV4H_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT         39
1213 #define UV4H_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT        63
1214 #define UV4H_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK          0x0000007fffffffffUL
1215 #define UV4H_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK         0x7fffff8000000000UL
1216 #define UV4H_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK        0x8000000000000000UL
1217 
1218 
1219 union uvh_gr0_tlb_mmr_read_data_lo_u {
1220         unsigned long   v;
1221         struct uvh_gr0_tlb_mmr_read_data_lo_s {
1222                 unsigned long   vpn:39;                         /* RO */
1223                 unsigned long   asid:24;                        /* RO */
1224                 unsigned long   valid:1;                        /* RO */
1225         } s;
1226         struct uv1h_gr0_tlb_mmr_read_data_lo_s {
1227                 unsigned long   vpn:39;                         /* RO */
1228                 unsigned long   asid:24;                        /* RO */
1229                 unsigned long   valid:1;                        /* RO */
1230         } s1;
1231         struct uvxh_gr0_tlb_mmr_read_data_lo_s {
1232                 unsigned long   vpn:39;                         /* RO */
1233                 unsigned long   asid:24;                        /* RO */
1234                 unsigned long   valid:1;                        /* RO */
1235         } sx;
1236         struct uv2h_gr0_tlb_mmr_read_data_lo_s {
1237                 unsigned long   vpn:39;                         /* RO */
1238                 unsigned long   asid:24;                        /* RO */
1239                 unsigned long   valid:1;                        /* RO */
1240         } s2;
1241         struct uv3h_gr0_tlb_mmr_read_data_lo_s {
1242                 unsigned long   vpn:39;                         /* RO */
1243                 unsigned long   asid:24;                        /* RO */
1244                 unsigned long   valid:1;                        /* RO */
1245         } s3;
1246         struct uv4h_gr0_tlb_mmr_read_data_lo_s {
1247                 unsigned long   vpn:39;                         /* RO */
1248                 unsigned long   asid:24;                        /* RO */
1249                 unsigned long   valid:1;                        /* RO */
1250         } s4;
1251 };
1252 
1253 /* ========================================================================= */
1254 /*                         UVH_GR1_TLB_INT0_CONFIG                           */
1255 /* ========================================================================= */
1256 #define UV1H_GR1_TLB_INT0_CONFIG 0x61f00UL
1257 #define UV2H_GR1_TLB_INT0_CONFIG 0x61f00UL
1258 #define UV3H_GR1_TLB_INT0_CONFIG 0x61f00UL
1259 #define UV4H_GR1_TLB_INT0_CONFIG 0x62100UL
1260 #define UVH_GR1_TLB_INT0_CONFIG (                                       \
1261         is_uv1_hub() ? UV1H_GR1_TLB_INT0_CONFIG :                       \
1262         is_uv2_hub() ? UV2H_GR1_TLB_INT0_CONFIG :                       \
1263         is_uv3_hub() ? UV3H_GR1_TLB_INT0_CONFIG :                       \
1264         /*is_uv4_hub*/ UV4H_GR1_TLB_INT0_CONFIG)
1265 
1266 #define UVH_GR1_TLB_INT0_CONFIG_VECTOR_SHFT             0
1267 #define UVH_GR1_TLB_INT0_CONFIG_DM_SHFT                 8
1268 #define UVH_GR1_TLB_INT0_CONFIG_DESTMODE_SHFT           11
1269 #define UVH_GR1_TLB_INT0_CONFIG_STATUS_SHFT             12
1270 #define UVH_GR1_TLB_INT0_CONFIG_P_SHFT                  13
1271 #define UVH_GR1_TLB_INT0_CONFIG_T_SHFT                  15
1272 #define UVH_GR1_TLB_INT0_CONFIG_M_SHFT                  16
1273 #define UVH_GR1_TLB_INT0_CONFIG_APIC_ID_SHFT            32
1274 #define UVH_GR1_TLB_INT0_CONFIG_VECTOR_MASK             0x00000000000000ffUL
1275 #define UVH_GR1_TLB_INT0_CONFIG_DM_MASK                 0x0000000000000700UL
1276 #define UVH_GR1_TLB_INT0_CONFIG_DESTMODE_MASK           0x0000000000000800UL
1277 #define UVH_GR1_TLB_INT0_CONFIG_STATUS_MASK             0x0000000000001000UL
1278 #define UVH_GR1_TLB_INT0_CONFIG_P_MASK                  0x0000000000002000UL
1279 #define UVH_GR1_TLB_INT0_CONFIG_T_MASK                  0x0000000000008000UL
1280 #define UVH_GR1_TLB_INT0_CONFIG_M_MASK                  0x0000000000010000UL
1281 #define UVH_GR1_TLB_INT0_CONFIG_APIC_ID_MASK            0xffffffff00000000UL
1282 
1283 
1284 union uvh_gr1_tlb_int0_config_u {
1285         unsigned long   v;
1286         struct uvh_gr1_tlb_int0_config_s {
1287                 unsigned long   vector_:8;                      /* RW */
1288                 unsigned long   dm:3;                           /* RW */
1289                 unsigned long   destmode:1;                     /* RW */
1290                 unsigned long   status:1;                       /* RO */
1291                 unsigned long   p:1;                            /* RO */
1292                 unsigned long   rsvd_14:1;
1293                 unsigned long   t:1;                            /* RO */
1294                 unsigned long   m:1;                            /* RW */
1295                 unsigned long   rsvd_17_31:15;
1296                 unsigned long   apic_id:32;                     /* RW */
1297         } s;
1298 };
1299 
1300 /* ========================================================================= */
1301 /*                         UVH_GR1_TLB_INT1_CONFIG                           */
1302 /* ========================================================================= */
1303 #define UV1H_GR1_TLB_INT1_CONFIG 0x61f40UL
1304 #define UV2H_GR1_TLB_INT1_CONFIG 0x61f40UL
1305 #define UV3H_GR1_TLB_INT1_CONFIG 0x61f40UL
1306 #define UV4H_GR1_TLB_INT1_CONFIG 0x62140UL
1307 #define UVH_GR1_TLB_INT1_CONFIG (                                       \
1308         is_uv1_hub() ? UV1H_GR1_TLB_INT1_CONFIG :                       \
1309         is_uv2_hub() ? UV2H_GR1_TLB_INT1_CONFIG :                       \
1310         is_uv3_hub() ? UV3H_GR1_TLB_INT1_CONFIG :                       \
1311         /*is_uv4_hub*/ UV4H_GR1_TLB_INT1_CONFIG)
1312 
1313 #define UVH_GR1_TLB_INT1_CONFIG_VECTOR_SHFT             0
1314 #define UVH_GR1_TLB_INT1_CONFIG_DM_SHFT                 8
1315 #define UVH_GR1_TLB_INT1_CONFIG_DESTMODE_SHFT           11
1316 #define UVH_GR1_TLB_INT1_CONFIG_STATUS_SHFT             12
1317 #define UVH_GR1_TLB_INT1_CONFIG_P_SHFT                  13
1318 #define UVH_GR1_TLB_INT1_CONFIG_T_SHFT                  15
1319 #define UVH_GR1_TLB_INT1_CONFIG_M_SHFT                  16
1320 #define UVH_GR1_TLB_INT1_CONFIG_APIC_ID_SHFT            32
1321 #define UVH_GR1_TLB_INT1_CONFIG_VECTOR_MASK             0x00000000000000ffUL
1322 #define UVH_GR1_TLB_INT1_CONFIG_DM_MASK                 0x0000000000000700UL
1323 #define UVH_GR1_TLB_INT1_CONFIG_DESTMODE_MASK           0x0000000000000800UL
1324 #define UVH_GR1_TLB_INT1_CONFIG_STATUS_MASK             0x0000000000001000UL
1325 #define UVH_GR1_TLB_INT1_CONFIG_P_MASK                  0x0000000000002000UL
1326 #define UVH_GR1_TLB_INT1_CONFIG_T_MASK                  0x0000000000008000UL
1327 #define UVH_GR1_TLB_INT1_CONFIG_M_MASK                  0x0000000000010000UL
1328 #define UVH_GR1_TLB_INT1_CONFIG_APIC_ID_MASK            0xffffffff00000000UL
1329 
1330 
1331 union uvh_gr1_tlb_int1_config_u {
1332         unsigned long   v;
1333         struct uvh_gr1_tlb_int1_config_s {
1334                 unsigned long   vector_:8;                      /* RW */
1335                 unsigned long   dm:3;                           /* RW */
1336                 unsigned long   destmode:1;                     /* RW */
1337                 unsigned long   status:1;                       /* RO */
1338                 unsigned long   p:1;                            /* RO */
1339                 unsigned long   rsvd_14:1;
1340                 unsigned long   t:1;                            /* RO */
1341                 unsigned long   m:1;                            /* RW */
1342                 unsigned long   rsvd_17_31:15;
1343                 unsigned long   apic_id:32;                     /* RW */
1344         } s;
1345 };
1346 
1347 /* ========================================================================= */
1348 /*                         UVH_GR1_TLB_MMR_CONTROL                           */
1349 /* ========================================================================= */
1350 #define UV1H_GR1_TLB_MMR_CONTROL 0x801080UL
1351 #define UV2H_GR1_TLB_MMR_CONTROL 0x1001080UL
1352 #define UV3H_GR1_TLB_MMR_CONTROL 0x1001080UL
1353 #define UV4H_GR1_TLB_MMR_CONTROL 0x701080UL
1354 #define UVH_GR1_TLB_MMR_CONTROL (                                       \
1355         is_uv1_hub() ? UV1H_GR1_TLB_MMR_CONTROL :                       \
1356         is_uv2_hub() ? UV2H_GR1_TLB_MMR_CONTROL :                       \
1357         is_uv3_hub() ? UV3H_GR1_TLB_MMR_CONTROL :                       \
1358         /*is_uv4_hub*/ UV4H_GR1_TLB_MMR_CONTROL)
1359 
1360 #define UVH_GR1_TLB_MMR_CONTROL_INDEX_SHFT              0
1361 #define UVH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT      16
1362 #define UVH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT  20
1363 #define UVH_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT          30
1364 #define UVH_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT           31
1365 #define UVH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK      0x0000000000010000UL
1366 #define UVH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK  0x0000000000100000UL
1367 #define UVH_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK          0x0000000040000000UL
1368 #define UVH_GR1_TLB_MMR_CONTROL_MMR_READ_MASK           0x0000000080000000UL
1369 
1370 #define UV1H_GR1_TLB_MMR_CONTROL_INDEX_SHFT             0
1371 #define UV1H_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT           12
1372 #define UV1H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT     16
1373 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
1374 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT         30
1375 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT          31
1376 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_CON_SHFT       48
1377 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_SHFT    52
1378 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBPGSIZE_SHFT 54
1379 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBRREG_SHFT   56
1380 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_SHFT   60
1381 #define UV1H_GR1_TLB_MMR_CONTROL_INDEX_MASK             0x0000000000000fffUL
1382 #define UV1H_GR1_TLB_MMR_CONTROL_MEM_SEL_MASK           0x0000000000003000UL
1383 #define UV1H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK     0x0000000000010000UL
1384 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
1385 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK         0x0000000040000000UL
1386 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_READ_MASK          0x0000000080000000UL
1387 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_CON_MASK       0x0001000000000000UL
1388 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_MASK    0x0010000000000000UL
1389 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBPGSIZE_MASK 0x0040000000000000UL
1390 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBRREG_MASK   0x0100000000000000UL
1391 #define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_MASK   0x1000000000000000UL
1392 
1393 #define UVXH_GR1_TLB_MMR_CONTROL_INDEX_SHFT             0
1394 #define UVXH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT     16
1395 #define UVXH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
1396 #define UVXH_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT         30
1397 #define UVXH_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT          31
1398 #define UVXH_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT       32
1399 #define UVXH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK     0x0000000000010000UL
1400 #define UVXH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
1401 #define UVXH_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK         0x0000000040000000UL
1402 #define UVXH_GR1_TLB_MMR_CONTROL_MMR_READ_MASK          0x0000000080000000UL
1403 #define UVXH_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_MASK       0x0000000100000000UL
1404 
1405 #define UV2H_GR1_TLB_MMR_CONTROL_INDEX_SHFT             0
1406 #define UV2H_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT           12
1407 #define UV2H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT     16
1408 #define UV2H_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
1409 #define UV2H_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT         30
1410 #define UV2H_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT          31
1411 #define UV2H_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT       32
1412 #define UV2H_GR1_TLB_MMR_CONTROL_MMR_INJ_CON_SHFT       48
1413 #define UV2H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_SHFT    52
1414 #define UV2H_GR1_TLB_MMR_CONTROL_INDEX_MASK             0x0000000000000fffUL
1415 #define UV2H_GR1_TLB_MMR_CONTROL_MEM_SEL_MASK           0x0000000000003000UL
1416 #define UV2H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK     0x0000000000010000UL
1417 #define UV2H_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
1418 #define UV2H_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK         0x0000000040000000UL
1419 #define UV2H_GR1_TLB_MMR_CONTROL_MMR_READ_MASK          0x0000000080000000UL
1420 #define UV2H_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_MASK       0x0000000100000000UL
1421 #define UV2H_GR1_TLB_MMR_CONTROL_MMR_INJ_CON_MASK       0x0001000000000000UL
1422 #define UV2H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_MASK    0x0010000000000000UL
1423 
1424 #define UV3H_GR1_TLB_MMR_CONTROL_INDEX_SHFT             0
1425 #define UV3H_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT           12
1426 #define UV3H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT     16
1427 #define UV3H_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
1428 #define UV3H_GR1_TLB_MMR_CONTROL_ECC_SEL_SHFT           21
1429 #define UV3H_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT         30
1430 #define UV3H_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT          31
1431 #define UV3H_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT       32
1432 #define UV3H_GR1_TLB_MMR_CONTROL_INDEX_MASK             0x0000000000000fffUL
1433 #define UV3H_GR1_TLB_MMR_CONTROL_MEM_SEL_MASK           0x0000000000003000UL
1434 #define UV3H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK     0x0000000000010000UL
1435 #define UV3H_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
1436 #define UV3H_GR1_TLB_MMR_CONTROL_ECC_SEL_MASK           0x0000000000200000UL
1437 #define UV3H_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK         0x0000000040000000UL
1438 #define UV3H_GR1_TLB_MMR_CONTROL_MMR_READ_MASK          0x0000000080000000UL
1439 #define UV3H_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_MASK       0x0000000100000000UL
1440 
1441 #define UV4H_GR1_TLB_MMR_CONTROL_INDEX_SHFT             0
1442 #define UV4H_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT           13
1443 #define UV4H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT     16
1444 #define UV4H_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
1445 #define UV4H_GR1_TLB_MMR_CONTROL_ECC_SEL_SHFT           21
1446 #define UV4H_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT         30
1447 #define UV4H_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT          31
1448 #define UV4H_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT       32
1449 #define UV4H_GR1_TLB_MMR_CONTROL_PAGE_SIZE_SHFT         59
1450 #define UV4H_GR1_TLB_MMR_CONTROL_INDEX_MASK             0x0000000000001fffUL
1451 #define UV4H_GR1_TLB_MMR_CONTROL_MEM_SEL_MASK           0x0000000000006000UL
1452 #define UV4H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK     0x0000000000010000UL
1453 #define UV4H_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
1454 #define UV4H_GR1_TLB_MMR_CONTROL_ECC_SEL_MASK           0x0000000000200000UL
1455 #define UV4H_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK         0x0000000040000000UL
1456 #define UV4H_GR1_TLB_MMR_CONTROL_MMR_READ_MASK          0x0000000080000000UL
1457 #define UV4H_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_MASK       0x0000000100000000UL
1458 #define UV4H_GR1_TLB_MMR_CONTROL_PAGE_SIZE_MASK         0xf800000000000000UL
1459 
1460 
1461 union uvh_gr1_tlb_mmr_control_u {
1462         unsigned long   v;
1463         struct uvh_gr1_tlb_mmr_control_s {
1464                 unsigned long   rsvd_0_15:16;
1465                 unsigned long   auto_valid_en:1;                /* RW */
1466                 unsigned long   rsvd_17_19:3;
1467                 unsigned long   mmr_hash_index_en:1;            /* RW */
1468                 unsigned long   rsvd_21_29:9;
1469                 unsigned long   mmr_write:1;                    /* WP */
1470                 unsigned long   mmr_read:1;                     /* WP */
1471                 unsigned long   rsvd_32_48:17;
1472                 unsigned long   rsvd_49_51:3;
1473                 unsigned long   rsvd_52_63:12;
1474         } s;
1475         struct uv1h_gr1_tlb_mmr_control_s {
1476                 unsigned long   index:12;                       /* RW */
1477                 unsigned long   mem_sel:2;                      /* RW */
1478                 unsigned long   rsvd_14_15:2;
1479                 unsigned long   auto_valid_en:1;                /* RW */
1480                 unsigned long   rsvd_17_19:3;
1481                 unsigned long   mmr_hash_index_en:1;            /* RW */
1482                 unsigned long   rsvd_21_29:9;
1483                 unsigned long   mmr_write:1;                    /* WP */
1484                 unsigned long   mmr_read:1;                     /* WP */
1485                 unsigned long   rsvd_32_47:16;
1486                 unsigned long   mmr_inj_con:1;                  /* RW */
1487                 unsigned long   rsvd_49_51:3;
1488                 unsigned long   mmr_inj_tlbram:1;               /* RW */
1489                 unsigned long   rsvd_53:1;
1490                 unsigned long   mmr_inj_tlbpgsize:1;            /* RW */
1491                 unsigned long   rsvd_55:1;
1492                 unsigned long   mmr_inj_tlbrreg:1;              /* RW */
1493                 unsigned long   rsvd_57_59:3;
1494                 unsigned long   mmr_inj_tlblruv:1;              /* RW */
1495                 unsigned long   rsvd_61_63:3;
1496         } s1;
1497         struct uvxh_gr1_tlb_mmr_control_s {
1498                 unsigned long   rsvd_0_15:16;
1499                 unsigned long   auto_valid_en:1;                /* RW */
1500                 unsigned long   rsvd_17_19:3;
1501                 unsigned long   mmr_hash_index_en:1;            /* RW */
1502                 unsigned long   rsvd_21_29:9;
1503                 unsigned long   mmr_write:1;                    /* WP */
1504                 unsigned long   mmr_read:1;                     /* WP */
1505                 unsigned long   mmr_op_done:1;                  /* RW */
1506                 unsigned long   rsvd_33_47:15;
1507                 unsigned long   rsvd_48:1;
1508                 unsigned long   rsvd_49_51:3;
1509                 unsigned long   rsvd_52_63:12;
1510         } sx;
1511         struct uv2h_gr1_tlb_mmr_control_s {
1512                 unsigned long   index:12;                       /* RW */
1513                 unsigned long   mem_sel:2;                      /* RW */
1514                 unsigned long   rsvd_14_15:2;
1515                 unsigned long   auto_valid_en:1;                /* RW */
1516                 unsigned long   rsvd_17_19:3;
1517                 unsigned long   mmr_hash_index_en:1;            /* RW */
1518                 unsigned long   rsvd_21_29:9;
1519                 unsigned long   mmr_write:1;                    /* WP */
1520                 unsigned long   mmr_read:1;                     /* WP */
1521                 unsigned long   mmr_op_done:1;                  /* RW */
1522                 unsigned long   rsvd_33_47:15;
1523                 unsigned long   mmr_inj_con:1;                  /* RW */
1524                 unsigned long   rsvd_49_51:3;
1525                 unsigned long   mmr_inj_tlbram:1;               /* RW */
1526                 unsigned long   rsvd_53_63:11;
1527         } s2;
1528         struct uv3h_gr1_tlb_mmr_control_s {
1529                 unsigned long   index:12;                       /* RW */
1530                 unsigned long   mem_sel:2;                      /* RW */
1531                 unsigned long   rsvd_14_15:2;
1532                 unsigned long   auto_valid_en:1;                /* RW */
1533                 unsigned long   rsvd_17_19:3;
1534                 unsigned long   mmr_hash_index_en:1;            /* RW */
1535                 unsigned long   ecc_sel:1;                      /* RW */
1536                 unsigned long   rsvd_22_29:8;
1537                 unsigned long   mmr_write:1;                    /* WP */
1538                 unsigned long   mmr_read:1;                     /* WP */
1539                 unsigned long   mmr_op_done:1;                  /* RW */
1540                 unsigned long   rsvd_33_47:15;
1541                 unsigned long   undef_48:1;                     /* Undefined */
1542                 unsigned long   rsvd_49_51:3;
1543                 unsigned long   undef_52:1;                     /* Undefined */
1544                 unsigned long   rsvd_53_63:11;
1545         } s3;
1546         struct uv4h_gr1_tlb_mmr_control_s {
1547                 unsigned long   index:13;                       /* RW */
1548                 unsigned long   mem_sel:2;                      /* RW */
1549                 unsigned long   rsvd_15:1;
1550                 unsigned long   auto_valid_en:1;                /* RW */
1551                 unsigned long   rsvd_17_19:3;
1552                 unsigned long   mmr_hash_index_en:1;            /* RW */
1553                 unsigned long   ecc_sel:1;                      /* RW */
1554                 unsigned long   rsvd_22_29:8;
1555                 unsigned long   mmr_write:1;                    /* WP */
1556                 unsigned long   mmr_read:1;                     /* WP */
1557                 unsigned long   mmr_op_done:1;                  /* RW */
1558                 unsigned long   rsvd_33_47:15;
1559                 unsigned long   undef_48:1;                     /* Undefined */
1560                 unsigned long   rsvd_49_51:3;
1561                 unsigned long   rsvd_52_58:7;
1562                 unsigned long   page_size:5;                    /* RW */
1563         } s4;
1564 };
1565 
1566 /* ========================================================================= */
1567 /*                       UVH_GR1_TLB_MMR_READ_DATA_HI                        */
1568 /* ========================================================================= */
1569 #define UV1H_GR1_TLB_MMR_READ_DATA_HI 0x8010a0UL
1570 #define UV2H_GR1_TLB_MMR_READ_DATA_HI 0x10010a0UL
1571 #define UV3H_GR1_TLB_MMR_READ_DATA_HI 0x10010a0UL
1572 #define UV4H_GR1_TLB_MMR_READ_DATA_HI 0x7010a0UL
1573 #define UVH_GR1_TLB_MMR_READ_DATA_HI (                                  \
1574         is_uv1_hub() ? UV1H_GR1_TLB_MMR_READ_DATA_HI :                  \
1575         is_uv2_hub() ? UV2H_GR1_TLB_MMR_READ_DATA_HI :                  \
1576         is_uv3_hub() ? UV3H_GR1_TLB_MMR_READ_DATA_HI :                  \
1577         /*is_uv4_hub*/ UV4H_GR1_TLB_MMR_READ_DATA_HI)
1578 
1579 #define UVH_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT           0
1580 
1581 #define UV1H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT          0
1582 #define UV1H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT          41
1583 #define UV1H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT        43
1584 #define UV1H_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT       44
1585 #define UV1H_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK          0x000001ffffffffffUL
1586 #define UV1H_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK          0x0000060000000000UL
1587 #define UV1H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK        0x0000080000000000UL
1588 #define UV1H_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK       0x0000100000000000UL
1589 
1590 #define UVXH_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT          0
1591 
1592 #define UV2H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT          0
1593 #define UV2H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT          41
1594 #define UV2H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT        43
1595 #define UV2H_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT       44
1596 #define UV2H_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK          0x000001ffffffffffUL
1597 #define UV2H_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK          0x0000060000000000UL
1598 #define UV2H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK        0x0000080000000000UL
1599 #define UV2H_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK       0x0000100000000000UL
1600 
1601 #define UV3H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT          0
1602 #define UV3H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT          41
1603 #define UV3H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT        43
1604 #define UV3H_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT       44
1605 #define UV3H_GR1_TLB_MMR_READ_DATA_HI_AA_EXT_SHFT       45
1606 #define UV3H_GR1_TLB_MMR_READ_DATA_HI_WAY_ECC_SHFT      55
1607 #define UV3H_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK          0x000001ffffffffffUL
1608 #define UV3H_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK          0x0000060000000000UL
1609 #define UV3H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK        0x0000080000000000UL
1610 #define UV3H_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK       0x0000100000000000UL
1611 #define UV3H_GR1_TLB_MMR_READ_DATA_HI_AA_EXT_MASK       0x0000200000000000UL
1612 #define UV3H_GR1_TLB_MMR_READ_DATA_HI_WAY_ECC_MASK      0xff80000000000000UL
1613 
1614 #define UV4H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT          0
1615 #define UV4H_GR1_TLB_MMR_READ_DATA_HI_PNID_SHFT         34
1616 #define UV4H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT          49
1617 #define UV4H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT        51
1618 #define UV4H_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT       52
1619 #define UV4H_GR1_TLB_MMR_READ_DATA_HI_AA_EXT_SHFT       53
1620 #define UV4H_GR1_TLB_MMR_READ_DATA_HI_WAY_ECC_SHFT      55
1621 #define UV4H_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK          0x00000003ffffffffUL
1622 #define UV4H_GR1_TLB_MMR_READ_DATA_HI_PNID_MASK         0x0001fffc00000000UL
1623 #define UV4H_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK          0x0006000000000000UL
1624 #define UV4H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK        0x0008000000000000UL
1625 #define UV4H_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK       0x0010000000000000UL
1626 #define UV4H_GR1_TLB_MMR_READ_DATA_HI_AA_EXT_MASK       0x0020000000000000UL
1627 #define UV4H_GR1_TLB_MMR_READ_DATA_HI_WAY_ECC_MASK      0xff80000000000000UL
1628 
1629 
1630 union uvh_gr1_tlb_mmr_read_data_hi_u {
1631         unsigned long   v;
1632         struct uv1h_gr1_tlb_mmr_read_data_hi_s {
1633                 unsigned long   pfn:41;                         /* RO */
1634                 unsigned long   gaa:2;                          /* RO */
1635                 unsigned long   dirty:1;                        /* RO */
1636                 unsigned long   larger:1;                       /* RO */
1637                 unsigned long   rsvd_45_63:19;
1638         } s1;
1639         struct uv2h_gr1_tlb_mmr_read_data_hi_s {
1640                 unsigned long   pfn:41;                         /* RO */
1641                 unsigned long   gaa:2;                          /* RO */
1642                 unsigned long   dirty:1;                        /* RO */
1643                 unsigned long   larger:1;                       /* RO */
1644                 unsigned long   rsvd_45_63:19;
1645         } s2;
1646         struct uv3h_gr1_tlb_mmr_read_data_hi_s {
1647                 unsigned long   pfn:41;                         /* RO */
1648                 unsigned long   gaa:2;                          /* RO */
1649                 unsigned long   dirty:1;                        /* RO */
1650                 unsigned long   larger:1;                       /* RO */
1651                 unsigned long   aa_ext:1;                       /* RO */
1652                 unsigned long   undef_46_54:9;                  /* Undefined */
1653                 unsigned long   way_ecc:9;                      /* RO */
1654         } s3;
1655         struct uv4h_gr1_tlb_mmr_read_data_hi_s {
1656                 unsigned long   pfn:34;                         /* RO */
1657                 unsigned long   pnid:15;                        /* RO */
1658                 unsigned long   gaa:2;                          /* RO */
1659                 unsigned long   dirty:1;                        /* RO */
1660                 unsigned long   larger:1;                       /* RO */
1661                 unsigned long   aa_ext:1;                       /* RO */
1662                 unsigned long   undef_54:1;                     /* Undefined */
1663                 unsigned long   way_ecc:9;                      /* RO */
1664         } s4;
1665 };
1666 
1667 /* ========================================================================= */
1668 /*                       UVH_GR1_TLB_MMR_READ_DATA_LO                        */
1669 /* ========================================================================= */
1670 #define UV1H_GR1_TLB_MMR_READ_DATA_LO 0x8010a8UL
1671 #define UV2H_GR1_TLB_MMR_READ_DATA_LO 0x10010a8UL
1672 #define UV3H_GR1_TLB_MMR_READ_DATA_LO 0x10010a8UL
1673 #define UV4H_GR1_TLB_MMR_READ_DATA_LO 0x7010a8UL
1674 #define UVH_GR1_TLB_MMR_READ_DATA_LO (                                  \
1675         is_uv1_hub() ? UV1H_GR1_TLB_MMR_READ_DATA_LO :                  \
1676         is_uv2_hub() ? UV2H_GR1_TLB_MMR_READ_DATA_LO :                  \
1677         is_uv3_hub() ? UV3H_GR1_TLB_MMR_READ_DATA_LO :                  \
1678         /*is_uv4_hub*/ UV4H_GR1_TLB_MMR_READ_DATA_LO)
1679 
1680 #define UVH_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT           0
1681 #define UVH_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT          39
1682 #define UVH_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT         63
1683 #define UVH_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK           0x0000007fffffffffUL
1684 #define UVH_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK          0x7fffff8000000000UL
1685 #define UVH_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK         0x8000000000000000UL
1686 
1687 #define UV1H_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT          0
1688 #define UV1H_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT         39
1689 #define UV1H_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT        63
1690 #define UV1H_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK          0x0000007fffffffffUL
1691 #define UV1H_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK         0x7fffff8000000000UL
1692 #define UV1H_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK        0x8000000000000000UL
1693 
1694 #define UVXH_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT          0
1695 #define UVXH_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT         39
1696 #define UVXH_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT        63
1697 #define UVXH_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK          0x0000007fffffffffUL
1698 #define UVXH_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK         0x7fffff8000000000UL
1699 #define UVXH_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK        0x8000000000000000UL
1700 
1701 #define UV2H_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT          0
1702 #define UV2H_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT         39
1703 #define UV2H_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT        63
1704 #define UV2H_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK          0x0000007fffffffffUL
1705 #define UV2H_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK         0x7fffff8000000000UL
1706 #define UV2H_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK        0x8000000000000000UL
1707 
1708 #define UV3H_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT          0
1709 #define UV3H_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT         39
1710 #define UV3H_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT        63
1711 #define UV3H_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK          0x0000007fffffffffUL
1712 #define UV3H_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK         0x7fffff8000000000UL
1713 #define UV3H_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK        0x8000000000000000UL
1714 
1715 #define UV4H_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT          0
1716 #define UV4H_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT         39
1717 #define UV4H_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT        63
1718 #define UV4H_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK          0x0000007fffffffffUL
1719 #define UV4H_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK         0x7fffff8000000000UL
1720 #define UV4H_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK        0x8000000000000000UL
1721 
1722 
1723 union uvh_gr1_tlb_mmr_read_data_lo_u {
1724         unsigned long   v;
1725         struct uvh_gr1_tlb_mmr_read_data_lo_s {
1726                 unsigned long   vpn:39;                         /* RO */
1727                 unsigned long   asid:24;                        /* RO */
1728                 unsigned long   valid:1;                        /* RO */
1729         } s;
1730         struct uv1h_gr1_tlb_mmr_read_data_lo_s {
1731                 unsigned long   vpn:39;                         /* RO */
1732                 unsigned long   asid:24;                        /* RO */
1733                 unsigned long   valid:1;                        /* RO */
1734         } s1;
1735         struct uvxh_gr1_tlb_mmr_read_data_lo_s {
1736                 unsigned long   vpn:39;                         /* RO */
1737                 unsigned long   asid:24;                        /* RO */
1738                 unsigned long   valid:1;                        /* RO */
1739         } sx;
1740         struct uv2h_gr1_tlb_mmr_read_data_lo_s {
1741                 unsigned long   vpn:39;                         /* RO */
1742                 unsigned long   asid:24;                        /* RO */
1743                 unsigned long   valid:1;                        /* RO */
1744         } s2;
1745         struct uv3h_gr1_tlb_mmr_read_data_lo_s {
1746                 unsigned long   vpn:39;                         /* RO */
1747                 unsigned long   asid:24;                        /* RO */
1748                 unsigned long   valid:1;                        /* RO */
1749         } s3;
1750         struct uv4h_gr1_tlb_mmr_read_data_lo_s {
1751                 unsigned long   vpn:39;                         /* RO */
1752                 unsigned long   asid:24;                        /* RO */
1753                 unsigned long   valid:1;                        /* RO */
1754         } s4;
1755 };
1756 
1757 /* ========================================================================= */
1758 /*                               UVH_INT_CMPB                                */
1759 /* ========================================================================= */
1760 #define UVH_INT_CMPB 0x22080UL
1761 
1762 #define UVH_INT_CMPB_REAL_TIME_CMPB_SHFT                0
1763 #define UVH_INT_CMPB_REAL_TIME_CMPB_MASK                0x00ffffffffffffffUL
1764 
1765 
1766 union uvh_int_cmpb_u {
1767         unsigned long   v;
1768         struct uvh_int_cmpb_s {
1769                 unsigned long   real_time_cmpb:56;              /* RW */
1770                 unsigned long   rsvd_56_63:8;
1771         } s;
1772 };
1773 
1774 /* ========================================================================= */
1775 /*                               UVH_INT_CMPC                                */
1776 /* ========================================================================= */
1777 #define UVH_INT_CMPC 0x22100UL
1778 
1779 
1780 #define UV1H_INT_CMPC_REAL_TIME_CMPC_SHFT               0
1781 #define UV1H_INT_CMPC_REAL_TIME_CMPC_MASK               0x00ffffffffffffffUL
1782 
1783 #define UVXH_INT_CMPC_REAL_TIME_CMP_2_SHFT              0
1784 #define UVXH_INT_CMPC_REAL_TIME_CMP_2_MASK              0x00ffffffffffffffUL
1785 
1786 
1787 union uvh_int_cmpc_u {
1788         unsigned long   v;
1789         struct uvh_int_cmpc_s {
1790                 unsigned long   real_time_cmpc:56;              /* RW */
1791                 unsigned long   rsvd_56_63:8;
1792         } s;
1793 };
1794 
1795 /* ========================================================================= */
1796 /*                               UVH_INT_CMPD                                */
1797 /* ========================================================================= */
1798 #define UVH_INT_CMPD 0x22180UL
1799 
1800 
1801 #define UV1H_INT_CMPD_REAL_TIME_CMPD_SHFT               0
1802 #define UV1H_INT_CMPD_REAL_TIME_CMPD_MASK               0x00ffffffffffffffUL
1803 
1804 #define UVXH_INT_CMPD_REAL_TIME_CMP_3_SHFT              0
1805 #define UVXH_INT_CMPD_REAL_TIME_CMP_3_MASK              0x00ffffffffffffffUL
1806 
1807 
1808 union uvh_int_cmpd_u {
1809         unsigned long   v;
1810         struct uvh_int_cmpd_s {
1811                 unsigned long   real_time_cmpd:56;              /* RW */
1812                 unsigned long   rsvd_56_63:8;
1813         } s;
1814 };
1815 
1816 /* ========================================================================= */
1817 /*                               UVH_IPI_INT                                 */
1818 /* ========================================================================= */
1819 #define UVH_IPI_INT 0x60500UL
1820 
1821 #define UV1H_IPI_INT_32 0x348
1822 #define UV2H_IPI_INT_32 0x348
1823 #define UV3H_IPI_INT_32 0x348
1824 #define UV4H_IPI_INT_32 0x268
1825 #define UVH_IPI_INT_32 (                                                \
1826         is_uv1_hub() ? UV1H_IPI_INT_32 :                                \
1827         is_uv2_hub() ? UV2H_IPI_INT_32 :                                \
1828         is_uv3_hub() ? UV3H_IPI_INT_32 :                                \
1829         /*is_uv4_hub*/ UV4H_IPI_INT_32)
1830 
1831 #define UVH_IPI_INT_VECTOR_SHFT                         0
1832 #define UVH_IPI_INT_DELIVERY_MODE_SHFT                  8
1833 #define UVH_IPI_INT_DESTMODE_SHFT                       11
1834 #define UVH_IPI_INT_APIC_ID_SHFT                        16
1835 #define UVH_IPI_INT_SEND_SHFT                           63
1836 #define UVH_IPI_INT_VECTOR_MASK                         0x00000000000000ffUL
1837 #define UVH_IPI_INT_DELIVERY_MODE_MASK                  0x0000000000000700UL
1838 #define UVH_IPI_INT_DESTMODE_MASK                       0x0000000000000800UL
1839 #define UVH_IPI_INT_APIC_ID_MASK                        0x0000ffffffff0000UL
1840 #define UVH_IPI_INT_SEND_MASK                           0x8000000000000000UL
1841 
1842 
1843 union uvh_ipi_int_u {
1844         unsigned long   v;
1845         struct uvh_ipi_int_s {
1846                 unsigned long   vector_:8;                      /* RW */
1847                 unsigned long   delivery_mode:3;                /* RW */
1848                 unsigned long   destmode:1;                     /* RW */
1849                 unsigned long   rsvd_12_15:4;
1850                 unsigned long   apic_id:32;                     /* RW */
1851                 unsigned long   rsvd_48_62:15;
1852                 unsigned long   send:1;                         /* WP */
1853         } s;
1854 };
1855 
1856 /* ========================================================================= */
1857 /*                   UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST                     */
1858 /* ========================================================================= */
1859 #define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL
1860 #define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL
1861 #define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL
1862 #define UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST uv_undefined("UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST")
1863 #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST (                           \
1864         is_uv1_hub() ? UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST :           \
1865         is_uv2_hub() ? UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST :           \
1866         is_uv3_hub() ? UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST :           \
1867         /*is_uv4_hub*/ UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST)
1868 #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_32 0x9c0
1869 
1870 
1871 #define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4
1872 #define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49
1873 #define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_MASK 0x000007fffffffff0UL
1874 #define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_MASK 0x7ffe000000000000UL
1875 
1876 
1877 #define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4
1878 #define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49
1879 #define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_MASK 0x000007fffffffff0UL
1880 #define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_MASK 0x7ffe000000000000UL
1881 
1882 #define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4
1883 #define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49
1884 #define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_MASK 0x000007fffffffff0UL
1885 #define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_MASK 0x7ffe000000000000UL
1886 
1887 
1888 union uvh_lb_bau_intd_payload_queue_first_u {
1889         unsigned long   v;
1890         struct uv1h_lb_bau_intd_payload_queue_first_s {
1891                 unsigned long   rsvd_0_3:4;
1892                 unsigned long   address:39;                     /* RW */
1893                 unsigned long   rsvd_43_48:6;
1894                 unsigned long   node_id:14;                     /* RW */
1895                 unsigned long   rsvd_63:1;
1896         } s1;
1897         struct uv2h_lb_bau_intd_payload_queue_first_s {
1898                 unsigned long   rsvd_0_3:4;
1899                 unsigned long   address:39;                     /* RW */
1900                 unsigned long   rsvd_43_48:6;
1901                 unsigned long   node_id:14;                     /* RW */
1902                 unsigned long   rsvd_63:1;
1903         } s2;
1904         struct uv3h_lb_bau_intd_payload_queue_first_s {
1905                 unsigned long   rsvd_0_3:4;
1906                 unsigned long   address:39;                     /* RW */
1907                 unsigned long   rsvd_43_48:6;
1908                 unsigned long   node_id:14;                     /* RW */
1909                 unsigned long   rsvd_63:1;
1910         } s3;
1911 };
1912 
1913 /* ========================================================================= */
1914 /*                    UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST                     */
1915 /* ========================================================================= */
1916 #define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL
1917 #define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL
1918 #define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL
1919 #define UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST uv_undefined("UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST")
1920 #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST (                            \
1921         is_uv1_hub() ? UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST :            \
1922         is_uv2_hub() ? UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST :            \
1923         is_uv3_hub() ? UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST :            \
1924         /*is_uv4_hub*/ UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST)
1925 #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_32 0x9c8
1926 
1927 
1928 #define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4
1929 #define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL
1930 
1931 
1932 #define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4
1933 #define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL
1934 
1935 #define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4
1936 #define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL
1937 
1938 
1939 union uvh_lb_bau_intd_payload_queue_last_u {
1940         unsigned long   v;
1941         struct uv1h_lb_bau_intd_payload_queue_last_s {
1942                 unsigned long   rsvd_0_3:4;
1943                 unsigned long   address:39;                     /* RW */
1944                 unsigned long   rsvd_43_63:21;
1945         } s1;
1946         struct uv2h_lb_bau_intd_payload_queue_last_s {
1947                 unsigned long   rsvd_0_3:4;
1948                 unsigned long   address:39;                     /* RW */
1949                 unsigned long   rsvd_43_63:21;
1950         } s2;
1951         struct uv3h_lb_bau_intd_payload_queue_last_s {
1952                 unsigned long   rsvd_0_3:4;
1953                 unsigned long   address:39;                     /* RW */
1954                 unsigned long   rsvd_43_63:21;
1955         } s3;
1956 };
1957 
1958 /* ========================================================================= */
1959 /*                    UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL                     */
1960 /* ========================================================================= */
1961 #define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL
1962 #define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL
1963 #define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL
1964 #define UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL uv_undefined("UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL")
1965 #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL (                            \
1966         is_uv1_hub() ? UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL :            \
1967         is_uv2_hub() ? UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL :            \
1968         is_uv3_hub() ? UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL :            \
1969         /*is_uv4_hub*/ UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL)
1970 #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_32 0x9d0
1971 
1972 
1973 #define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4
1974 #define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL
1975 
1976 
1977 #define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4
1978 #define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL
1979 
1980 #define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4
1981 #define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL
1982 
1983 
1984 union uvh_lb_bau_intd_payload_queue_tail_u {
1985         unsigned long   v;
1986         struct uv1h_lb_bau_intd_payload_queue_tail_s {
1987                 unsigned long   rsvd_0_3:4;
1988                 unsigned long   address:39;                     /* RW */
1989                 unsigned long   rsvd_43_63:21;
1990         } s1;
1991         struct uv2h_lb_bau_intd_payload_queue_tail_s {
1992                 unsigned long   rsvd_0_3:4;
1993                 unsigned long   address:39;                     /* RW */
1994                 unsigned long   rsvd_43_63:21;
1995         } s2;
1996         struct uv3h_lb_bau_intd_payload_queue_tail_s {
1997                 unsigned long   rsvd_0_3:4;
1998                 unsigned long   address:39;                     /* RW */
1999                 unsigned long   rsvd_43_63:21;
2000         } s3;
2001 };
2002 
2003 /* ========================================================================= */
2004 /*                   UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE                    */
2005 /* ========================================================================= */
2006 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL
2007 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL
2008 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL
2009 #define UV4H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE uv_undefined("UV4H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE")
2010 #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE (                          \
2011         is_uv1_hub() ? UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE :          \
2012         is_uv2_hub() ? UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE :          \
2013         is_uv3_hub() ? UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE :          \
2014         /*is_uv4_hub*/ UV4H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE)
2015 #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_32 0xa68
2016 
2017 
2018 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0
2019 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1
2020 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_SHFT 2
2021 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_SHFT 3
2022 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_SHFT 4
2023 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_SHFT 5
2024 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_SHFT 6
2025 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_SHFT 7
2026 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_SHFT 8
2027 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_SHFT 9
2028 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_SHFT 10
2029 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_SHFT 11
2030 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_SHFT 12
2031 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_SHFT 13
2032 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_SHFT 14
2033 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_SHFT 15
2034 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_MASK 0x0000000000000001UL
2035 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_MASK 0x0000000000000002UL
2036 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_MASK 0x0000000000000004UL
2037 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_MASK 0x0000000000000008UL
2038 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_MASK 0x0000000000000010UL
2039 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_MASK 0x0000000000000020UL
2040 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_MASK 0x0000000000000040UL
2041 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_MASK 0x0000000000000080UL
2042 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_MASK 0x0000000000000100UL
2043 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_MASK 0x0000000000000200UL
2044 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_MASK 0x0000000000000400UL
2045 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_MASK 0x0000000000000800UL
2046 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_MASK 0x0000000000001000UL
2047 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_MASK 0x0000000000002000UL
2048 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_MASK 0x0000000000004000UL
2049 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_MASK 0x0000000000008000UL
2050 
2051 
2052 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0
2053 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1
2054 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_SHFT 2
2055 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_SHFT 3
2056 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_SHFT 4
2057 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_SHFT 5
2058 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_SHFT 6
2059 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_SHFT 7
2060 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_SHFT 8
2061 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_SHFT 9
2062 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_SHFT 10
2063 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_SHFT 11
2064 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_SHFT 12
2065 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_SHFT 13
2066 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_SHFT 14
2067 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_SHFT 15
2068 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_MASK 0x0000000000000001UL
2069 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_MASK 0x0000000000000002UL
2070 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_MASK 0x0000000000000004UL
2071 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_MASK 0x0000000000000008UL
2072 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_MASK 0x0000000000000010UL
2073 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_MASK 0x0000000000000020UL
2074 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_MASK 0x0000000000000040UL
2075 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_MASK 0x0000000000000080UL
2076 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_MASK 0x0000000000000100UL
2077 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_MASK 0x0000000000000200UL
2078 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_MASK 0x0000000000000400UL
2079 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_MASK 0x0000000000000800UL
2080 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_MASK 0x0000000000001000UL
2081 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_MASK 0x0000000000002000UL
2082 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_MASK 0x0000000000004000UL
2083 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_MASK 0x0000000000008000UL
2084 
2085 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0
2086 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1
2087 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_SHFT 2
2088 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_SHFT 3
2089 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_SHFT 4
2090 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_SHFT 5
2091 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_SHFT 6
2092 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_SHFT 7
2093 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_SHFT 8
2094 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_SHFT 9
2095 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_SHFT 10
2096 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_SHFT 11
2097 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_SHFT 12
2098 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_SHFT 13
2099 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_SHFT 14
2100 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_SHFT 15
2101 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_MASK 0x0000000000000001UL
2102 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_MASK 0x0000000000000002UL
2103 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_MASK 0x0000000000000004UL
2104 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_MASK 0x0000000000000008UL
2105 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_MASK 0x0000000000000010UL
2106 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_MASK 0x0000000000000020UL
2107 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_MASK 0x0000000000000040UL
2108 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_MASK 0x0000000000000080UL
2109 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_MASK 0x0000000000000100UL
2110 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_MASK 0x0000000000000200UL
2111 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_MASK 0x0000000000000400UL
2112 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_MASK 0x0000000000000800UL
2113 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_MASK 0x0000000000001000UL
2114 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_MASK 0x0000000000002000UL
2115 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_MASK 0x0000000000004000UL
2116 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_MASK 0x0000000000008000UL
2117 
2118 
2119 union uvh_lb_bau_intd_software_acknowledge_u {
2120         unsigned long   v;
2121         struct uv1h_lb_bau_intd_software_acknowledge_s {
2122                 unsigned long   pending_0:1;                    /* RW, W1C */
2123                 unsigned long   pending_1:1;                    /* RW, W1C */
2124                 unsigned long   pending_2:1;                    /* RW, W1C */
2125                 unsigned long   pending_3:1;                    /* RW, W1C */
2126                 unsigned long   pending_4:1;                    /* RW, W1C */
2127                 unsigned long   pending_5:1;                    /* RW, W1C */
2128                 unsigned long   pending_6:1;                    /* RW, W1C */
2129                 unsigned long   pending_7:1;                    /* RW, W1C */
2130                 unsigned long   timeout_0:1;                    /* RW, W1C */
2131                 unsigned long   timeout_1:1;                    /* RW, W1C */
2132                 unsigned long   timeout_2:1;                    /* RW, W1C */
2133                 unsigned long   timeout_3:1;                    /* RW, W1C */
2134                 unsigned long   timeout_4:1;                    /* RW, W1C */
2135                 unsigned long   timeout_5:1;                    /* RW, W1C */
2136                 unsigned long   timeout_6:1;                    /* RW, W1C */
2137                 unsigned long   timeout_7:1;                    /* RW, W1C */
2138                 unsigned long   rsvd_16_63:48;
2139         } s1;
2140         struct uv2h_lb_bau_intd_software_acknowledge_s {
2141                 unsigned long   pending_0:1;                    /* RW */
2142                 unsigned long   pending_1:1;                    /* RW */
2143                 unsigned long   pending_2:1;                    /* RW */
2144                 unsigned long   pending_3:1;                    /* RW */
2145                 unsigned long   pending_4:1;                    /* RW */
2146                 unsigned long   pending_5:1;                    /* RW */
2147                 unsigned long   pending_6:1;                    /* RW */
2148                 unsigned long   pending_7:1;                    /* RW */
2149                 unsigned long   timeout_0:1;                    /* RW */
2150                 unsigned long   timeout_1:1;                    /* RW */
2151                 unsigned long   timeout_2:1;                    /* RW */
2152                 unsigned long   timeout_3:1;                    /* RW */
2153                 unsigned long   timeout_4:1;                    /* RW */
2154                 unsigned long   timeout_5:1;                    /* RW */
2155                 unsigned long   timeout_6:1;                    /* RW */
2156                 unsigned long   timeout_7:1;                    /* RW */
2157                 unsigned long   rsvd_16_63:48;
2158         } s2;
2159         struct uv3h_lb_bau_intd_software_acknowledge_s {
2160                 unsigned long   pending_0:1;                    /* RW */
2161                 unsigned long   pending_1:1;                    /* RW */
2162                 unsigned long   pending_2:1;                    /* RW */
2163                 unsigned long   pending_3:1;                    /* RW */
2164                 unsigned long   pending_4:1;                    /* RW */
2165                 unsigned long   pending_5:1;                    /* RW */
2166                 unsigned long   pending_6:1;                    /* RW */
2167                 unsigned long   pending_7:1;                    /* RW */
2168                 unsigned long   timeout_0:1;                    /* RW */
2169                 unsigned long   timeout_1:1;                    /* RW */
2170                 unsigned long   timeout_2:1;                    /* RW */
2171                 unsigned long   timeout_3:1;                    /* RW */
2172                 unsigned long   timeout_4:1;                    /* RW */
2173                 unsigned long   timeout_5:1;                    /* RW */
2174                 unsigned long   timeout_6:1;                    /* RW */
2175                 unsigned long   timeout_7:1;                    /* RW */
2176                 unsigned long   rsvd_16_63:48;
2177         } s3;
2178 };
2179 
2180 /* ========================================================================= */
2181 /*                UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS                 */
2182 /* ========================================================================= */
2183 #define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x320088UL
2184 #define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x320088UL
2185 #define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x320088UL
2186 #define UV4H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS uv_undefined("UV4H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS")
2187 #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS (                    \
2188         is_uv1_hub() ? UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS :    \
2189         is_uv2_hub() ? UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS :    \
2190         is_uv3_hub() ? UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS :    \
2191         /*is_uv4_hub*/ UV4H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS)
2192 #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS_32 0xa70
2193 
2194 
2195 /* ========================================================================= */
2196 /*                         UVH_LB_BAU_MISC_CONTROL                           */
2197 /* ========================================================================= */
2198 #define UV1H_LB_BAU_MISC_CONTROL 0x320170UL
2199 #define UV2H_LB_BAU_MISC_CONTROL 0x320170UL
2200 #define UV3H_LB_BAU_MISC_CONTROL 0x320170UL
2201 #define UV4H_LB_BAU_MISC_CONTROL 0xc8170UL
2202 #define UVH_LB_BAU_MISC_CONTROL (                                       \
2203         is_uv1_hub() ? UV1H_LB_BAU_MISC_CONTROL :                       \
2204         is_uv2_hub() ? UV2H_LB_BAU_MISC_CONTROL :                       \
2205         is_uv3_hub() ? UV3H_LB_BAU_MISC_CONTROL :                       \
2206         /*is_uv4_hub*/ UV4H_LB_BAU_MISC_CONTROL)
2207 
2208 #define UV1H_LB_BAU_MISC_CONTROL_32 0xa10
2209 #define UV2H_LB_BAU_MISC_CONTROL_32 0xa10
2210 #define UV3H_LB_BAU_MISC_CONTROL_32 0xa10
2211 #define UV4H_LB_BAU_MISC_CONTROL_32 0xa18
2212 #define UVH_LB_BAU_MISC_CONTROL_32 (                                    \
2213         is_uv1_hub() ? UV1H_LB_BAU_MISC_CONTROL_32 :                    \
2214         is_uv2_hub() ? UV2H_LB_BAU_MISC_CONTROL_32 :                    \
2215         is_uv3_hub() ? UV3H_LB_BAU_MISC_CONTROL_32 :                    \
2216         /*is_uv4_hub*/ UV4H_LB_BAU_MISC_CONTROL_32)
2217 
2218 #define UVH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT    0
2219 #define UVH_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT          8
2220 #define UVH_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT    9
2221 #define UVH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT     10
2222 #define UVH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11
2223 #define UVH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14
2224 #define UVH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20
2225 #define UVH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21
2226 #define UVH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22
2227 #define UVH_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_SHFT 23
2228 #define UVH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24
2229 #define UVH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27
2230 #define UVH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28
2231 #define UVH_LB_BAU_MISC_CONTROL_FUN_SHFT                48
2232 #define UVH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK    0x00000000000000ffUL
2233 #define UVH_LB_BAU_MISC_CONTROL_APIC_MODE_MASK          0x0000000000000100UL
2234 #define UVH_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK    0x0000000000000200UL
2235 #define UVH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK     0x0000000000000400UL
2236 #define UVH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL
2237 #define UVH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL
2238 #define UVH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL
2239 #define UVH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL
2240 #define UVH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL
2241 #define UVH_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_MASK 0x0000000000800000UL
2242 #define UVH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL
2243 #define UVH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL
2244 #define UVH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL
2245 #define UVH_LB_BAU_MISC_CONTROL_FUN_MASK                0xffff000000000000UL
2246 
2247 #define UV1H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT   0
2248 #define UV1H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT         8
2249 #define UV1H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT   9
2250 #define UV1H_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT    10
2251 #define UV1H_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11
2252 #define UV1H_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14
2253 #define UV1H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT 15
2254 #define UV1H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT 16
2255 #define UV1H_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20
2256 #define UV1H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21
2257 #define UV1H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22
2258 #define UV1H_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_SHFT 23
2259 #define UV1H_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24
2260 #define UV1H_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27
2261 #define UV1H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28
2262 #define UV1H_LB_BAU_MISC_CONTROL_FUN_SHFT               48
2263 #define UV1H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK   0x00000000000000ffUL
2264 #define UV1H_LB_BAU_MISC_CONTROL_APIC_MODE_MASK         0x0000000000000100UL
2265 #define UV1H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK   0x0000000000000200UL
2266 #define UV1H_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK    0x0000000000000400UL
2267 #define UV1H_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL
2268 #define UV1H_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL
2269 #define UV1H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK 0x0000000000008000UL
2270 #define UV1H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK 0x00000000000f0000UL
2271 #define UV1H_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL
2272 #define UV1H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL
2273 #define UV1H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL
2274 #define UV1H_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_MASK 0x0000000000800000UL
2275 #define UV1H_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL
2276 #define UV1H_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL
2277 #define UV1H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL
2278 #define UV1H_LB_BAU_MISC_CONTROL_FUN_MASK               0xffff000000000000UL
2279 
2280 #define UVXH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT   0
2281 #define UVXH_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT         8
2282 #define UVXH_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT   9
2283 #define UVXH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT    10
2284 #define UVXH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11
2285 #define UVXH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14
2286 #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20
2287 #define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21
2288 #define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22
2289 #define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_SHFT 23
2290 #define UVXH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24
2291 #define UVXH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27
2292 #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28
2293 #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_SHFT 29
2294 #define UVXH_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_SHFT  30
2295 #define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_SHFT 31
2296 #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_SHFT 32
2297 #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_SHFT 33
2298 #define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_SHFT 34
2299 #define UVXH_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_SHFT 35
2300 #define UVXH_LB_BAU_MISC_CONTROL_FUN_SHFT               48
2301 #define UVXH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK   0x00000000000000ffUL
2302 #define UVXH_LB_BAU_MISC_CONTROL_APIC_MODE_MASK         0x0000000000000100UL
2303 #define UVXH_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK   0x0000000000000200UL
2304 #define UVXH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK    0x0000000000000400UL
2305 #define UVXH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL
2306 #define UVXH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL
2307 #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL
2308 #define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL
2309 #define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL
2310 #define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_MASK 0x0000000000800000UL
2311 #define UVXH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL
2312 #define UVXH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL
2313 #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL
2314 #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_MASK 0x0000000020000000UL
2315 #define UVXH_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_MASK  0x0000000040000000UL
2316 #define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_MASK 0x0000000080000000UL
2317 #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_MASK 0x0000000100000000UL
2318 #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_MASK 0x0000000200000000UL
2319 #define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_MASK 0x0000000400000000UL
2320 #define UVXH_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_MASK 0x0000000800000000UL
2321 #define UVXH_LB_BAU_MISC_CONTROL_FUN_MASK               0xffff000000000000UL
2322 
2323 #define UV2H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT   0
2324 #define UV2H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT         8
2325 #define UV2H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT   9
2326 #define UV2H_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT    10
2327 #define UV2H_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11
2328 #define UV2H_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14
2329 #define UV2H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT 15
2330 #define UV2H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT 16
2331 #define UV2H_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20
2332 #define UV2H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21
2333 #define UV2H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22
2334 #define UV2H_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_SHFT 23
2335 #define UV2H_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24
2336 #define UV2H_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27
2337 #define UV2H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28
2338 #define UV2H_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_SHFT 29
2339 #define UV2H_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_SHFT  30
2340 #define UV2H_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_SHFT 31
2341 #define UV2H_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_SHFT 32
2342 #define UV2H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_SHFT 33
2343 #define UV2H_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_SHFT 34
2344 #define UV2H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_SHFT 35
2345 #define UV2H_LB_BAU_MISC_CONTROL_FUN_SHFT               48
2346 #define UV2H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK   0x00000000000000ffUL
2347 #define UV2H_LB_BAU_MISC_CONTROL_APIC_MODE_MASK         0x0000000000000100UL
2348 #define UV2H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK   0x0000000000000200UL
2349 #define UV2H_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK    0x0000000000000400UL
2350 #define UV2H_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL
2351 #define UV2H_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL
2352 #define UV2H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK 0x0000000000008000UL
2353 #define UV2H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK 0x00000000000f0000UL
2354 #define UV2H_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL
2355 #define UV2H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL
2356 #define UV2H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL
2357 #define UV2H_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_MASK 0x0000000000800000UL
2358 #define UV2H_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL
2359 #define UV2H_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL
2360 #define UV2H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL
2361 #define UV2H_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_MASK 0x0000000020000000UL
2362 #define UV2H_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_MASK  0x0000000040000000UL
2363 #define UV2H_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_MASK 0x0000000080000000UL
2364 #define UV2H_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_MASK 0x0000000100000000UL
2365 #define UV2H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_MASK 0x0000000200000000UL
2366 #define UV2H_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_MASK 0x0000000400000000UL
2367 #define UV2H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_MASK 0x0000000800000000UL
2368 #define UV2H_LB_BAU_MISC_CONTROL_FUN_MASK               0xffff000000000000UL
2369 
2370 #define UV3H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT   0
2371 #define UV3H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT         8
2372 #define UV3H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT   9
2373 #define UV3H_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT    10
2374 #define UV3H_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11
2375 #define UV3H_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14
2376 #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT 15
2377 #define UV3H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT 16
2378 #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20
2379 #define UV3H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21
2380 #define UV3H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22
2381 #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_SHFT 23
2382 #define UV3H_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24
2383 #define UV3H_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27
2384 #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28
2385 #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_SHFT 29
2386 #define UV3H_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_SHFT  30
2387 #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_SHFT 31
2388 #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_SHFT 32
2389 #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_SHFT 33
2390 #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_SHFT 34
2391 #define UV3H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_SHFT 35
2392 #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_QUIESCE_MSGS_TO_QPI_SHFT 36
2393 #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_PREFETCH_HINT_SHFT 37
2394 #define UV3H_LB_BAU_MISC_CONTROL_THREAD_KILL_TIMEBASE_SHFT 38
2395 #define UV3H_LB_BAU_MISC_CONTROL_FUN_SHFT               48
2396 #define UV3H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK   0x00000000000000ffUL
2397 #define UV3H_LB_BAU_MISC_CONTROL_APIC_MODE_MASK         0x0000000000000100UL
2398 #define UV3H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK   0x0000000000000200UL
2399 #define UV3H_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK    0x0000000000000400UL
2400 #define UV3H_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL
2401 #define UV3H_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL
2402 #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK 0x0000000000008000UL
2403 #define UV3H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK 0x00000000000f0000UL
2404 #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL
2405 #define UV3H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL
2406 #define UV3H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL
2407 #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_MASK 0x0000000000800000UL
2408 #define UV3H_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL
2409 #define UV3H_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL
2410 #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL
2411 #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_MASK 0x0000000020000000UL
2412 #define UV3H_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_MASK  0x0000000040000000UL
2413 #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_MASK 0x0000000080000000UL
2414 #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_MASK 0x0000000100000000UL
2415 #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_MASK 0x0000000200000000UL
2416 #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_MASK 0x0000000400000000UL
2417 #define UV3H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_MASK 0x0000000800000000UL
2418 #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_QUIESCE_MSGS_TO_QPI_MASK 0x0000001000000000UL
2419 #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_PREFETCH_HINT_MASK 0x0000002000000000UL
2420 #define UV3H_LB_BAU_MISC_CONTROL_THREAD_KILL_TIMEBASE_MASK 0x00003fc000000000UL
2421 #define UV3H_LB_BAU_MISC_CONTROL_FUN_MASK               0xffff000000000000UL
2422 
2423 #define UV4H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT   0
2424 #define UV4H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT         8
2425 #define UV4H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT   9
2426 #define UV4H_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT    10
2427 #define UV4H_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11
2428 #define UV4H_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14
2429 #define UV4H_LB_BAU_MISC_CONTROL_RESERVED_15_19_SHFT    15
2430 #define UV4H_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20
2431 #define UV4H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21
2432 #define UV4H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22
2433 #define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_SHFT 23
2434 #define UV4H_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24
2435 #define UV4H_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27
2436 #define UV4H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28
2437 #define UV4H_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_SHFT 29
2438 #define UV4H_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_SHFT  30
2439 #define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_SHFT 31
2440 #define UV4H_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_SHFT 32
2441 #define UV4H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_SHFT 33
2442 #define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_SHFT 34
2443 #define UV4H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_SHFT 35
2444 #define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_QUIESCE_MSGS_TO_QPI_SHFT 36
2445 #define UV4H_LB_BAU_MISC_CONTROL_RESERVED_37_SHFT       37
2446 #define UV4H_LB_BAU_MISC_CONTROL_THREAD_KILL_TIMEBASE_SHFT 38
2447 #define UV4H_LB_BAU_MISC_CONTROL_ADDRESS_INTERLEAVE_SELECT_SHFT 46
2448 #define UV4H_LB_BAU_MISC_CONTROL_FUN_SHFT               48
2449 #define UV4H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK   0x00000000000000ffUL
2450 #define UV4H_LB_BAU_MISC_CONTROL_APIC_MODE_MASK         0x0000000000000100UL
2451 #define UV4H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK   0x0000000000000200UL
2452 #define UV4H_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK    0x0000000000000400UL
2453 #define UV4H_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL
2454 #define UV4H_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL
2455 #define UV4H_LB_BAU_MISC_CONTROL_RESERVED_15_19_MASK    0x00000000000f8000UL
2456 #define UV4H_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL
2457 #define UV4H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL
2458 #define UV4H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL
2459 #define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_MASK 0x0000000000800000UL
2460 #define UV4H_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL
2461 #define UV4H_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL
2462 #define UV4H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL
2463 #define UV4H_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_MASK 0x0000000020000000UL
2464 #define UV4H_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_MASK  0x0000000040000000UL
2465 #define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_MASK 0x0000000080000000UL
2466 #define UV4H_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_MASK 0x0000000100000000UL
2467 #define UV4H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_MASK 0x0000000200000000UL
2468 #define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_MASK 0x0000000400000000UL
2469 #define UV4H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_MASK 0x0000000800000000UL
2470 #define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_QUIESCE_MSGS_TO_QPI_MASK 0x0000001000000000UL
2471 #define UV4H_LB_BAU_MISC_CONTROL_RESERVED_37_MASK       0x0000002000000000UL
2472 #define UV4H_LB_BAU_MISC_CONTROL_THREAD_KILL_TIMEBASE_MASK 0x00003fc000000000UL
2473 #define UV4H_LB_BAU_MISC_CONTROL_ADDRESS_INTERLEAVE_SELECT_MASK 0x0000400000000000UL
2474 #define UV4H_LB_BAU_MISC_CONTROL_FUN_MASK               0xffff000000000000UL
2475 
2476 #define UV4H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK \
2477         uv_undefined("UV4H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK")
2478 #define UVH_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK (        \
2479         is_uv1_hub() ? UV1H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK : \
2480         is_uv2_hub() ? UV2H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK : \
2481         is_uv3_hub() ? UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK : \
2482         /*is_uv4_hub*/ UV4H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK)
2483 #define UV4H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT \
2484         uv_undefined("UV4H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT")
2485 #define UVH_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT (        \
2486         is_uv1_hub() ? UV1H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT : \
2487         is_uv2_hub() ? UV2H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT : \
2488         is_uv3_hub() ? UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT : \
2489         /*is_uv4_hub*/ UV4H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT)
2490 #define UV4H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK      \
2491         uv_undefined("UV4H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK")
2492 #define UVH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK (     \
2493         is_uv1_hub() ? UV1H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK : \
2494         is_uv2_hub() ? UV2H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK : \
2495         is_uv3_hub() ? UV3H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK : \
2496         /*is_uv4_hub*/ UV4H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK)
2497 #define UV4H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT      \
2498         uv_undefined("UV4H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT")
2499 #define UVH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT (     \
2500         is_uv1_hub() ? UV1H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT : \
2501         is_uv2_hub() ? UV2H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT : \
2502         is_uv3_hub() ? UV3H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT : \
2503         /*is_uv4_hub*/ UV4H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT)
2504 
2505 union uvh_lb_bau_misc_control_u {
2506         unsigned long   v;
2507         struct uvh_lb_bau_misc_control_s {
2508                 unsigned long   rejection_delay:8;              /* RW */
2509                 unsigned long   apic_mode:1;                    /* RW */
2510                 unsigned long   force_broadcast:1;              /* RW */
2511                 unsigned long   force_lock_nop:1;               /* RW */
2512                 unsigned long   qpi_agent_presence_vector:3;    /* RW */
2513                 unsigned long   descriptor_fetch_mode:1;        /* RW */
2514                 unsigned long   rsvd_15_19:5;
2515                 unsigned long   enable_dual_mapping_mode:1;     /* RW */
2516                 unsigned long   vga_io_port_decode_enable:1;    /* RW */
2517                 unsigned long   vga_io_port_16_bit_decode:1;    /* RW */
2518                 unsigned long   suppress_dest_registration:1;   /* RW */
2519                 unsigned long   programmed_initial_priority:3;  /* RW */
2520                 unsigned long   use_incoming_priority:1;        /* RW */
2521                 unsigned long   enable_programmed_initial_priority:1;/* RW */
2522                 unsigned long   rsvd_29_47:19;
2523                 unsigned long   fun:16;                         /* RW */
2524         } s;
2525         struct uv1h_lb_bau_misc_control_s {
2526                 unsigned long   rejection_delay:8;              /* RW */
2527                 unsigned long   apic_mode:1;                    /* RW */
2528                 unsigned long   force_broadcast:1;              /* RW */
2529                 unsigned long   force_lock_nop:1;               /* RW */
2530                 unsigned long   qpi_agent_presence_vector:3;    /* RW */
2531                 unsigned long   descriptor_fetch_mode:1;        /* RW */
2532                 unsigned long   enable_intd_soft_ack_mode:1;    /* RW */
2533                 unsigned long   intd_soft_ack_timeout_period:4; /* RW */
2534                 unsigned long   enable_dual_mapping_mode:1;     /* RW */
2535                 unsigned long   vga_io_port_decode_enable:1;    /* RW */
2536                 unsigned long   vga_io_port_16_bit_decode:1;    /* RW */
2537                 unsigned long   suppress_dest_registration:1;   /* RW */
2538                 unsigned long   programmed_initial_priority:3;  /* RW */
2539                 unsigned long   use_incoming_priority:1;        /* RW */
2540                 unsigned long   enable_programmed_initial_priority:1;/* RW */
2541                 unsigned long   rsvd_29_47:19;
2542                 unsigned long   fun:16;                         /* RW */
2543         } s1;
2544         struct uvxh_lb_bau_misc_control_s {
2545                 unsigned long   rejection_delay:8;              /* RW */
2546                 unsigned long   apic_mode:1;                    /* RW */
2547                 unsigned long   force_broadcast:1;              /* RW */
2548                 unsigned long   force_lock_nop:1;               /* RW */
2549                 unsigned long   qpi_agent_presence_vector:3;    /* RW */
2550                 unsigned long   descriptor_fetch_mode:1;        /* RW */
2551                 unsigned long   rsvd_15_19:5;
2552                 unsigned long   enable_dual_mapping_mode:1;     /* RW */
2553                 unsigned long   vga_io_port_decode_enable:1;    /* RW */
2554                 unsigned long   vga_io_port_16_bit_decode:1;    /* RW */
2555                 unsigned long   suppress_dest_registration:1;   /* RW */
2556                 unsigned long   programmed_initial_priority:3;  /* RW */
2557                 unsigned long   use_incoming_priority:1;        /* RW */
2558                 unsigned long   enable_programmed_initial_priority:1;/* RW */
2559                 unsigned long   enable_automatic_apic_mode_selection:1;/* RW */
2560                 unsigned long   apic_mode_status:1;             /* RO */
2561                 unsigned long   suppress_interrupts_to_self:1;  /* RW */
2562                 unsigned long   enable_lock_based_system_flush:1;/* RW */
2563                 unsigned long   enable_extended_sb_status:1;    /* RW */
2564                 unsigned long   suppress_int_prio_udt_to_self:1;/* RW */
2565                 unsigned long   use_legacy_descriptor_formats:1;/* RW */
2566                 unsigned long   rsvd_36_47:12;
2567                 unsigned long   fun:16;                         /* RW */
2568         } sx;
2569         struct uv2h_lb_bau_misc_control_s {
2570                 unsigned long   rejection_delay:8;              /* RW */
2571                 unsigned long   apic_mode:1;                    /* RW */
2572                 unsigned long   force_broadcast:1;              /* RW */
2573                 unsigned long   force_lock_nop:1;               /* RW */
2574                 unsigned long   qpi_agent_presence_vector:3;    /* RW */
2575                 unsigned long   descriptor_fetch_mode:1;        /* RW */
2576                 unsigned long   enable_intd_soft_ack_mode:1;    /* RW */
2577                 unsigned long   intd_soft_ack_timeout_period:4; /* RW */
2578                 unsigned long   enable_dual_mapping_mode:1;     /* RW */
2579                 unsigned long   vga_io_port_decode_enable:1;    /* RW */
2580                 unsigned long   vga_io_port_16_bit_decode:1;    /* RW */
2581                 unsigned long   suppress_dest_registration:1;   /* RW */
2582                 unsigned long   programmed_initial_priority:3;  /* RW */
2583                 unsigned long   use_incoming_priority:1;        /* RW */
2584                 unsigned long   enable_programmed_initial_priority:1;/* RW */
2585                 unsigned long   enable_automatic_apic_mode_selection:1;/* RW */
2586                 unsigned long   apic_mode_status:1;             /* RO */
2587                 unsigned long   suppress_interrupts_to_self:1;  /* RW */
2588                 unsigned long   enable_lock_based_system_flush:1;/* RW */
2589                 unsigned long   enable_extended_sb_status:1;    /* RW */
2590                 unsigned long   suppress_int_prio_udt_to_self:1;/* RW */
2591                 unsigned long   use_legacy_descriptor_formats:1;/* RW */
2592                 unsigned long   rsvd_36_47:12;
2593                 unsigned long   fun:16;                         /* RW */
2594         } s2;
2595         struct uv3h_lb_bau_misc_control_s {
2596                 unsigned long   rejection_delay:8;              /* RW */
2597                 unsigned long   apic_mode:1;                    /* RW */
2598                 unsigned long   force_broadcast:1;              /* RW */
2599                 unsigned long   force_lock_nop:1;               /* RW */
2600                 unsigned long   qpi_agent_presence_vector:3;    /* RW */
2601                 unsigned long   descriptor_fetch_mode:1;        /* RW */
2602                 unsigned long   enable_intd_soft_ack_mode:1;    /* RW */
2603                 unsigned long   intd_soft_ack_timeout_period:4; /* RW */
2604                 unsigned long   enable_dual_mapping_mode:1;     /* RW */
2605                 unsigned long   vga_io_port_decode_enable:1;    /* RW */
2606                 unsigned long   vga_io_port_16_bit_decode:1;    /* RW */
2607                 unsigned long   suppress_dest_registration:1;   /* RW */
2608                 unsigned long   programmed_initial_priority:3;  /* RW */
2609                 unsigned long   use_incoming_priority:1;        /* RW */
2610                 unsigned long   enable_programmed_initial_priority:1;/* RW */
2611                 unsigned long   enable_automatic_apic_mode_selection:1;/* RW */
2612                 unsigned long   apic_mode_status:1;             /* RO */
2613                 unsigned long   suppress_interrupts_to_self:1;  /* RW */
2614                 unsigned long   enable_lock_based_system_flush:1;/* RW */
2615                 unsigned long   enable_extended_sb_status:1;    /* RW */
2616                 unsigned long   suppress_int_prio_udt_to_self:1;/* RW */
2617                 unsigned long   use_legacy_descriptor_formats:1;/* RW */
2618                 unsigned long   suppress_quiesce_msgs_to_qpi:1; /* RW */
2619                 unsigned long   enable_intd_prefetch_hint:1;    /* RW */
2620                 unsigned long   thread_kill_timebase:8;         /* RW */
2621                 unsigned long   rsvd_46_47:2;
2622                 unsigned long   fun:16;                         /* RW */
2623         } s3;
2624         struct uv4h_lb_bau_misc_control_s {
2625                 unsigned long   rejection_delay:8;              /* RW */
2626                 unsigned long   apic_mode:1;                    /* RW */
2627                 unsigned long   force_broadcast:1;              /* RW */
2628                 unsigned long   force_lock_nop:1;               /* RW */
2629                 unsigned long   qpi_agent_presence_vector:3;    /* RW */
2630                 unsigned long   descriptor_fetch_mode:1;        /* RW */
2631                 unsigned long   rsvd_15_19:5;
2632                 unsigned long   enable_dual_mapping_mode:1;     /* RW */
2633                 unsigned long   vga_io_port_decode_enable:1;    /* RW */
2634                 unsigned long   vga_io_port_16_bit_decode:1;    /* RW */
2635                 unsigned long   suppress_dest_registration:1;   /* RW */
2636                 unsigned long   programmed_initial_priority:3;  /* RW */
2637                 unsigned long   use_incoming_priority:1;        /* RW */
2638                 unsigned long   enable_programmed_initial_priority:1;/* RW */
2639                 unsigned long   enable_automatic_apic_mode_selection:1;/* RW */
2640                 unsigned long   apic_mode_status:1;             /* RO */
2641                 unsigned long   suppress_interrupts_to_self:1;  /* RW */
2642                 unsigned long   enable_lock_based_system_flush:1;/* RW */
2643                 unsigned long   enable_extended_sb_status:1;    /* RW */
2644                 unsigned long   suppress_int_prio_udt_to_self:1;/* RW */
2645                 unsigned long   use_legacy_descriptor_formats:1;/* RW */
2646                 unsigned long   suppress_quiesce_msgs_to_qpi:1; /* RW */
2647                 unsigned long   rsvd_37:1;
2648                 unsigned long   thread_kill_timebase:8;         /* RW */
2649                 unsigned long   address_interleave_select:1;    /* RW */
2650                 unsigned long   rsvd_47:1;
2651                 unsigned long   fun:16;                         /* RW */
2652         } s4;
2653 };
2654 
2655 /* ========================================================================= */
2656 /*                     UVH_LB_BAU_SB_ACTIVATION_CONTROL                      */
2657 /* ========================================================================= */
2658 #define UV1H_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL
2659 #define UV2H_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL
2660 #define UV3H_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL
2661 #define UV4H_LB_BAU_SB_ACTIVATION_CONTROL 0xc8020UL
2662 #define UVH_LB_BAU_SB_ACTIVATION_CONTROL (                              \
2663         is_uv1_hub() ? UV1H_LB_BAU_SB_ACTIVATION_CONTROL :              \
2664         is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_CONTROL :              \
2665         is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_CONTROL :              \
2666         /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_CONTROL)
2667 
2668 #define UV1H_LB_BAU_SB_ACTIVATION_CONTROL_32 0x9a8
2669 #define UV2H_LB_BAU_SB_ACTIVATION_CONTROL_32 0x9a8
2670 #define UV3H_LB_BAU_SB_ACTIVATION_CONTROL_32 0x9a8
2671 #define UV4H_LB_BAU_SB_ACTIVATION_CONTROL_32 0x9c8
2672 #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_32 (                           \
2673         is_uv1_hub() ? UV1H_LB_BAU_SB_ACTIVATION_CONTROL_32 :           \
2674         is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_CONTROL_32 :           \
2675         is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_CONTROL_32 :           \
2676         /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_CONTROL_32)
2677 
2678 #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_SHFT     0
2679 #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_SHFT      62
2680 #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INIT_SHFT      63
2681 #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_MASK     0x000000000000003fUL
2682 #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_MASK      0x4000000000000000UL
2683 #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INIT_MASK      0x8000000000000000UL
2684 
2685 
2686 union uvh_lb_bau_sb_activation_control_u {
2687         unsigned long   v;
2688         struct uvh_lb_bau_sb_activation_control_s {
2689                 unsigned long   index:6;                        /* RW */
2690                 unsigned long   rsvd_6_61:56;
2691                 unsigned long   push:1;                         /* WP */
2692                 unsigned long   init:1;                         /* WP */
2693         } s;
2694 };
2695 
2696 /* ========================================================================= */
2697 /*                    UVH_LB_BAU_SB_ACTIVATION_STATUS_0                      */
2698 /* ========================================================================= */
2699 #define UV1H_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL
2700 #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL
2701 #define UV3H_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL
2702 #define UV4H_LB_BAU_SB_ACTIVATION_STATUS_0 0xc8030UL
2703 #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0 (                             \
2704         is_uv1_hub() ? UV1H_LB_BAU_SB_ACTIVATION_STATUS_0 :             \
2705         is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_STATUS_0 :             \
2706         is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_STATUS_0 :             \
2707         /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_STATUS_0)
2708 
2709 #define UV1H_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x9b0
2710 #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x9b0
2711 #define UV3H_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x9b0
2712 #define UV4H_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x9d0
2713 #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_32 (                          \
2714         is_uv1_hub() ? UV1H_LB_BAU_SB_ACTIVATION_STATUS_0_32 :          \
2715         is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_STATUS_0_32 :          \
2716         is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_STATUS_0_32 :          \
2717         /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_STATUS_0_32)
2718 
2719 #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_SHFT   0
2720 #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_MASK   0xffffffffffffffffUL
2721 
2722 
2723 union uvh_lb_bau_sb_activation_status_0_u {
2724         unsigned long   v;
2725         struct uvh_lb_bau_sb_activation_status_0_s {
2726                 unsigned long   status:64;                      /* RW */
2727         } s;
2728 };
2729 
2730 /* ========================================================================= */
2731 /*                    UVH_LB_BAU_SB_ACTIVATION_STATUS_1                      */
2732 /* ========================================================================= */
2733 #define UV1H_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL
2734 #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL
2735 #define UV3H_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL
2736 #define UV4H_LB_BAU_SB_ACTIVATION_STATUS_1 0xc8040UL
2737 #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1 (                             \
2738         is_uv1_hub() ? UV1H_LB_BAU_SB_ACTIVATION_STATUS_1 :             \
2739         is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_STATUS_1 :             \
2740         is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_STATUS_1 :             \
2741         /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_STATUS_1)
2742 
2743 #define UV1H_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x9b8
2744 #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x9b8
2745 #define UV3H_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x9b8
2746 #define UV4H_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x9d8
2747 #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_32 (                          \
2748         is_uv1_hub() ? UV1H_LB_BAU_SB_ACTIVATION_STATUS_1_32 :          \
2749         is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_STATUS_1_32 :          \
2750         is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_STATUS_1_32 :          \
2751         /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_STATUS_1_32)
2752 
2753 #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_SHFT   0
2754 #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_MASK   0xffffffffffffffffUL
2755 
2756 
2757 union uvh_lb_bau_sb_activation_status_1_u {
2758         unsigned long   v;
2759         struct uvh_lb_bau_sb_activation_status_1_s {
2760                 unsigned long   status:64;                      /* RW */
2761         } s;
2762 };
2763 
2764 /* ========================================================================= */
2765 /*                      UVH_LB_BAU_SB_DESCRIPTOR_BASE                        */
2766 /* ========================================================================= */
2767 #define UV1H_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL
2768 #define UV2H_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL
2769 #define UV3H_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL
2770 #define UV4H_LB_BAU_SB_DESCRIPTOR_BASE 0xc8010UL
2771 #define UVH_LB_BAU_SB_DESCRIPTOR_BASE (                                 \
2772         is_uv1_hub() ? UV1H_LB_BAU_SB_DESCRIPTOR_BASE :                 \
2773         is_uv2_hub() ? UV2H_LB_BAU_SB_DESCRIPTOR_BASE :                 \
2774         is_uv3_hub() ? UV3H_LB_BAU_SB_DESCRIPTOR_BASE :                 \
2775         /*is_uv4_hub*/ UV4H_LB_BAU_SB_DESCRIPTOR_BASE)
2776 
2777 #define UV1H_LB_BAU_SB_DESCRIPTOR_BASE_32 0x9a0
2778 #define UV2H_LB_BAU_SB_DESCRIPTOR_BASE_32 0x9a0
2779 #define UV3H_LB_BAU_SB_DESCRIPTOR_BASE_32 0x9a0
2780 #define UV4H_LB_BAU_SB_DESCRIPTOR_BASE_32 0x9c0
2781 #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_32 (                              \
2782         is_uv1_hub() ? UV1H_LB_BAU_SB_DESCRIPTOR_BASE_32 :              \
2783         is_uv2_hub() ? UV2H_LB_BAU_SB_DESCRIPTOR_BASE_32 :              \
2784         is_uv3_hub() ? UV3H_LB_BAU_SB_DESCRIPTOR_BASE_32 :              \
2785         /*is_uv4_hub*/ UV4H_LB_BAU_SB_DESCRIPTOR_BASE_32)
2786 
2787 #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_SHFT 12
2788 
2789 #define UV1H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT     49
2790 #define UV1H_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000007fffffff000UL
2791 #define UV1H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK     0x7ffe000000000000UL
2792 
2793 #define UV2H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT     49
2794 #define UV2H_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000007fffffff000UL
2795 #define UV2H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK     0x7ffe000000000000UL
2796 
2797 #define UV3H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT     49
2798 #define UV3H_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000007fffffff000UL
2799 #define UV3H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK     0x7ffe000000000000UL
2800 
2801 #define UV4H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT     49
2802 #define UV4H_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x00003ffffffff000UL
2803 #define UV4H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK     0x7ffe000000000000UL
2804 
2805 #define UV4AH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT    53
2806 #define UV4AH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000ffffffffff000UL
2807 #define UV4AH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK    0xffe0000000000000UL
2808 
2809 #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT (                    \
2810         is_uv1_hub() ? UV1H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT :    \
2811         is_uv2_hub() ? UV2H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT :    \
2812         is_uv3_hub() ? UV3H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT :    \
2813         is_uv4a_hub() ? UV4AH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT :  \
2814         /*is_uv4_hub*/ UV4H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT)
2815 
2816 #define UVH_LB_BAU_SB_DESCRIPTOR_PAGE_ADDRESS_MASK (                    \
2817         is_uv1_hub() ? UV1H_LB_BAU_SB_DESCRIPTOR_PAGE_ADDRESS_MASK :    \
2818         is_uv2_hub() ? UV2H_LB_BAU_SB_DESCRIPTOR_PAGE_ADDRESS_MASK :    \
2819         is_uv3_hub() ? UV3H_LB_BAU_SB_DESCRIPTOR_PAGE_ADDRESS_MASK :    \
2820         is_uv4a_hub() ? UV4AH_LB_BAU_SB_DESCRIPTOR_PAGE_ADDRESS_MASK :  \
2821         /*is_uv4_hub*/ UV4H_LB_BAU_SB_DESCRIPTOR_PAGE_ADDRESS_MASK)
2822 
2823 #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK (                    \
2824         is_uv1_hub() ? UV1H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK :    \
2825         is_uv2_hub() ? UV2H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK :    \
2826         is_uv3_hub() ? UV3H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK :    \
2827         is_uv4a_hub() ? UV4AH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK :  \
2828         /*is_uv4_hub*/ UV4H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK)
2829 
2830 /* ========================================================================= */
2831 /*                               UVH_NODE_ID                                 */
2832 /* ========================================================================= */
2833 #define UVH_NODE_ID 0x0UL
2834 #define UV1H_NODE_ID 0x0UL
2835 #define UV2H_NODE_ID 0x0UL
2836 #define UV3H_NODE_ID 0x0UL
2837 #define UV4H_NODE_ID 0x0UL
2838 
2839 #define UVH_NODE_ID_FORCE1_SHFT                         0
2840 #define UVH_NODE_ID_MANUFACTURER_SHFT                   1
2841 #define UVH_NODE_ID_PART_NUMBER_SHFT                    12
2842 #define UVH_NODE_ID_REVISION_SHFT                       28
2843 #define UVH_NODE_ID_NODE_ID_SHFT                        32
2844 #define UVH_NODE_ID_FORCE1_MASK                         0x0000000000000001UL
2845 #define UVH_NODE_ID_MANUFACTURER_MASK                   0x0000000000000ffeUL
2846 #define UVH_NODE_ID_PART_NUMBER_MASK                    0x000000000ffff000UL
2847 #define UVH_NODE_ID_REVISION_MASK                       0x00000000f0000000UL
2848 #define UVH_NODE_ID_NODE_ID_MASK                        0x00007fff00000000UL
2849 
2850 #define UV1H_NODE_ID_FORCE1_SHFT                        0
2851 #define UV1H_NODE_ID_MANUFACTURER_SHFT                  1
2852 #define UV1H_NODE_ID_PART_NUMBER_SHFT                   12
2853 #define UV1H_NODE_ID_REVISION_SHFT                      28
2854 #define UV1H_NODE_ID_NODE_ID_SHFT                       32
2855 #define UV1H_NODE_ID_NODES_PER_BIT_SHFT                 48
2856 #define UV1H_NODE_ID_NI_PORT_SHFT                       56
2857 #define UV1H_NODE_ID_FORCE1_MASK                        0x0000000000000001UL
2858 #define UV1H_NODE_ID_MANUFACTURER_MASK                  0x0000000000000ffeUL
2859 #define UV1H_NODE_ID_PART_NUMBER_MASK                   0x000000000ffff000UL
2860 #define UV1H_NODE_ID_REVISION_MASK                      0x00000000f0000000UL
2861 #define UV1H_NODE_ID_NODE_ID_MASK                       0x00007fff00000000UL
2862 #define UV1H_NODE_ID_NODES_PER_BIT_MASK                 0x007f000000000000UL
2863 #define UV1H_NODE_ID_NI_PORT_MASK                       0x0f00000000000000UL
2864 
2865 #define UVXH_NODE_ID_FORCE1_SHFT                        0
2866 #define UVXH_NODE_ID_MANUFACTURER_SHFT                  1
2867 #define UVXH_NODE_ID_PART_NUMBER_SHFT                   12
2868 #define UVXH_NODE_ID_REVISION_SHFT                      28
2869 #define UVXH_NODE_ID_NODE_ID_SHFT                       32
2870 #define UVXH_NODE_ID_NODES_PER_BIT_SHFT                 50
2871 #define UVXH_NODE_ID_NI_PORT_SHFT                       57
2872 #define UVXH_NODE_ID_FORCE1_MASK                        0x0000000000000001UL
2873 #define UVXH_NODE_ID_MANUFACTURER_MASK                  0x0000000000000ffeUL
2874 #define UVXH_NODE_ID_PART_NUMBER_MASK                   0x000000000ffff000UL
2875 #define UVXH_NODE_ID_REVISION_MASK                      0x00000000f0000000UL
2876 #define UVXH_NODE_ID_NODE_ID_MASK                       0x00007fff00000000UL
2877 #define UVXH_NODE_ID_NODES_PER_BIT_MASK                 0x01fc000000000000UL
2878 #define UVXH_NODE_ID_NI_PORT_MASK                       0x3e00000000000000UL
2879 
2880 #define UV2H_NODE_ID_FORCE1_SHFT                        0
2881 #define UV2H_NODE_ID_MANUFACTURER_SHFT                  1
2882 #define UV2H_NODE_ID_PART_NUMBER_SHFT                   12
2883 #define UV2H_NODE_ID_REVISION_SHFT                      28
2884 #define UV2H_NODE_ID_NODE_ID_SHFT                       32
2885 #define UV2H_NODE_ID_NODES_PER_BIT_SHFT                 50
2886 #define UV2H_NODE_ID_NI_PORT_SHFT                       57
2887 #define UV2H_NODE_ID_FORCE1_MASK                        0x0000000000000001UL
2888 #define UV2H_NODE_ID_MANUFACTURER_MASK                  0x0000000000000ffeUL
2889 #define UV2H_NODE_ID_PART_NUMBER_MASK                   0x000000000ffff000UL
2890 #define UV2H_NODE_ID_REVISION_MASK                      0x00000000f0000000UL
2891 #define UV2H_NODE_ID_NODE_ID_MASK                       0x00007fff00000000UL
2892 #define UV2H_NODE_ID_NODES_PER_BIT_MASK                 0x01fc000000000000UL
2893 #define UV2H_NODE_ID_NI_PORT_MASK                       0x3e00000000000000UL
2894 
2895 #define UV3H_NODE_ID_FORCE1_SHFT                        0
2896 #define UV3H_NODE_ID_MANUFACTURER_SHFT                  1
2897 #define UV3H_NODE_ID_PART_NUMBER_SHFT                   12
2898 #define UV3H_NODE_ID_REVISION_SHFT                      28
2899 #define UV3H_NODE_ID_NODE_ID_SHFT                       32
2900 #define UV3H_NODE_ID_ROUTER_SELECT_SHFT                 48
2901 #define UV3H_NODE_ID_RESERVED_2_SHFT                    49
2902 #define UV3H_NODE_ID_NODES_PER_BIT_SHFT                 50
2903 #define UV3H_NODE_ID_NI_PORT_SHFT                       57
2904 #define UV3H_NODE_ID_FORCE1_MASK                        0x0000000000000001UL
2905 #define UV3H_NODE_ID_MANUFACTURER_MASK                  0x0000000000000ffeUL
2906 #define UV3H_NODE_ID_PART_NUMBER_MASK                   0x000000000ffff000UL
2907 #define UV3H_NODE_ID_REVISION_MASK                      0x00000000f0000000UL
2908 #define UV3H_NODE_ID_NODE_ID_MASK                       0x00007fff00000000UL
2909 #define UV3H_NODE_ID_ROUTER_SELECT_MASK                 0x0001000000000000UL
2910 #define UV3H_NODE_ID_RESERVED_2_MASK                    0x0002000000000000UL
2911 #define UV3H_NODE_ID_NODES_PER_BIT_MASK                 0x01fc000000000000UL
2912 #define UV3H_NODE_ID_NI_PORT_MASK                       0x3e00000000000000UL
2913 
2914 #define UV4H_NODE_ID_FORCE1_SHFT                        0
2915 #define UV4H_NODE_ID_MANUFACTURER_SHFT                  1
2916 #define UV4H_NODE_ID_PART_NUMBER_SHFT                   12
2917 #define UV4H_NODE_ID_REVISION_SHFT                      28
2918 #define UV4H_NODE_ID_NODE_ID_SHFT                       32
2919 #define UV4H_NODE_ID_ROUTER_SELECT_SHFT                 48
2920 #define UV4H_NODE_ID_RESERVED_2_SHFT                    49
2921 #define UV4H_NODE_ID_NODES_PER_BIT_SHFT                 50
2922 #define UV4H_NODE_ID_NI_PORT_SHFT                       57
2923 #define UV4H_NODE_ID_FORCE1_MASK                        0x0000000000000001UL
2924 #define UV4H_NODE_ID_MANUFACTURER_MASK                  0x0000000000000ffeUL
2925 #define UV4H_NODE_ID_PART_NUMBER_MASK                   0x000000000ffff000UL
2926 #define UV4H_NODE_ID_REVISION_MASK                      0x00000000f0000000UL
2927 #define UV4H_NODE_ID_NODE_ID_MASK                       0x00007fff00000000UL
2928 #define UV4H_NODE_ID_ROUTER_SELECT_MASK                 0x0001000000000000UL
2929 #define UV4H_NODE_ID_RESERVED_2_MASK                    0x0002000000000000UL
2930 #define UV4H_NODE_ID_NODES_PER_BIT_MASK                 0x01fc000000000000UL
2931 #define UV4H_NODE_ID_NI_PORT_MASK                       0x3e00000000000000UL
2932 
2933 
2934 union uvh_node_id_u {
2935         unsigned long   v;
2936         struct uvh_node_id_s {
2937                 unsigned long   force1:1;                       /* RO */
2938                 unsigned long   manufacturer:11;                /* RO */
2939                 unsigned long   part_number:16;                 /* RO */
2940                 unsigned long   revision:4;                     /* RO */
2941                 unsigned long   node_id:15;                     /* RW */
2942                 unsigned long   rsvd_47_63:17;
2943         } s;
2944         struct uv1h_node_id_s {
2945                 unsigned long   force1:1;                       /* RO */
2946                 unsigned long   manufacturer:11;                /* RO */
2947                 unsigned long   part_number:16;                 /* RO */
2948                 unsigned long   revision:4;                     /* RO */
2949                 unsigned long   node_id:15;                     /* RW */
2950                 unsigned long   rsvd_47:1;
2951                 unsigned long   nodes_per_bit:7;                /* RW */
2952                 unsigned long   rsvd_55:1;
2953                 unsigned long   ni_port:4;                      /* RO */
2954                 unsigned long   rsvd_60_63:4;
2955         } s1;
2956         struct uvxh_node_id_s {
2957                 unsigned long   force1:1;                       /* RO */
2958                 unsigned long   manufacturer:11;                /* RO */
2959                 unsigned long   part_number:16;                 /* RO */
2960                 unsigned long   revision:4;                     /* RO */
2961                 unsigned long   node_id:15;                     /* RW */
2962                 unsigned long   rsvd_47_49:3;
2963                 unsigned long   nodes_per_bit:7;                /* RO */
2964                 unsigned long   ni_port:5;                      /* RO */
2965                 unsigned long   rsvd_62_63:2;
2966         } sx;
2967         struct uv2h_node_id_s {
2968                 unsigned long   force1:1;                       /* RO */
2969                 unsigned long   manufacturer:11;                /* RO */
2970                 unsigned long   part_number:16;                 /* RO */
2971                 unsigned long   revision:4;                     /* RO */
2972                 unsigned long   node_id:15;                     /* RW */
2973                 unsigned long   rsvd_47_49:3;
2974                 unsigned long   nodes_per_bit:7;                /* RO */
2975                 unsigned long   ni_port:5;                      /* RO */
2976                 unsigned long   rsvd_62_63:2;
2977         } s2;
2978         struct uv3h_node_id_s {
2979                 unsigned long   force1:1;                       /* RO */
2980                 unsigned long   manufacturer:11;                /* RO */
2981                 unsigned long   part_number:16;                 /* RO */
2982                 unsigned long   revision:4;                     /* RO */
2983                 unsigned long   node_id:15;                     /* RW */
2984                 unsigned long   rsvd_47:1;
2985                 unsigned long   router_select:1;                /* RO */
2986                 unsigned long   rsvd_49:1;
2987                 unsigned long   nodes_per_bit:7;                /* RO */
2988                 unsigned long   ni_port:5;                      /* RO */
2989                 unsigned long   rsvd_62_63:2;
2990         } s3;
2991         struct uv4h_node_id_s {
2992                 unsigned long   force1:1;                       /* RO */
2993                 unsigned long   manufacturer:11;                /* RO */
2994                 unsigned long   part_number:16;                 /* RO */
2995                 unsigned long   revision:4;                     /* RO */
2996                 unsigned long   node_id:15;                     /* RW */
2997                 unsigned long   rsvd_47:1;
2998                 unsigned long   router_select:1;                /* RO */
2999                 unsigned long   rsvd_49:1;
3000                 unsigned long   nodes_per_bit:7;                /* RO */
3001                 unsigned long   ni_port:5;                      /* RO */
3002                 unsigned long   rsvd_62_63:2;
3003         } s4;
3004 };
3005 
3006 /* ========================================================================= */
3007 /*                          UVH_NODE_PRESENT_TABLE                           */
3008 /* ========================================================================= */
3009 #define UVH_NODE_PRESENT_TABLE 0x1400UL
3010 
3011 #define UV1H_NODE_PRESENT_TABLE_DEPTH 16
3012 #define UV2H_NODE_PRESENT_TABLE_DEPTH 16
3013 #define UV3H_NODE_PRESENT_TABLE_DEPTH 16
3014 #define UV4H_NODE_PRESENT_TABLE_DEPTH 4
3015 #define UVH_NODE_PRESENT_TABLE_DEPTH (                                  \
3016         is_uv1_hub() ? UV1H_NODE_PRESENT_TABLE_DEPTH :                  \
3017         is_uv2_hub() ? UV2H_NODE_PRESENT_TABLE_DEPTH :                  \
3018         is_uv3_hub() ? UV3H_NODE_PRESENT_TABLE_DEPTH :                  \
3019         /*is_uv4_hub*/ UV4H_NODE_PRESENT_TABLE_DEPTH)
3020 
3021 #define UVH_NODE_PRESENT_TABLE_NODES_SHFT               0
3022 #define UVH_NODE_PRESENT_TABLE_NODES_MASK               0xffffffffffffffffUL
3023 
3024 
3025 union uvh_node_present_table_u {
3026         unsigned long   v;
3027         struct uvh_node_present_table_s {
3028                 unsigned long   nodes:64;                       /* RW */
3029         } s;
3030 };
3031 
3032 /* ========================================================================= */
3033 /*                 UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR                  */
3034 /* ========================================================================= */
3035 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x16000c8UL
3036 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x16000c8UL
3037 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x16000c8UL
3038 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x4800c8UL
3039 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR (                      \
3040         is_uv1_hub() ? UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR :      \
3041         is_uv2_hub() ? UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR :      \
3042         is_uv3_hub() ? UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR :      \
3043         /*is_uv4_hub*/ UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR)
3044 
3045 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24
3046 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48
3047 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_SHFT 63
3048 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_MASK 0x00000000ff000000UL
3049 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_MASK 0x001f000000000000UL
3050 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_MASK 0x8000000000000000UL
3051 
3052 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24
3053 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48
3054 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_SHFT 63
3055 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_MASK 0x00000000ff000000UL
3056 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_MASK 0x001f000000000000UL
3057 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_MASK 0x8000000000000000UL
3058 
3059 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24
3060 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48
3061 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_SHFT 63
3062 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_MASK 0x00000000ff000000UL
3063 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_MASK 0x001f000000000000UL
3064 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_MASK 0x8000000000000000UL
3065 
3066 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24
3067 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48
3068 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_SHFT 63
3069 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_MASK 0x00000000ff000000UL
3070 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_MASK 0x001f000000000000UL
3071 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_MASK 0x8000000000000000UL
3072 
3073 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24
3074 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48
3075 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_SHFT 63
3076 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_MASK 0x00000000ff000000UL
3077 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_MASK 0x001f000000000000UL
3078 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_MASK 0x8000000000000000UL
3079 
3080 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24
3081 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48
3082 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_SHFT 63
3083 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_MASK 0x00000000ff000000UL
3084 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_MASK 0x001f000000000000UL
3085 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_MASK 0x8000000000000000UL
3086 
3087 
3088 union uvh_rh_gam_alias210_overlay_config_0_mmr_u {
3089         unsigned long   v;
3090         struct uvh_rh_gam_alias210_overlay_config_0_mmr_s {
3091                 unsigned long   rsvd_0_23:24;
3092                 unsigned long   base:8;                         /* RW */
3093                 unsigned long   rsvd_32_47:16;
3094                 unsigned long   m_alias:5;                      /* RW */
3095                 unsigned long   rsvd_53_62:10;
3096                 unsigned long   enable:1;                       /* RW */
3097         } s;
3098         struct uv1h_rh_gam_alias210_overlay_config_0_mmr_s {
3099                 unsigned long   rsvd_0_23:24;
3100                 unsigned long   base:8;                         /* RW */
3101                 unsigned long   rsvd_32_47:16;
3102                 unsigned long   m_alias:5;                      /* RW */
3103                 unsigned long   rsvd_53_62:10;
3104                 unsigned long   enable:1;                       /* RW */
3105         } s1;
3106         struct uvxh_rh_gam_alias210_overlay_config_0_mmr_s {
3107                 unsigned long   rsvd_0_23:24;
3108                 unsigned long   base:8;                         /* RW */
3109                 unsigned long   rsvd_32_47:16;
3110                 unsigned long   m_alias:5;                      /* RW */
3111                 unsigned long   rsvd_53_62:10;
3112                 unsigned long   enable:1;                       /* RW */
3113         } sx;
3114         struct uv2h_rh_gam_alias210_overlay_config_0_mmr_s {
3115                 unsigned long   rsvd_0_23:24;
3116                 unsigned long   base:8;                         /* RW */
3117                 unsigned long   rsvd_32_47:16;
3118                 unsigned long   m_alias:5;                      /* RW */
3119                 unsigned long   rsvd_53_62:10;
3120                 unsigned long   enable:1;                       /* RW */
3121         } s2;
3122         struct uv3h_rh_gam_alias210_overlay_config_0_mmr_s {
3123                 unsigned long   rsvd_0_23:24;
3124                 unsigned long   base:8;                         /* RW */
3125                 unsigned long   rsvd_32_47:16;
3126                 unsigned long   m_alias:5;                      /* RW */
3127                 unsigned long   rsvd_53_62:10;
3128                 unsigned long   enable:1;                       /* RW */
3129         } s3;
3130         struct uv4h_rh_gam_alias210_overlay_config_0_mmr_s {
3131                 unsigned long   rsvd_0_23:24;
3132                 unsigned long   base:8;                         /* RW */
3133                 unsigned long   rsvd_32_47:16;
3134                 unsigned long   m_alias:5;                      /* RW */
3135                 unsigned long   rsvd_53_62:10;
3136                 unsigned long   enable:1;                       /* RW */
3137         } s4;
3138 };
3139 
3140 /* ========================================================================= */
3141 /*                 UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR                  */
3142 /* ========================================================================= */
3143 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x16000d8UL
3144 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x16000d8UL
3145 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x16000d8UL
3146 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x4800d8UL
3147 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR (                      \
3148         is_uv1_hub() ? UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR :      \
3149         is_uv2_hub() ? UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR :      \
3150         is_uv3_hub() ? UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR :      \
3151         /*is_uv4_hub*/ UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR)
3152 
3153 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24
3154 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48
3155 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_SHFT 63
3156 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_MASK 0x00000000ff000000UL
3157 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_MASK 0x001f000000000000UL
3158 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_MASK 0x8000000000000000UL
3159 
3160 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24
3161 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48
3162 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_SHFT 63
3163 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_MASK 0x00000000ff000000UL
3164 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_MASK 0x001f000000000000UL
3165 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_MASK 0x8000000000000000UL
3166 
3167 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24
3168 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48
3169 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_SHFT 63
3170 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_MASK 0x00000000ff000000UL
3171 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_MASK 0x001f000000000000UL
3172 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_MASK 0x8000000000000000UL
3173 
3174 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24
3175 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48
3176 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_SHFT 63
3177 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_MASK 0x00000000ff000000UL
3178 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_MASK 0x001f000000000000UL
3179 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_MASK 0x8000000000000000UL
3180 
3181 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24
3182 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48
3183 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_SHFT 63
3184 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_MASK 0x00000000ff000000UL
3185 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_MASK 0x001f000000000000UL
3186 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_MASK 0x8000000000000000UL
3187 
3188 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24
3189 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48
3190 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_SHFT 63
3191 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_MASK 0x00000000ff000000UL
3192 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_MASK 0x001f000000000000UL
3193 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_MASK 0x8000000000000000UL
3194 
3195 
3196 union uvh_rh_gam_alias210_overlay_config_1_mmr_u {
3197         unsigned long   v;
3198         struct uvh_rh_gam_alias210_overlay_config_1_mmr_s {
3199                 unsigned long   rsvd_0_23:24;
3200                 unsigned long   base:8;                         /* RW */
3201                 unsigned long   rsvd_32_47:16;
3202                 unsigned long   m_alias:5;                      /* RW */
3203                 unsigned long   rsvd_53_62:10;
3204                 unsigned long   enable:1;                       /* RW */
3205         } s;
3206         struct uv1h_rh_gam_alias210_overlay_config_1_mmr_s {
3207                 unsigned long   rsvd_0_23:24;
3208                 unsigned long   base:8;                         /* RW */
3209                 unsigned long   rsvd_32_47:16;
3210                 unsigned long   m_alias:5;                      /* RW */
3211                 unsigned long   rsvd_53_62:10;
3212                 unsigned long   enable:1;                       /* RW */
3213         } s1;
3214         struct uvxh_rh_gam_alias210_overlay_config_1_mmr_s {
3215                 unsigned long   rsvd_0_23:24;
3216                 unsigned long   base:8;                         /* RW */
3217                 unsigned long   rsvd_32_47:16;
3218                 unsigned long   m_alias:5;                      /* RW */
3219                 unsigned long   rsvd_53_62:10;
3220                 unsigned long   enable:1;                       /* RW */
3221         } sx;
3222         struct uv2h_rh_gam_alias210_overlay_config_1_mmr_s {
3223                 unsigned long   rsvd_0_23:24;
3224                 unsigned long   base:8;                         /* RW */
3225                 unsigned long   rsvd_32_47:16;
3226                 unsigned long   m_alias:5;                      /* RW */
3227                 unsigned long   rsvd_53_62:10;
3228                 unsigned long   enable:1;                       /* RW */
3229         } s2;
3230         struct uv3h_rh_gam_alias210_overlay_config_1_mmr_s {
3231                 unsigned long   rsvd_0_23:24;
3232                 unsigned long   base:8;                         /* RW */
3233                 unsigned long   rsvd_32_47:16;
3234                 unsigned long   m_alias:5;                      /* RW */
3235                 unsigned long   rsvd_53_62:10;
3236                 unsigned long   enable:1;                       /* RW */
3237         } s3;
3238         struct uv4h_rh_gam_alias210_overlay_config_1_mmr_s {
3239                 unsigned long   rsvd_0_23:24;
3240                 unsigned long   base:8;                         /* RW */
3241                 unsigned long   rsvd_32_47:16;
3242                 unsigned long   m_alias:5;                      /* RW */
3243                 unsigned long   rsvd_53_62:10;
3244                 unsigned long   enable:1;                       /* RW */
3245         } s4;
3246 };
3247 
3248 /* ========================================================================= */
3249 /*                 UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR                  */
3250 /* ========================================================================= */
3251 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x16000e8UL
3252 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x16000e8UL
3253 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x16000e8UL
3254 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x4800e8UL
3255 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR (                      \
3256         is_uv1_hub() ? UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR :      \
3257         is_uv2_hub() ? UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR :      \
3258         is_uv3_hub() ? UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR :      \
3259         /*is_uv4_hub*/ UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR)
3260 
3261 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24
3262 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48
3263 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_SHFT 63
3264 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_MASK 0x00000000ff000000UL
3265 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_MASK 0x001f000000000000UL
3266 #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_MASK 0x8000000000000000UL
3267 
3268 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24
3269 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48
3270 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_SHFT 63
3271 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_MASK 0x00000000ff000000UL
3272 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_MASK 0x001f000000000000UL
3273 #define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_MASK 0x8000000000000000UL
3274 
3275 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24
3276 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48
3277 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_SHFT 63
3278 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_MASK 0x00000000ff000000UL
3279 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_MASK 0x001f000000000000UL
3280 #define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_MASK 0x8000000000000000UL
3281 
3282 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24
3283 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48
3284 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_SHFT 63
3285 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_MASK 0x00000000ff000000UL
3286 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_MASK 0x001f000000000000UL
3287 #define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_MASK 0x8000000000000000UL
3288 
3289 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24
3290 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48
3291 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_SHFT 63
3292 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_MASK 0x00000000ff000000UL
3293 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_MASK 0x001f000000000000UL
3294 #define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_MASK 0x8000000000000000UL
3295 
3296 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24
3297 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48
3298 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_SHFT 63
3299 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_MASK 0x00000000ff000000UL
3300 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_MASK 0x001f000000000000UL
3301 #define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_MASK 0x8000000000000000UL
3302 
3303 
3304 union uvh_rh_gam_alias210_overlay_config_2_mmr_u {
3305         unsigned long   v;
3306         struct uvh_rh_gam_alias210_overlay_config_2_mmr_s {
3307                 unsigned long   rsvd_0_23:24;
3308                 unsigned long   base:8;                         /* RW */
3309                 unsigned long   rsvd_32_47:16;
3310                 unsigned long   m_alias:5;                      /* RW */
3311                 unsigned long   rsvd_53_62:10;
3312                 unsigned long   enable:1;                       /* RW */
3313         } s;
3314         struct uv1h_rh_gam_alias210_overlay_config_2_mmr_s {
3315                 unsigned long   rsvd_0_23:24;
3316                 unsigned long   base:8;                         /* RW */
3317                 unsigned long   rsvd_32_47:16;
3318                 unsigned long   m_alias:5;                      /* RW */
3319                 unsigned long   rsvd_53_62:10;
3320                 unsigned long   enable:1;                       /* RW */
3321         } s1;
3322         struct uvxh_rh_gam_alias210_overlay_config_2_mmr_s {
3323                 unsigned long   rsvd_0_23:24;
3324                 unsigned long   base:8;                         /* RW */
3325                 unsigned long   rsvd_32_47:16;
3326                 unsigned long   m_alias:5;                      /* RW */
3327                 unsigned long   rsvd_53_62:10;
3328                 unsigned long   enable:1;                       /* RW */
3329         } sx;
3330         struct uv2h_rh_gam_alias210_overlay_config_2_mmr_s {
3331                 unsigned long   rsvd_0_23:24;
3332                 unsigned long   base:8;                         /* RW */
3333                 unsigned long   rsvd_32_47:16;
3334                 unsigned long   m_alias:5;                      /* RW */
3335                 unsigned long   rsvd_53_62:10;
3336                 unsigned long   enable:1;                       /* RW */
3337         } s2;
3338         struct uv3h_rh_gam_alias210_overlay_config_2_mmr_s {
3339                 unsigned long   rsvd_0_23:24;
3340                 unsigned long   base:8;                         /* RW */
3341                 unsigned long   rsvd_32_47:16;
3342                 unsigned long   m_alias:5;                      /* RW */
3343                 unsigned long   rsvd_53_62:10;
3344                 unsigned long   enable:1;                       /* RW */
3345         } s3;
3346         struct uv4h_rh_gam_alias210_overlay_config_2_mmr_s {
3347                 unsigned long   rsvd_0_23:24;
3348                 unsigned long   base:8;                         /* RW */
3349                 unsigned long   rsvd_32_47:16;
3350                 unsigned long   m_alias:5;                      /* RW */
3351                 unsigned long   rsvd_53_62:10;
3352                 unsigned long   enable:1;                       /* RW */
3353         } s4;
3354 };
3355 
3356 /* ========================================================================= */
3357 /*                UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR                  */
3358 /* ========================================================================= */
3359 #define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL
3360 #define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL
3361 #define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL
3362 #define UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x4800d0UL
3363 #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR (                     \
3364         is_uv1_hub() ? UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR :     \
3365         is_uv2_hub() ? UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR :     \
3366         is_uv3_hub() ? UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR :     \
3367         /*is_uv4_hub*/ UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR)
3368 
3369 #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
3370 #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3371 
3372 #define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
3373 #define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3374 
3375 #define UVXH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
3376 #define UVXH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3377 
3378 #define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
3379 #define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3380 
3381 #define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
3382 #define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3383 
3384 #define UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
3385 #define UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3386 
3387 
3388 union uvh_rh_gam_alias210_redirect_config_0_mmr_u {
3389         unsigned long   v;
3390         struct uvh_rh_gam_alias210_redirect_config_0_mmr_s {
3391                 unsigned long   rsvd_0_23:24;
3392                 unsigned long   dest_base:22;                   /* RW */
3393                 unsigned long   rsvd_46_63:18;
3394         } s;
3395         struct uv1h_rh_gam_alias210_redirect_config_0_mmr_s {
3396                 unsigned long   rsvd_0_23:24;
3397                 unsigned long   dest_base:22;                   /* RW */
3398                 unsigned long   rsvd_46_63:18;
3399         } s1;
3400         struct uvxh_rh_gam_alias210_redirect_config_0_mmr_s {
3401                 unsigned long   rsvd_0_23:24;
3402                 unsigned long   dest_base:22;                   /* RW */
3403                 unsigned long   rsvd_46_63:18;
3404         } sx;
3405         struct uv2h_rh_gam_alias210_redirect_config_0_mmr_s {
3406                 unsigned long   rsvd_0_23:24;
3407                 unsigned long   dest_base:22;                   /* RW */
3408                 unsigned long   rsvd_46_63:18;
3409         } s2;
3410         struct uv3h_rh_gam_alias210_redirect_config_0_mmr_s {
3411                 unsigned long   rsvd_0_23:24;
3412                 unsigned long   dest_base:22;                   /* RW */
3413                 unsigned long   rsvd_46_63:18;
3414         } s3;
3415         struct uv4h_rh_gam_alias210_redirect_config_0_mmr_s {
3416                 unsigned long   rsvd_0_23:24;
3417                 unsigned long   dest_base:22;                   /* RW */
3418                 unsigned long   rsvd_46_63:18;
3419         } s4;
3420 };
3421 
3422 /* ========================================================================= */
3423 /*                UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR                  */
3424 /* ========================================================================= */
3425 #define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL
3426 #define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL
3427 #define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL
3428 #define UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x4800e0UL
3429 #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR (                     \
3430         is_uv1_hub() ? UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR :     \
3431         is_uv2_hub() ? UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR :     \
3432         is_uv3_hub() ? UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR :     \
3433         /*is_uv4_hub*/ UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR)
3434 
3435 #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
3436 #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3437 
3438 #define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
3439 #define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3440 
3441 #define UVXH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
3442 #define UVXH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3443 
3444 #define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
3445 #define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3446 
3447 #define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
3448 #define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3449 
3450 #define UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
3451 #define UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3452 
3453 
3454 union uvh_rh_gam_alias210_redirect_config_1_mmr_u {
3455         unsigned long   v;
3456         struct uvh_rh_gam_alias210_redirect_config_1_mmr_s {
3457                 unsigned long   rsvd_0_23:24;
3458                 unsigned long   dest_base:22;                   /* RW */
3459                 unsigned long   rsvd_46_63:18;
3460         } s;
3461         struct uv1h_rh_gam_alias210_redirect_config_1_mmr_s {
3462                 unsigned long   rsvd_0_23:24;
3463                 unsigned long   dest_base:22;                   /* RW */
3464                 unsigned long   rsvd_46_63:18;
3465         } s1;
3466         struct uvxh_rh_gam_alias210_redirect_config_1_mmr_s {
3467                 unsigned long   rsvd_0_23:24;
3468                 unsigned long   dest_base:22;                   /* RW */
3469                 unsigned long   rsvd_46_63:18;
3470         } sx;
3471         struct uv2h_rh_gam_alias210_redirect_config_1_mmr_s {
3472                 unsigned long   rsvd_0_23:24;
3473                 unsigned long   dest_base:22;                   /* RW */
3474                 unsigned long   rsvd_46_63:18;
3475         } s2;
3476         struct uv3h_rh_gam_alias210_redirect_config_1_mmr_s {
3477                 unsigned long   rsvd_0_23:24;
3478                 unsigned long   dest_base:22;                   /* RW */
3479                 unsigned long   rsvd_46_63:18;
3480         } s3;
3481         struct uv4h_rh_gam_alias210_redirect_config_1_mmr_s {
3482                 unsigned long   rsvd_0_23:24;
3483                 unsigned long   dest_base:22;                   /* RW */
3484                 unsigned long   rsvd_46_63:18;
3485         } s4;
3486 };
3487 
3488 /* ========================================================================= */
3489 /*                UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR                  */
3490 /* ========================================================================= */
3491 #define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL
3492 #define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL
3493 #define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL
3494 #define UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x4800f0UL
3495 #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR (                     \
3496         is_uv1_hub() ? UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR :     \
3497         is_uv2_hub() ? UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR :     \
3498         is_uv3_hub() ? UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR :     \
3499         /*is_uv4_hub*/ UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR)
3500 
3501 #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
3502 #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3503 
3504 #define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
3505 #define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3506 
3507 #define UVXH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
3508 #define UVXH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3509 
3510 #define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
3511 #define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3512 
3513 #define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
3514 #define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3515 
3516 #define UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
3517 #define UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
3518 
3519 
3520 union uvh_rh_gam_alias210_redirect_config_2_mmr_u {
3521         unsigned long   v;
3522         struct uvh_rh_gam_alias210_redirect_config_2_mmr_s {
3523                 unsigned long   rsvd_0_23:24;
3524                 unsigned long   dest_base:22;                   /* RW */
3525                 unsigned long   rsvd_46_63:18;
3526         } s;
3527         struct uv1h_rh_gam_alias210_redirect_config_2_mmr_s {
3528                 unsigned long   rsvd_0_23:24;
3529                 unsigned long   dest_base:22;                   /* RW */
3530                 unsigned long   rsvd_46_63:18;
3531         } s1;
3532         struct uvxh_rh_gam_alias210_redirect_config_2_mmr_s {
3533                 unsigned long   rsvd_0_23:24;
3534                 unsigned long   dest_base:22;                   /* RW */
3535                 unsigned long   rsvd_46_63:18;
3536         } sx;
3537         struct uv2h_rh_gam_alias210_redirect_config_2_mmr_s {
3538                 unsigned long   rsvd_0_23:24;
3539                 unsigned long   dest_base:22;                   /* RW */
3540                 unsigned long   rsvd_46_63:18;
3541         } s2;
3542         struct uv3h_rh_gam_alias210_redirect_config_2_mmr_s {
3543                 unsigned long   rsvd_0_23:24;
3544                 unsigned long   dest_base:22;                   /* RW */
3545                 unsigned long   rsvd_46_63:18;
3546         } s3;
3547         struct uv4h_rh_gam_alias210_redirect_config_2_mmr_s {
3548                 unsigned long   rsvd_0_23:24;
3549                 unsigned long   dest_base:22;                   /* RW */
3550                 unsigned long   rsvd_46_63:18;
3551         } s4;
3552 };
3553 
3554 /* ========================================================================= */
3555 /*                          UVH_RH_GAM_CONFIG_MMR                            */
3556 /* ========================================================================= */
3557 #define UV1H_RH_GAM_CONFIG_MMR 0x1600000UL
3558 #define UV2H_RH_GAM_CONFIG_MMR 0x1600000UL
3559 #define UV3H_RH_GAM_CONFIG_MMR 0x1600000UL
3560 #define UV4H_RH_GAM_CONFIG_MMR 0x480000UL
3561 #define UVH_RH_GAM_CONFIG_MMR (                                         \
3562         is_uv1_hub() ? UV1H_RH_GAM_CONFIG_MMR :                         \
3563         is_uv2_hub() ? UV2H_RH_GAM_CONFIG_MMR :                         \
3564         is_uv3_hub() ? UV3H_RH_GAM_CONFIG_MMR :                         \
3565         /*is_uv4_hub*/ UV4H_RH_GAM_CONFIG_MMR)
3566 
3567 #define UVH_RH_GAM_CONFIG_MMR_N_SKT_SHFT                6
3568 #define UVH_RH_GAM_CONFIG_MMR_N_SKT_MASK                0x00000000000003c0UL
3569 
3570 #define UV1H_RH_GAM_CONFIG_MMR_M_SKT_SHFT               0
3571 #define UV1H_RH_GAM_CONFIG_MMR_N_SKT_SHFT               6
3572 #define UV1H_RH_GAM_CONFIG_MMR_MMIOL_CFG_SHFT           12
3573 #define UV1H_RH_GAM_CONFIG_MMR_M_SKT_MASK               0x000000000000003fUL
3574 #define UV1H_RH_GAM_CONFIG_MMR_N_SKT_MASK               0x00000000000003c0UL
3575 #define UV1H_RH_GAM_CONFIG_MMR_MMIOL_CFG_MASK           0x0000000000001000UL
3576 
3577 #define UVXH_RH_GAM_CONFIG_MMR_N_SKT_SHFT               6
3578 #define UVXH_RH_GAM_CONFIG_MMR_N_SKT_MASK               0x00000000000003c0UL
3579 
3580 #define UV2H_RH_GAM_CONFIG_MMR_M_SKT_SHFT               0
3581 #define UV2H_RH_GAM_CONFIG_MMR_N_SKT_SHFT               6
3582 #define UV2H_RH_GAM_CONFIG_MMR_M_SKT_MASK               0x000000000000003fUL
3583 #define UV2H_RH_GAM_CONFIG_MMR_N_SKT_MASK               0x00000000000003c0UL
3584 
3585 #define UV3H_RH_GAM_CONFIG_MMR_M_SKT_SHFT               0
3586 #define UV3H_RH_GAM_CONFIG_MMR_N_SKT_SHFT               6
3587 #define UV3H_RH_GAM_CONFIG_MMR_M_SKT_MASK               0x000000000000003fUL
3588 #define UV3H_RH_GAM_CONFIG_MMR_N_SKT_MASK               0x00000000000003c0UL
3589 
3590 #define UV4H_RH_GAM_CONFIG_MMR_N_SKT_SHFT               6
3591 #define UV4H_RH_GAM_CONFIG_MMR_N_SKT_MASK               0x00000000000003c0UL
3592 
3593 
3594 union uvh_rh_gam_config_mmr_u {
3595         unsigned long   v;
3596         struct uvh_rh_gam_config_mmr_s {
3597                 unsigned long   rsvd_0_5:6;
3598                 unsigned long   n_skt:4;                        /* RW */
3599                 unsigned long   rsvd_10_63:54;
3600         } s;
3601         struct uv1h_rh_gam_config_mmr_s {
3602                 unsigned long   m_skt:6;                        /* RW */
3603                 unsigned long   n_skt:4;                        /* RW */
3604                 unsigned long   rsvd_10_11:2;
3605                 unsigned long   mmiol_cfg:1;                    /* RW */
3606                 unsigned long   rsvd_13_63:51;
3607         } s1;
3608         struct uvxh_rh_gam_config_mmr_s {
3609                 unsigned long   rsvd_0_5:6;
3610                 unsigned long   n_skt:4;                        /* RW */
3611                 unsigned long   rsvd_10_63:54;
3612         } sx;
3613         struct uv2h_rh_gam_config_mmr_s {
3614                 unsigned long   m_skt:6;                        /* RW */
3615                 unsigned long   n_skt:4;                        /* RW */
3616                 unsigned long   rsvd_10_63:54;
3617         } s2;
3618         struct uv3h_rh_gam_config_mmr_s {
3619                 unsigned long   m_skt:6;                        /* RW */
3620                 unsigned long   n_skt:4;                        /* RW */
3621                 unsigned long   rsvd_10_63:54;
3622         } s3;
3623         struct uv4h_rh_gam_config_mmr_s {
3624                 unsigned long   rsvd_0_5:6;
3625                 unsigned long   n_skt:4;                        /* RW */
3626                 unsigned long   rsvd_10_63:54;
3627         } s4;
3628 };
3629 
3630 /* ========================================================================= */
3631 /*                    UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR                      */
3632 /* ========================================================================= */
3633 #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL
3634 #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL
3635 #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL
3636 #define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x480010UL
3637 #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR (                             \
3638         is_uv1_hub() ? UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR :             \
3639         is_uv2_hub() ? UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR :             \
3640         is_uv3_hub() ? UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR :             \
3641         /*is_uv4_hub*/ UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR)
3642 
3643 #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT    52
3644 #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT   63
3645 #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK    0x00f0000000000000UL
3646 #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK   0x8000000000000000UL
3647 
3648 #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT    28
3649 #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_GR4_SHFT     48
3650 #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT   52
3651 #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT  63
3652 #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK    0x00003ffff0000000UL
3653 #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_GR4_MASK     0x0001000000000000UL
3654 #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK   0x00f0000000000000UL
3655 #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK  0x8000000000000000UL
3656 
3657 #define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT   52
3658 #define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT  63
3659 #define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK   0x00f0000000000000UL
3660 #define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK  0x8000000000000000UL
3661 
3662 #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT    28
3663 #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT   52
3664 #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT  63
3665 #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK    0x00003ffff0000000UL
3666 #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK   0x00f0000000000000UL
3667 #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK  0x8000000000000000UL
3668 
3669 #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT    28
3670 #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT   52
3671 #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_MODE_SHFT    62
3672 #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT  63
3673 #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK    0x00003ffff0000000UL
3674 #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK   0x00f0000000000000UL
3675 #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_MODE_MASK    0x4000000000000000UL
3676 #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK  0x8000000000000000UL
3677 
3678 #define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT    26
3679 #define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT   52
3680 #define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT  63
3681 #define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK    0x00003ffffc000000UL
3682 #define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK   0x00f0000000000000UL
3683 #define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK  0x8000000000000000UL
3684 
3685 #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK (                   \
3686         is_uv1_hub() ? UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK :   \
3687         is_uv2_hub() ? UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK :   \
3688         is_uv3_hub() ? UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK :   \
3689         /*is_uv4_hub*/ UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK)
3690 #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT (                   \
3691         is_uv1_hub() ? UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT :   \
3692         is_uv2_hub() ? UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT :   \
3693         is_uv3_hub() ? UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT :   \
3694         /*is_uv4_hub*/ UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT)
3695 
3696 union uvh_rh_gam_gru_overlay_config_mmr_u {
3697         unsigned long   v;
3698         struct uvh_rh_gam_gru_overlay_config_mmr_s {
3699                 unsigned long   rsvd_0_51:52;
3700                 unsigned long   n_gru:4;                        /* RW */
3701                 unsigned long   rsvd_56_62:7;
3702                 unsigned long   enable:1;                       /* RW */
3703         } s;
3704         struct uv1h_rh_gam_gru_overlay_config_mmr_s {
3705                 unsigned long   rsvd_0_27:28;
3706                 unsigned long   base:18;                        /* RW */
3707                 unsigned long   rsvd_46_47:2;
3708                 unsigned long   gr4:1;                          /* RW */
3709                 unsigned long   rsvd_49_51:3;
3710                 unsigned long   n_gru:4;                        /* RW */
3711                 unsigned long   rsvd_56_62:7;
3712                 unsigned long   enable:1;                       /* RW */
3713         } s1;
3714         struct uvxh_rh_gam_gru_overlay_config_mmr_s {
3715                 unsigned long   rsvd_0_45:46;
3716                 unsigned long   rsvd_46_51:6;
3717                 unsigned long   n_gru:4;                        /* RW */
3718                 unsigned long   rsvd_56_62:7;
3719                 unsigned long   enable:1;                       /* RW */
3720         } sx;
3721         struct uv2h_rh_gam_gru_overlay_config_mmr_s {
3722                 unsigned long   rsvd_0_27:28;
3723                 unsigned long   base:18;                        /* RW */
3724                 unsigned long   rsvd_46_51:6;
3725                 unsigned long   n_gru:4;                        /* RW */
3726                 unsigned long   rsvd_56_62:7;
3727                 unsigned long   enable:1;                       /* RW */
3728         } s2;
3729         struct uv3h_rh_gam_gru_overlay_config_mmr_s {
3730                 unsigned long   rsvd_0_27:28;
3731                 unsigned long   base:18;                        /* RW */
3732                 unsigned long   rsvd_46_51:6;
3733                 unsigned long   n_gru:4;                        /* RW */
3734                 unsigned long   rsvd_56_61:6;
3735                 unsigned long   mode:1;                         /* RW */
3736                 unsigned long   enable:1;                       /* RW */
3737         } s3;
3738         struct uv4h_rh_gam_gru_overlay_config_mmr_s {
3739                 unsigned long   rsvd_0_24:25;
3740                 unsigned long   undef_25:1;                     /* Undefined */
3741                 unsigned long   base:20;                        /* RW */
3742                 unsigned long   rsvd_46_51:6;
3743                 unsigned long   n_gru:4;                        /* RW */
3744                 unsigned long   rsvd_56_62:7;
3745                 unsigned long   enable:1;                       /* RW */
3746         } s4;
3747 };
3748 
3749 /* ========================================================================= */
3750 /*                   UVH_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR                    */
3751 /* ========================================================================= */
3752 #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR uv_undefined("UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR")
3753 #define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR uv_undefined("UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR")
3754 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR 0x1603000UL
3755 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR 0x483000UL
3756 #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR (                          \
3757         is_uv1_hub() ? UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR :          \
3758         is_uv2_hub() ? UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR :          \
3759         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR :          \
3760         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR)
3761 
3762 
3763 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_BASE_SHFT 26
3764 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_SHFT 46
3765 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_ENABLE_SHFT 63
3766 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_BASE_MASK 0x00003ffffc000000UL
3767 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_MASK 0x000fc00000000000UL
3768 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_ENABLE_MASK 0x8000000000000000UL
3769 
3770 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_BASE_SHFT 26
3771 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_SHFT 46
3772 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_ENABLE_SHFT 63
3773 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_BASE_MASK 0x00003ffffc000000UL
3774 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_MASK 0x000fc00000000000UL
3775 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_ENABLE_MASK 0x8000000000000000UL
3776 
3777 #define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_SHFT 52
3778 #define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_BASE_MASK 0x000ffffffc000000UL
3779 #define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_MASK 0x03f0000000000000UL
3780 #define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_ENABLE_MASK 0x8000000000000000UL
3781 
3782 #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_SHFT (                \
3783         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_SHFT : \
3784         is_uv4a_hub() ? UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_SHFT : \
3785         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_SHFT)
3786 
3787 #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_BASE_MASK (                \
3788         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_BASE_MASK : \
3789         is_uv4a_hub() ? UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_BASE_MASK : \
3790         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_BASE_MASK)
3791 
3792 #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_MASK (                \
3793         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_MASK : \
3794         is_uv4a_hub() ? UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_MASK : \
3795         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_MASK)
3796 
3797 #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_ENABLE_MASK (              \
3798         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_ENABLE_MASK : \
3799         is_uv4a_hub() ? UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_ENABLE_MASK : \
3800         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_ENABLE_MASK)
3801 
3802 union uvh_rh_gam_mmioh_overlay_config0_mmr_u {
3803         unsigned long   v;
3804         struct uv3h_rh_gam_mmioh_overlay_config0_mmr_s {
3805                 unsigned long   rsvd_0_25:26;
3806                 unsigned long   base:20;                        /* RW */
3807                 unsigned long   m_io:6;                         /* RW */
3808                 unsigned long   n_io:4;
3809                 unsigned long   rsvd_56_62:7;
3810                 unsigned long   enable:1;                       /* RW */
3811         } s3;
3812         struct uv4h_rh_gam_mmioh_overlay_config0_mmr_s {
3813                 unsigned long   rsvd_0_25:26;
3814                 unsigned long   base:20;                        /* RW */
3815                 unsigned long   m_io:6;                         /* RW */
3816                 unsigned long   n_io:4;
3817                 unsigned long   rsvd_56_62:7;
3818                 unsigned long   enable:1;                       /* RW */
3819         } s4;
3820         struct uv4ah_rh_gam_mmioh_overlay_config0_mmr_s {
3821                 unsigned long   rsvd_0_25:26;
3822                 unsigned long   base:26;                        /* RW */
3823                 unsigned long   m_io:6;                         /* RW */
3824                 unsigned long   n_io:4;
3825                 unsigned long   undef_62:1;                     /* Undefined */
3826                 unsigned long   enable:1;                       /* RW */
3827         } s4a;
3828 };
3829 
3830 /* ========================================================================= */
3831 /*                   UVH_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR                    */
3832 /* ========================================================================= */
3833 #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR uv_undefined("UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR")
3834 #define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR uv_undefined("UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR")
3835 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR 0x1603000UL
3836 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR 0x484000UL
3837 #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR (                          \
3838         is_uv1_hub() ? UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR :          \
3839         is_uv2_hub() ? UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR :          \
3840         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR :          \
3841         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR)
3842 
3843 
3844 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_BASE_SHFT 26
3845 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_SHFT 46
3846 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_ENABLE_SHFT 63
3847 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_BASE_MASK 0x00003ffffc000000UL
3848 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_MASK 0x000fc00000000000UL
3849 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_ENABLE_MASK 0x8000000000000000UL
3850 
3851 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_BASE_SHFT 26
3852 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_SHFT 46
3853 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_ENABLE_SHFT 63
3854 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_BASE_MASK 0x00003ffffc000000UL
3855 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_MASK 0x000fc00000000000UL
3856 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_ENABLE_MASK 0x8000000000000000UL
3857 
3858 #define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_SHFT 52
3859 #define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_BASE_MASK 0x000ffffffc000000UL
3860 #define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_MASK 0x03f0000000000000UL
3861 
3862 #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_SHFT (                \
3863         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_SHFT : \
3864         is_uv4a_hub() ? UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_SHFT : \
3865         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_SHFT)
3866 
3867 #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_BASE_MASK (                \
3868         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_BASE_MASK : \
3869         is_uv4a_hub() ? UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_BASE_MASK : \
3870         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_BASE_MASK)
3871 
3872 #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_MASK (                \
3873         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_MASK : \
3874         is_uv4a_hub() ? UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_MASK : \
3875         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_MASK)
3876 
3877 union uvh_rh_gam_mmioh_overlay_config1_mmr_u {
3878         unsigned long   v;
3879         struct uv3h_rh_gam_mmioh_overlay_config1_mmr_s {
3880                 unsigned long   rsvd_0_25:26;
3881                 unsigned long   base:20;                        /* RW */
3882                 unsigned long   m_io:6;                         /* RW */
3883                 unsigned long   n_io:4;
3884                 unsigned long   rsvd_56_62:7;
3885                 unsigned long   enable:1;                       /* RW */
3886         } s3;
3887         struct uv4h_rh_gam_mmioh_overlay_config1_mmr_s {
3888                 unsigned long   rsvd_0_25:26;
3889                 unsigned long   base:20;                        /* RW */
3890                 unsigned long   m_io:6;                         /* RW */
3891                 unsigned long   n_io:4;
3892                 unsigned long   rsvd_56_62:7;
3893                 unsigned long   enable:1;                       /* RW */
3894         } s4;
3895         struct uv4ah_rh_gam_mmioh_overlay_config1_mmr_s {
3896                 unsigned long   rsvd_0_25:26;
3897                 unsigned long   base:26;                        /* RW */
3898                 unsigned long   m_io:6;                         /* RW */
3899                 unsigned long   n_io:4;
3900                 unsigned long   undef_62:1;                     /* Undefined */
3901                 unsigned long   enable:1;                       /* RW */
3902         } s4a;
3903 };
3904 
3905 /* ========================================================================= */
3906 /*                   UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR                     */
3907 /* ========================================================================= */
3908 #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL
3909 #define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL
3910 #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR uv_undefined("UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR")
3911 #define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR uv_undefined("UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR")
3912 #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR (                           \
3913         is_uv1_hub() ? UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR :           \
3914         is_uv2_hub() ? UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR :           \
3915         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR :           \
3916         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR)
3917 
3918 
3919 #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT  30
3920 #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_SHFT  46
3921 #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_SHFT  52
3922 #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
3923 #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_MASK  0x00003fffc0000000UL
3924 #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_MASK  0x000fc00000000000UL
3925 #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_MASK  0x00f0000000000000UL
3926 #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
3927 
3928 
3929 #define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT  27
3930 #define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_SHFT  46
3931 #define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_SHFT  52
3932 #define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
3933 #define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_MASK  0x00003ffff8000000UL
3934 #define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_MASK  0x000fc00000000000UL
3935 #define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_MASK  0x00f0000000000000UL
3936 #define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
3937 
3938 
3939 union uvh_rh_gam_mmioh_overlay_config_mmr_u {
3940         unsigned long   v;
3941         struct uv1h_rh_gam_mmioh_overlay_config_mmr_s {
3942                 unsigned long   rsvd_0_29:30;
3943                 unsigned long   base:16;                        /* RW */
3944                 unsigned long   m_io:6;                         /* RW */
3945                 unsigned long   n_io:4;                         /* RW */
3946                 unsigned long   rsvd_56_62:7;
3947                 unsigned long   enable:1;                       /* RW */
3948         } s1;
3949         struct uv2h_rh_gam_mmioh_overlay_config_mmr_s {
3950                 unsigned long   rsvd_0_26:27;
3951                 unsigned long   base:19;                        /* RW */
3952                 unsigned long   m_io:6;                         /* RW */
3953                 unsigned long   n_io:4;                         /* RW */
3954                 unsigned long   rsvd_56_62:7;
3955                 unsigned long   enable:1;                       /* RW */
3956         } s2;
3957 };
3958 
3959 /* ========================================================================= */
3960 /*                  UVH_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR                    */
3961 /* ========================================================================= */
3962 #define UV1H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR uv_undefined("UV1H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR")
3963 #define UV2H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR uv_undefined("UV2H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR")
3964 #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR 0x1603800UL
3965 #define UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR 0x483800UL
3966 #define UVH_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR (                         \
3967         is_uv1_hub() ? UV1H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR :         \
3968         is_uv2_hub() ? UV2H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR :         \
3969         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR :         \
3970         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR)
3971 
3972 #define UV1H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_DEPTH uv_undefined("UV1H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_DEPTH")
3973 #define UV2H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_DEPTH uv_undefined("UV2H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_DEPTH")
3974 #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_DEPTH 128
3975 #define UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_DEPTH 128
3976 #define UVH_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_DEPTH (                   \
3977         is_uv1_hub() ? UV1H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_DEPTH :   \
3978         is_uv2_hub() ? UV2H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_DEPTH :   \
3979         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_DEPTH :   \
3980         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_DEPTH)
3981 
3982 
3983 #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_NASID_SHFT 0
3984 #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_NASID_MASK 0x0000000000007fffUL
3985 
3986 #define UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_NASID_SHFT 0
3987 #define UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_NASID_MASK 0x0000000000007fffUL
3988 
3989 #define UV4AH_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_NASID_MASK 0x0000000000000fffUL
3990 
3991 #define UVH_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_NASID_MASK (              \
3992         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_NASID_MASK : \
3993         is_uv4a_hub() ? UV4AH_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_NASID_MASK : \
3994         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_NASID_MASK)
3995 
3996 union uvh_rh_gam_mmioh_redirect_config0_mmr_u {
3997         unsigned long   v;
3998         struct uv3h_rh_gam_mmioh_redirect_config0_mmr_s {
3999                 unsigned long   nasid:15;                       /* RW */
4000                 unsigned long   rsvd_15_63:49;
4001         } s3;
4002         struct uv4h_rh_gam_mmioh_redirect_config0_mmr_s {
4003                 unsigned long   nasid:15;                       /* RW */
4004                 unsigned long   rsvd_15_63:49;
4005         } s4;
4006         struct uv4ah_rh_gam_mmioh_redirect_config0_mmr_s {
4007                 unsigned long   nasid:12;                       /* RW */
4008                 unsigned long   rsvd_12_63:52;
4009         } s4a;
4010 };
4011 
4012 /* ========================================================================= */
4013 /*                  UVH_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR                    */
4014 /* ========================================================================= */
4015 #define UV1H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR uv_undefined("UV1H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR")
4016 #define UV2H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR uv_undefined("UV2H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR")
4017 #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR 0x1604800UL
4018 #define UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR 0x484800UL
4019 #define UVH_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR (                         \
4020         is_uv1_hub() ? UV1H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR :         \
4021         is_uv2_hub() ? UV2H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR :         \
4022         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR :         \
4023         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR)
4024 
4025 #define UV1H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_DEPTH uv_undefined("UV1H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_DEPTH")
4026 #define UV2H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_DEPTH uv_undefined("UV2H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_DEPTH")
4027 #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_DEPTH 128
4028 #define UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_DEPTH 128
4029 #define UVH_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_DEPTH (                   \
4030         is_uv1_hub() ? UV1H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_DEPTH :   \
4031         is_uv2_hub() ? UV2H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_DEPTH :   \
4032         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_DEPTH :   \
4033         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_DEPTH)
4034 
4035 
4036 #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_NASID_SHFT 0
4037 #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_NASID_MASK 0x0000000000007fffUL
4038 
4039 #define UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_NASID_SHFT 0
4040 #define UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_NASID_MASK 0x0000000000007fffUL
4041 
4042 #define UV4AH_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_NASID_MASK 0x0000000000000fffUL
4043 
4044 #define UVH_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_NASID_MASK (              \
4045         is_uv3_hub() ? UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_NASID_MASK : \
4046         is_uv4a_hub() ? UV4AH_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_NASID_MASK : \
4047         /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_NASID_MASK)
4048 
4049 union uvh_rh_gam_mmioh_redirect_config1_mmr_u {
4050         unsigned long   v;
4051         struct uv3h_rh_gam_mmioh_redirect_config1_mmr_s {
4052                 unsigned long   nasid:15;                       /* RW */
4053                 unsigned long   rsvd_15_63:49;
4054         } s3;
4055         struct uv4h_rh_gam_mmioh_redirect_config1_mmr_s {
4056                 unsigned long   nasid:15;                       /* RW */
4057                 unsigned long   rsvd_15_63:49;
4058         } s4;
4059         struct uv4ah_rh_gam_mmioh_redirect_config1_mmr_s {
4060                 unsigned long   nasid:12;                       /* RW */
4061                 unsigned long   rsvd_12_63:52;
4062         } s4a;
4063 };
4064 
4065 /* ========================================================================= */
4066 /*                    UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR                      */
4067 /* ========================================================================= */
4068 #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
4069 #define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
4070 #define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
4071 #define UV4H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x480028UL
4072 #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR (                             \
4073         is_uv1_hub() ? UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR :             \
4074         is_uv2_hub() ? UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR :             \
4075         is_uv3_hub() ? UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR :             \
4076         /*is_uv4_hub*/ UV4H_RH_GAM_MMR_OVERLAY_CONFIG_MMR)
4077 
4078 #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT     26
4079 #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT   63
4080 #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK     0x00003ffffc000000UL
4081 #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK   0x8000000000000000UL
4082 
4083 #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT    26
4084 #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_SHFT 46
4085 #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT  63
4086 #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK    0x00003ffffc000000UL
4087 #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_MASK 0x0000400000000000UL
4088 #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK  0x8000000000000000UL
4089 
4090 #define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT    26
4091 #define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT  63
4092 #define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK    0x00003ffffc000000UL
4093 #define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK  0x8000000000000000UL
4094 
4095 #define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT    26
4096 #define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT  63
4097 #define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK    0x00003ffffc000000UL
4098 #define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK  0x8000000000000000UL
4099 
4100 #define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT    26
4101 #define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT  63
4102 #define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK    0x00003ffffc000000UL
4103 #define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK  0x8000000000000000UL
4104 
4105 #define UV4H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT    26
4106 #define UV4H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT  63
4107 #define UV4H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK    0x00003ffffc000000UL
4108 #define UV4H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK  0x8000000000000000UL
4109 
4110 
4111 union uvh_rh_gam_mmr_overlay_config_mmr_u {
4112         unsigned long   v;
4113         struct uvh_rh_gam_mmr_overlay_config_mmr_s {
4114                 unsigned long   rsvd_0_25:26;
4115                 unsigned long   base:20;                        /* RW */
4116                 unsigned long   rsvd_46_62:17;
4117                 unsigned long   enable:1;                       /* RW */
4118         } s;
4119         struct uv1h_rh_gam_mmr_overlay_config_mmr_s {
4120                 unsigned long   rsvd_0_25:26;
4121                 unsigned long   base:20;                        /* RW */
4122                 unsigned long   dual_hub:1;                     /* RW */
4123                 unsigned long   rsvd_47_62:16;
4124                 unsigned long   enable:1;                       /* RW */
4125         } s1;
4126         struct uvxh_rh_gam_mmr_overlay_config_mmr_s {
4127                 unsigned long   rsvd_0_25:26;
4128                 unsigned long   base:20;                        /* RW */
4129                 unsigned long   rsvd_46_62:17;
4130                 unsigned long   enable:1;                       /* RW */
4131         } sx;
4132         struct uv2h_rh_gam_mmr_overlay_config_mmr_s {
4133                 unsigned long   rsvd_0_25:26;
4134                 unsigned long   base:20;                        /* RW */
4135                 unsigned long   rsvd_46_62:17;
4136                 unsigned long   enable:1;                       /* RW */
4137         } s2;
4138         struct uv3h_rh_gam_mmr_overlay_config_mmr_s {
4139                 unsigned long   rsvd_0_25:26;
4140                 unsigned long   base:20;                        /* RW */
4141                 unsigned long   rsvd_46_62:17;
4142                 unsigned long   enable:1;                       /* RW */
4143         } s3;
4144         struct uv4h_rh_gam_mmr_overlay_config_mmr_s {
4145                 unsigned long   rsvd_0_25:26;
4146                 unsigned long   base:20;                        /* RW */
4147                 unsigned long   rsvd_46_62:17;
4148                 unsigned long   enable:1;                       /* RW */
4149         } s4;
4150 };
4151 
4152 /* ========================================================================= */
4153 /*                                 UVH_RTC                                   */
4154 /* ========================================================================= */
4155 #define UV1H_RTC 0x340000UL
4156 #define UV2H_RTC 0x340000UL
4157 #define UV3H_RTC 0x340000UL
4158 #define UV4H_RTC 0xe0000UL
4159 #define UVH_RTC (                                                       \
4160         is_uv1_hub() ? UV1H_RTC :                                       \
4161         is_uv2_hub() ? UV2H_RTC :                                       \
4162         is_uv3_hub() ? UV3H_RTC :                                       \
4163         /*is_uv4_hub*/ UV4H_RTC)
4164 
4165 #define UVH_RTC_REAL_TIME_CLOCK_SHFT                    0
4166 #define UVH_RTC_REAL_TIME_CLOCK_MASK                    0x00ffffffffffffffUL
4167 
4168 
4169 union uvh_rtc_u {
4170         unsigned long   v;
4171         struct uvh_rtc_s {
4172                 unsigned long   real_time_clock:56;             /* RW */
4173                 unsigned long   rsvd_56_63:8;
4174         } s;
4175 };
4176 
4177 /* ========================================================================= */
4178 /*                           UVH_RTC1_INT_CONFIG                             */
4179 /* ========================================================================= */
4180 #define UVH_RTC1_INT_CONFIG 0x615c0UL
4181 
4182 #define UVH_RTC1_INT_CONFIG_VECTOR_SHFT                 0
4183 #define UVH_RTC1_INT_CONFIG_DM_SHFT                     8
4184 #define UVH_RTC1_INT_CONFIG_DESTMODE_SHFT               11
4185 #define UVH_RTC1_INT_CONFIG_STATUS_SHFT                 12
4186 #define UVH_RTC1_INT_CONFIG_P_SHFT                      13
4187 #define UVH_RTC1_INT_CONFIG_T_SHFT                      15
4188 #define UVH_RTC1_INT_CONFIG_M_SHFT                      16
4189 #define UVH_RTC1_INT_CONFIG_APIC_ID_SHFT                32
4190 #define UVH_RTC1_INT_CONFIG_VECTOR_MASK                 0x00000000000000ffUL
4191 #define UVH_RTC1_INT_CONFIG_DM_MASK                     0x0000000000000700UL
4192 #define UVH_RTC1_INT_CONFIG_DESTMODE_MASK               0x0000000000000800UL
4193 #define UVH_RTC1_INT_CONFIG_STATUS_MASK                 0x0000000000001000UL
4194 #define UVH_RTC1_INT_CONFIG_P_MASK                      0x0000000000002000UL
4195 #define UVH_RTC1_INT_CONFIG_T_MASK                      0x0000000000008000UL
4196 #define UVH_RTC1_INT_CONFIG_M_MASK                      0x0000000000010000UL
4197 #define UVH_RTC1_INT_CONFIG_APIC_ID_MASK                0xffffffff00000000UL
4198 
4199 
4200 union uvh_rtc1_int_config_u {
4201         unsigned long   v;
4202         struct uvh_rtc1_int_config_s {
4203                 unsigned long   vector_:8;                      /* RW */
4204                 unsigned long   dm:3;                           /* RW */
4205                 unsigned long   destmode:1;                     /* RW */
4206                 unsigned long   status:1;                       /* RO */
4207                 unsigned long   p:1;                            /* RO */
4208                 unsigned long   rsvd_14:1;
4209                 unsigned long   t:1;                            /* RO */
4210                 unsigned long   m:1;                            /* RW */
4211                 unsigned long   rsvd_17_31:15;
4212                 unsigned long   apic_id:32;                     /* RW */
4213         } s;
4214 };
4215 
4216 /* ========================================================================= */
4217 /*                               UVH_SCRATCH5                                */
4218 /* ========================================================================= */
4219 #define UV1H_SCRATCH5 0x2d0200UL
4220 #define UV2H_SCRATCH5 0x2d0200UL
4221 #define UV3H_SCRATCH5 0x2d0200UL
4222 #define UV4H_SCRATCH5 0xb0200UL
4223 #define UVH_SCRATCH5 (                                                  \
4224         is_uv1_hub() ? UV1H_SCRATCH5 :                                  \
4225         is_uv2_hub() ? UV2H_SCRATCH5 :                                  \
4226         is_uv3_hub() ? UV3H_SCRATCH5 :                                  \
4227         /*is_uv4_hub*/ UV4H_SCRATCH5)
4228 
4229 #define UV1H_SCRATCH5_32 0x778
4230 #define UV2H_SCRATCH5_32 0x778
4231 #define UV3H_SCRATCH5_32 0x778
4232 #define UV4H_SCRATCH5_32 0x798
4233 #define UVH_SCRATCH5_32 (                                               \
4234         is_uv1_hub() ? UV1H_SCRATCH5_32 :                               \
4235         is_uv2_hub() ? UV2H_SCRATCH5_32 :                               \
4236         is_uv3_hub() ? UV3H_SCRATCH5_32 :                               \
4237         /*is_uv4_hub*/ UV4H_SCRATCH5_32)
4238 
4239 #define UVH_SCRATCH5_SCRATCH5_SHFT                      0
4240 #define UVH_SCRATCH5_SCRATCH5_MASK                      0xffffffffffffffffUL
4241 
4242 
4243 union uvh_scratch5_u {
4244         unsigned long   v;
4245         struct uvh_scratch5_s {
4246                 unsigned long   scratch5:64;                    /* RW, W1CS */
4247         } s;
4248 };
4249 
4250 /* ========================================================================= */
4251 /*                            UVH_SCRATCH5_ALIAS                             */
4252 /* ========================================================================= */
4253 #define UV1H_SCRATCH5_ALIAS 0x2d0208UL
4254 #define UV2H_SCRATCH5_ALIAS 0x2d0208UL
4255 #define UV3H_SCRATCH5_ALIAS 0x2d0208UL
4256 #define UV4H_SCRATCH5_ALIAS 0xb0208UL
4257 #define UVH_SCRATCH5_ALIAS (                                            \
4258         is_uv1_hub() ? UV1H_SCRATCH5_ALIAS :                            \
4259         is_uv2_hub() ? UV2H_SCRATCH5_ALIAS :                            \
4260         is_uv3_hub() ? UV3H_SCRATCH5_ALIAS :                            \
4261         /*is_uv4_hub*/ UV4H_SCRATCH5_ALIAS)
4262 
4263 #define UV1H_SCRATCH5_ALIAS_32 0x780
4264 #define UV2H_SCRATCH5_ALIAS_32 0x780
4265 #define UV3H_SCRATCH5_ALIAS_32 0x780
4266 #define UV4H_SCRATCH5_ALIAS_32 0x7a0
4267 #define UVH_SCRATCH5_ALIAS_32 (                                         \
4268         is_uv1_hub() ? UV1H_SCRATCH5_ALIAS_32 :                         \
4269         is_uv2_hub() ? UV2H_SCRATCH5_ALIAS_32 :                         \
4270         is_uv3_hub() ? UV3H_SCRATCH5_ALIAS_32 :                         \
4271         /*is_uv4_hub*/ UV4H_SCRATCH5_ALIAS_32)
4272 
4273 
4274 /* ========================================================================= */
4275 /*                           UVH_SCRATCH5_ALIAS_2                            */
4276 /* ========================================================================= */
4277 #define UV1H_SCRATCH5_ALIAS_2 0x2d0210UL
4278 #define UV2H_SCRATCH5_ALIAS_2 0x2d0210UL
4279 #define UV3H_SCRATCH5_ALIAS_2 0x2d0210UL
4280 #define UV4H_SCRATCH5_ALIAS_2 0xb0210UL
4281 #define UVH_SCRATCH5_ALIAS_2 (                                          \
4282         is_uv1_hub() ? UV1H_SCRATCH5_ALIAS_2 :                          \
4283         is_uv2_hub() ? UV2H_SCRATCH5_ALIAS_2 :                          \
4284         is_uv3_hub() ? UV3H_SCRATCH5_ALIAS_2 :                          \
4285         /*is_uv4_hub*/ UV4H_SCRATCH5_ALIAS_2)
4286 #define UVH_SCRATCH5_ALIAS_2_32 0x788
4287 
4288 
4289 /* ========================================================================= */
4290 /*                          UVXH_EVENT_OCCURRED2                             */
4291 /* ========================================================================= */
4292 #define UVXH_EVENT_OCCURRED2 0x70100UL
4293 
4294 #define UV2H_EVENT_OCCURRED2_32 0xb68
4295 #define UV3H_EVENT_OCCURRED2_32 0xb68
4296 #define UV4H_EVENT_OCCURRED2_32 0x608
4297 #define UVH_EVENT_OCCURRED2_32 (                                        \
4298         is_uv2_hub() ? UV2H_EVENT_OCCURRED2_32 :                        \
4299         is_uv3_hub() ? UV3H_EVENT_OCCURRED2_32 :                        \
4300         /*is_uv4_hub*/ UV4H_EVENT_OCCURRED2_32)
4301 
4302 
4303 #define UV2H_EVENT_OCCURRED2_RTC_0_SHFT                 0
4304 #define UV2H_EVENT_OCCURRED2_RTC_1_SHFT                 1
4305 #define UV2H_EVENT_OCCURRED2_RTC_2_SHFT                 2
4306 #define UV2H_EVENT_OCCURRED2_RTC_3_SHFT                 3
4307 #define UV2H_EVENT_OCCURRED2_RTC_4_SHFT                 4
4308 #define UV2H_EVENT_OCCURRED2_RTC_5_SHFT                 5
4309 #define UV2H_EVENT_OCCURRED2_RTC_6_SHFT                 6
4310 #define UV2H_EVENT_OCCURRED2_RTC_7_SHFT                 7
4311 #define UV2H_EVENT_OCCURRED2_RTC_8_SHFT                 8
4312 #define UV2H_EVENT_OCCURRED2_RTC_9_SHFT                 9
4313 #define UV2H_EVENT_OCCURRED2_RTC_10_SHFT                10
4314 #define UV2H_EVENT_OCCURRED2_RTC_11_SHFT                11
4315 #define UV2H_EVENT_OCCURRED2_RTC_12_SHFT                12
4316 #define UV2H_EVENT_OCCURRED2_RTC_13_SHFT                13
4317 #define UV2H_EVENT_OCCURRED2_RTC_14_SHFT                14
4318 #define UV2H_EVENT_OCCURRED2_RTC_15_SHFT                15
4319 #define UV2H_EVENT_OCCURRED2_RTC_16_SHFT                16
4320 #define UV2H_EVENT_OCCURRED2_RTC_17_SHFT                17
4321 #define UV2H_EVENT_OCCURRED2_RTC_18_SHFT                18
4322 #define UV2H_EVENT_OCCURRED2_RTC_19_SHFT                19
4323 #define UV2H_EVENT_OCCURRED2_RTC_20_SHFT                20
4324 #define UV2H_EVENT_OCCURRED2_RTC_21_SHFT                21
4325 #define UV2H_EVENT_OCCURRED2_RTC_22_SHFT                22
4326 #define UV2H_EVENT_OCCURRED2_RTC_23_SHFT                23
4327 #define UV2H_EVENT_OCCURRED2_RTC_24_SHFT                24
4328 #define UV2H_EVENT_OCCURRED2_RTC_25_SHFT                25
4329 #define UV2H_EVENT_OCCURRED2_RTC_26_SHFT                26
4330 #define UV2H_EVENT_OCCURRED2_RTC_27_SHFT                27
4331 #define UV2H_EVENT_OCCURRED2_RTC_28_SHFT                28
4332 #define UV2H_EVENT_OCCURRED2_RTC_29_SHFT                29
4333 #define UV2H_EVENT_OCCURRED2_RTC_30_SHFT                30
4334 #define UV2H_EVENT_OCCURRED2_RTC_31_SHFT                31
4335 #define UV2H_EVENT_OCCURRED2_RTC_0_MASK                 0x0000000000000001UL
4336 #define UV2H_EVENT_OCCURRED2_RTC_1_MASK                 0x0000000000000002UL
4337 #define UV2H_EVENT_OCCURRED2_RTC_2_MASK                 0x0000000000000004UL
4338 #define UV2H_EVENT_OCCURRED2_RTC_3_MASK                 0x0000000000000008UL
4339 #define UV2H_EVENT_OCCURRED2_RTC_4_MASK                 0x0000000000000010UL
4340 #define UV2H_EVENT_OCCURRED2_RTC_5_MASK                 0x0000000000000020UL
4341 #define UV2H_EVENT_OCCURRED2_RTC_6_MASK                 0x0000000000000040UL
4342 #define UV2H_EVENT_OCCURRED2_RTC_7_MASK                 0x0000000000000080UL
4343 #define UV2H_EVENT_OCCURRED2_RTC_8_MASK                 0x0000000000000100UL
4344 #define UV2H_EVENT_OCCURRED2_RTC_9_MASK                 0x0000000000000200UL
4345 #define UV2H_EVENT_OCCURRED2_RTC_10_MASK                0x0000000000000400UL
4346 #define UV2H_EVENT_OCCURRED2_RTC_11_MASK                0x0000000000000800UL
4347 #define UV2H_EVENT_OCCURRED2_RTC_12_MASK                0x0000000000001000UL
4348 #define UV2H_EVENT_OCCURRED2_RTC_13_MASK                0x0000000000002000UL
4349 #define UV2H_EVENT_OCCURRED2_RTC_14_MASK                0x0000000000004000UL
4350 #define UV2H_EVENT_OCCURRED2_RTC_15_MASK                0x0000000000008000UL
4351 #define UV2H_EVENT_OCCURRED2_RTC_16_MASK                0x0000000000010000UL
4352 #define UV2H_EVENT_OCCURRED2_RTC_17_MASK                0x0000000000020000UL
4353 #define UV2H_EVENT_OCCURRED2_RTC_18_MASK                0x0000000000040000UL
4354 #define UV2H_EVENT_OCCURRED2_RTC_19_MASK                0x0000000000080000UL
4355 #define UV2H_EVENT_OCCURRED2_RTC_20_MASK                0x0000000000100000UL
4356 #define UV2H_EVENT_OCCURRED2_RTC_21_MASK                0x0000000000200000UL
4357 #define UV2H_EVENT_OCCURRED2_RTC_22_MASK                0x0000000000400000UL
4358 #define UV2H_EVENT_OCCURRED2_RTC_23_MASK                0x0000000000800000UL
4359 #define UV2H_EVENT_OCCURRED2_RTC_24_MASK                0x0000000001000000UL
4360 #define UV2H_EVENT_OCCURRED2_RTC_25_MASK                0x0000000002000000UL
4361 #define UV2H_EVENT_OCCURRED2_RTC_26_MASK                0x0000000004000000UL
4362 #define UV2H_EVENT_OCCURRED2_RTC_27_MASK                0x0000000008000000UL
4363 #define UV2H_EVENT_OCCURRED2_RTC_28_MASK                0x0000000010000000UL
4364 #define UV2H_EVENT_OCCURRED2_RTC_29_MASK                0x0000000020000000UL
4365 #define UV2H_EVENT_OCCURRED2_RTC_30_MASK                0x0000000040000000UL
4366 #define UV2H_EVENT_OCCURRED2_RTC_31_MASK                0x0000000080000000UL
4367 
4368 #define UV3H_EVENT_OCCURRED2_RTC_0_SHFT                 0
4369 #define UV3H_EVENT_OCCURRED2_RTC_1_SHFT                 1
4370 #define UV3H_EVENT_OCCURRED2_RTC_2_SHFT                 2
4371 #define UV3H_EVENT_OCCURRED2_RTC_3_SHFT                 3
4372 #define UV3H_EVENT_OCCURRED2_RTC_4_SHFT                 4
4373 #define UV3H_EVENT_OCCURRED2_RTC_5_SHFT                 5
4374 #define UV3H_EVENT_OCCURRED2_RTC_6_SHFT                 6
4375 #define UV3H_EVENT_OCCURRED2_RTC_7_SHFT                 7
4376 #define UV3H_EVENT_OCCURRED2_RTC_8_SHFT                 8
4377 #define UV3H_EVENT_OCCURRED2_RTC_9_SHFT                 9
4378 #define UV3H_EVENT_OCCURRED2_RTC_10_SHFT                10
4379 #define UV3H_EVENT_OCCURRED2_RTC_11_SHFT                11
4380 #define UV3H_EVENT_OCCURRED2_RTC_12_SHFT                12
4381 #define UV3H_EVENT_OCCURRED2_RTC_13_SHFT                13
4382 #define UV3H_EVENT_OCCURRED2_RTC_14_SHFT                14
4383 #define UV3H_EVENT_OCCURRED2_RTC_15_SHFT                15
4384 #define UV3H_EVENT_OCCURRED2_RTC_16_SHFT                16
4385 #define UV3H_EVENT_OCCURRED2_RTC_17_SHFT                17
4386 #define UV3H_EVENT_OCCURRED2_RTC_18_SHFT                18
4387 #define UV3H_EVENT_OCCURRED2_RTC_19_SHFT                19
4388 #define UV3H_EVENT_OCCURRED2_RTC_20_SHFT                20
4389 #define UV3H_EVENT_OCCURRED2_RTC_21_SHFT                21
4390 #define UV3H_EVENT_OCCURRED2_RTC_22_SHFT                22
4391 #define UV3H_EVENT_OCCURRED2_RTC_23_SHFT                23
4392 #define UV3H_EVENT_OCCURRED2_RTC_24_SHFT                24
4393 #define UV3H_EVENT_OCCURRED2_RTC_25_SHFT                25
4394 #define UV3H_EVENT_OCCURRED2_RTC_26_SHFT                26
4395 #define UV3H_EVENT_OCCURRED2_RTC_27_SHFT                27
4396 #define UV3H_EVENT_OCCURRED2_RTC_28_SHFT                28
4397 #define UV3H_EVENT_OCCURRED2_RTC_29_SHFT                29
4398 #define UV3H_EVENT_OCCURRED2_RTC_30_SHFT                30
4399 #define UV3H_EVENT_OCCURRED2_RTC_31_SHFT                31
4400 #define UV3H_EVENT_OCCURRED2_RTC_0_MASK                 0x0000000000000001UL
4401 #define UV3H_EVENT_OCCURRED2_RTC_1_MASK                 0x0000000000000002UL
4402 #define UV3H_EVENT_OCCURRED2_RTC_2_MASK                 0x0000000000000004UL
4403 #define UV3H_EVENT_OCCURRED2_RTC_3_MASK                 0x0000000000000008UL
4404 #define UV3H_EVENT_OCCURRED2_RTC_4_MASK                 0x0000000000000010UL
4405 #define UV3H_EVENT_OCCURRED2_RTC_5_MASK                 0x0000000000000020UL
4406 #define UV3H_EVENT_OCCURRED2_RTC_6_MASK                 0x0000000000000040UL
4407 #define UV3H_EVENT_OCCURRED2_RTC_7_MASK                 0x0000000000000080UL
4408 #define UV3H_EVENT_OCCURRED2_RTC_8_MASK                 0x0000000000000100UL
4409 #define UV3H_EVENT_OCCURRED2_RTC_9_MASK                 0x0000000000000200UL
4410 #define UV3H_EVENT_OCCURRED2_RTC_10_MASK                0x0000000000000400UL
4411 #define UV3H_EVENT_OCCURRED2_RTC_11_MASK                0x0000000000000800UL
4412 #define UV3H_EVENT_OCCURRED2_RTC_12_MASK                0x0000000000001000UL
4413 #define UV3H_EVENT_OCCURRED2_RTC_13_MASK                0x0000000000002000UL
4414 #define UV3H_EVENT_OCCURRED2_RTC_14_MASK                0x0000000000004000UL
4415 #define UV3H_EVENT_OCCURRED2_RTC_15_MASK                0x0000000000008000UL
4416 #define UV3H_EVENT_OCCURRED2_RTC_16_MASK                0x0000000000010000UL
4417 #define UV3H_EVENT_OCCURRED2_RTC_17_MASK                0x0000000000020000UL
4418 #define UV3H_EVENT_OCCURRED2_RTC_18_MASK                0x0000000000040000UL
4419 #define UV3H_EVENT_OCCURRED2_RTC_19_MASK                0x0000000000080000UL
4420 #define UV3H_EVENT_OCCURRED2_RTC_20_MASK                0x0000000000100000UL
4421 #define UV3H_EVENT_OCCURRED2_RTC_21_MASK                0x0000000000200000UL
4422 #define UV3H_EVENT_OCCURRED2_RTC_22_MASK                0x0000000000400000UL
4423 #define UV3H_EVENT_OCCURRED2_RTC_23_MASK                0x0000000000800000UL
4424 #define UV3H_EVENT_OCCURRED2_RTC_24_MASK                0x0000000001000000UL
4425 #define UV3H_EVENT_OCCURRED2_RTC_25_MASK                0x0000000002000000UL
4426 #define UV3H_EVENT_OCCURRED2_RTC_26_MASK                0x0000000004000000UL
4427 #define UV3H_EVENT_OCCURRED2_RTC_27_MASK                0x0000000008000000UL
4428 #define UV3H_EVENT_OCCURRED2_RTC_28_MASK                0x0000000010000000UL
4429 #define UV3H_EVENT_OCCURRED2_RTC_29_MASK                0x0000000020000000UL
4430 #define UV3H_EVENT_OCCURRED2_RTC_30_MASK                0x0000000040000000UL
4431 #define UV3H_EVENT_OCCURRED2_RTC_31_MASK                0x0000000080000000UL
4432 
4433 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT0_SHFT 0
4434 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT1_SHFT 1
4435 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT2_SHFT 2
4436 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT3_SHFT 3
4437 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT4_SHFT 4
4438 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT5_SHFT 5
4439 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT6_SHFT 6
4440 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT7_SHFT 7
4441 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT8_SHFT 8
4442 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT9_SHFT 9
4443 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT10_SHFT 10
4444 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT11_SHFT 11
4445 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT12_SHFT 12
4446 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT13_SHFT 13
4447 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT14_SHFT 14
4448 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT15_SHFT 15
4449 #define UV4H_EVENT_OCCURRED2_RTC_INTERVAL_INT_SHFT      16
4450 #define UV4H_EVENT_OCCURRED2_BAU_DASHBOARD_INT_SHFT     17
4451 #define UV4H_EVENT_OCCURRED2_RTC_0_SHFT                 18
4452 #define UV4H_EVENT_OCCURRED2_RTC_1_SHFT                 19
4453 #define UV4H_EVENT_OCCURRED2_RTC_2_SHFT                 20
4454 #define UV4H_EVENT_OCCURRED2_RTC_3_SHFT                 21
4455 #define UV4H_EVENT_OCCURRED2_RTC_4_SHFT                 22
4456 #define UV4H_EVENT_OCCURRED2_RTC_5_SHFT                 23
4457 #define UV4H_EVENT_OCCURRED2_RTC_6_SHFT                 24
4458 #define UV4H_EVENT_OCCURRED2_RTC_7_SHFT                 25
4459 #define UV4H_EVENT_OCCURRED2_RTC_8_SHFT                 26
4460 #define UV4H_EVENT_OCCURRED2_RTC_9_SHFT                 27
4461 #define UV4H_EVENT_OCCURRED2_RTC_10_SHFT                28
4462 #define UV4H_EVENT_OCCURRED2_RTC_11_SHFT                29
4463 #define UV4H_EVENT_OCCURRED2_RTC_12_SHFT                30
4464 #define UV4H_EVENT_OCCURRED2_RTC_13_SHFT                31
4465 #define UV4H_EVENT_OCCURRED2_RTC_14_SHFT                32
4466 #define UV4H_EVENT_OCCURRED2_RTC_15_SHFT                33
4467 #define UV4H_EVENT_OCCURRED2_RTC_16_SHFT                34
4468 #define UV4H_EVENT_OCCURRED2_RTC_17_SHFT                35
4469 #define UV4H_EVENT_OCCURRED2_RTC_18_SHFT                36
4470 #define UV4H_EVENT_OCCURRED2_RTC_19_SHFT                37
4471 #define UV4H_EVENT_OCCURRED2_RTC_20_SHFT                38
4472 #define UV4H_EVENT_OCCURRED2_RTC_21_SHFT                39
4473 #define UV4H_EVENT_OCCURRED2_RTC_22_SHFT                40
4474 #define UV4H_EVENT_OCCURRED2_RTC_23_SHFT                41
4475 #define UV4H_EVENT_OCCURRED2_RTC_24_SHFT                42
4476 #define UV4H_EVENT_OCCURRED2_RTC_25_SHFT                43
4477 #define UV4H_EVENT_OCCURRED2_RTC_26_SHFT                44
4478 #define UV4H_EVENT_OCCURRED2_RTC_27_SHFT                45
4479 #define UV4H_EVENT_OCCURRED2_RTC_28_SHFT                46
4480 #define UV4H_EVENT_OCCURRED2_RTC_29_SHFT                47
4481 #define UV4H_EVENT_OCCURRED2_RTC_30_SHFT                48
4482 #define UV4H_EVENT_OCCURRED2_RTC_31_SHFT                49
4483 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT0_MASK 0x0000000000000001UL
4484 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT1_MASK 0x0000000000000002UL
4485 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT2_MASK 0x0000000000000004UL
4486 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT3_MASK 0x0000000000000008UL
4487 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT4_MASK 0x0000000000000010UL
4488 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT5_MASK 0x0000000000000020UL
4489 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT6_MASK 0x0000000000000040UL
4490 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT7_MASK 0x0000000000000080UL
4491 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT8_MASK 0x0000000000000100UL
4492 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT9_MASK 0x0000000000000200UL
4493 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT10_MASK 0x0000000000000400UL
4494 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT11_MASK 0x0000000000000800UL
4495 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT12_MASK 0x0000000000001000UL
4496 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT13_MASK 0x0000000000002000UL
4497 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT14_MASK 0x0000000000004000UL
4498 #define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT15_MASK 0x0000000000008000UL
4499 #define UV4H_EVENT_OCCURRED2_RTC_INTERVAL_INT_MASK      0x0000000000010000UL
4500 #define UV4H_EVENT_OCCURRED2_BAU_DASHBOARD_INT_MASK     0x0000000000020000UL
4501 #define UV4H_EVENT_OCCURRED2_RTC_0_MASK                 0x0000000000040000UL
4502 #define UV4H_EVENT_OCCURRED2_RTC_1_MASK                 0x0000000000080000UL
4503 #define UV4H_EVENT_OCCURRED2_RTC_2_MASK                 0x0000000000100000UL
4504 #define UV4H_EVENT_OCCURRED2_RTC_3_MASK                 0x0000000000200000UL
4505 #define UV4H_EVENT_OCCURRED2_RTC_4_MASK                 0x0000000000400000UL
4506 #define UV4H_EVENT_OCCURRED2_RTC_5_MASK                 0x0000000000800000UL
4507 #define UV4H_EVENT_OCCURRED2_RTC_6_MASK                 0x0000000001000000UL
4508 #define UV4H_EVENT_OCCURRED2_RTC_7_MASK                 0x0000000002000000UL
4509 #define UV4H_EVENT_OCCURRED2_RTC_8_MASK                 0x0000000004000000UL
4510 #define UV4H_EVENT_OCCURRED2_RTC_9_MASK                 0x0000000008000000UL
4511 #define UV4H_EVENT_OCCURRED2_RTC_10_MASK                0x0000000010000000UL
4512 #define UV4H_EVENT_OCCURRED2_RTC_11_MASK                0x0000000020000000UL
4513 #define UV4H_EVENT_OCCURRED2_RTC_12_MASK                0x0000000040000000UL
4514 #define UV4H_EVENT_OCCURRED2_RTC_13_MASK                0x0000000080000000UL
4515 #define UV4H_EVENT_OCCURRED2_RTC_14_MASK                0x0000000100000000UL
4516 #define UV4H_EVENT_OCCURRED2_RTC_15_MASK                0x0000000200000000UL
4517 #define UV4H_EVENT_OCCURRED2_RTC_16_MASK                0x0000000400000000UL
4518 #define UV4H_EVENT_OCCURRED2_RTC_17_MASK                0x0000000800000000UL
4519 #define UV4H_EVENT_OCCURRED2_RTC_18_MASK                0x0000001000000000UL
4520 #define UV4H_EVENT_OCCURRED2_RTC_19_MASK                0x0000002000000000UL
4521 #define UV4H_EVENT_OCCURRED2_RTC_20_MASK                0x0000004000000000UL
4522 #define UV4H_EVENT_OCCURRED2_RTC_21_MASK                0x0000008000000000UL
4523 #define UV4H_EVENT_OCCURRED2_RTC_22_MASK                0x0000010000000000UL
4524 #define UV4H_EVENT_OCCURRED2_RTC_23_MASK                0x0000020000000000UL
4525 #define UV4H_EVENT_OCCURRED2_RTC_24_MASK                0x0000040000000000UL
4526 #define UV4H_EVENT_OCCURRED2_RTC_25_MASK                0x0000080000000000UL
4527 #define UV4H_EVENT_OCCURRED2_RTC_26_MASK                0x0000100000000000UL
4528 #define UV4H_EVENT_OCCURRED2_RTC_27_MASK                0x0000200000000000UL
4529 #define UV4H_EVENT_OCCURRED2_RTC_28_MASK                0x0000400000000000UL
4530 #define UV4H_EVENT_OCCURRED2_RTC_29_MASK                0x0000800000000000UL
4531 #define UV4H_EVENT_OCCURRED2_RTC_30_MASK                0x0001000000000000UL
4532 #define UV4H_EVENT_OCCURRED2_RTC_31_MASK                0x0002000000000000UL
4533 
4534 #define UVXH_EVENT_OCCURRED2_RTC_1_MASK (                               \
4535         is_uv2_hub() ? UV2H_EVENT_OCCURRED2_RTC_1_MASK :                \
4536         is_uv3_hub() ? UV3H_EVENT_OCCURRED2_RTC_1_MASK :                \
4537         /*is_uv4_hub*/ UV4H_EVENT_OCCURRED2_RTC_1_MASK)
4538 
4539 union uvh_event_occurred2_u {
4540         unsigned long   v;
4541         struct uv2h_event_occurred2_s {
4542                 unsigned long   rtc_0:1;                        /* RW */
4543                 unsigned long   rtc_1:1;                        /* RW */
4544                 unsigned long   rtc_2:1;                        /* RW */
4545                 unsigned long   rtc_3:1;                        /* RW */
4546                 unsigned long   rtc_4:1;                        /* RW */
4547                 unsigned long   rtc_5:1;                        /* RW */
4548                 unsigned long   rtc_6:1;                        /* RW */
4549                 unsigned long   rtc_7:1;                        /* RW */
4550                 unsigned long   rtc_8:1;                        /* RW */
4551                 unsigned long   rtc_9:1;                        /* RW */
4552                 unsigned long   rtc_10:1;                       /* RW */
4553                 unsigned long   rtc_11:1;                       /* RW */
4554                 unsigned long   rtc_12:1;                       /* RW */
4555                 unsigned long   rtc_13:1;                       /* RW */
4556                 unsigned long   rtc_14:1;                       /* RW */
4557                 unsigned long   rtc_15:1;                       /* RW */
4558                 unsigned long   rtc_16:1;                       /* RW */
4559                 unsigned long   rtc_17:1;                       /* RW */
4560                 unsigned long   rtc_18:1;                       /* RW */
4561                 unsigned long   rtc_19:1;                       /* RW */
4562                 unsigned long   rtc_20:1;                       /* RW */
4563                 unsigned long   rtc_21:1;                       /* RW */
4564                 unsigned long   rtc_22:1;                       /* RW */
4565                 unsigned long   rtc_23:1;                       /* RW */
4566                 unsigned long   rtc_24:1;                       /* RW */
4567                 unsigned long   rtc_25:1;                       /* RW */
4568                 unsigned long   rtc_26:1;                       /* RW */
4569                 unsigned long   rtc_27:1;                       /* RW */
4570                 unsigned long   rtc_28:1;                       /* RW */
4571                 unsigned long   rtc_29:1;                       /* RW */
4572                 unsigned long   rtc_30:1;                       /* RW */
4573                 unsigned long   rtc_31:1;                       /* RW */
4574                 unsigned long   rsvd_32_63:32;
4575         } s2;
4576         struct uv3h_event_occurred2_s {
4577                 unsigned long   rtc_0:1;                        /* RW */
4578                 unsigned long   rtc_1:1;                        /* RW */
4579                 unsigned long   rtc_2:1;                        /* RW */
4580                 unsigned long   rtc_3:1;                        /* RW */
4581                 unsigned long   rtc_4:1;                        /* RW */
4582                 unsigned long   rtc_5:1;                        /* RW */
4583                 unsigned long   rtc_6:1;                        /* RW */
4584                 unsigned long   rtc_7:1;                        /* RW */
4585                 unsigned long   rtc_8:1;                        /* RW */
4586                 unsigned long   rtc_9:1;                        /* RW */
4587                 unsigned long   rtc_10:1;                       /* RW */
4588                 unsigned long   rtc_11:1;                       /* RW */
4589                 unsigned long   rtc_12:1;                       /* RW */
4590                 unsigned long   rtc_13:1;                       /* RW */
4591                 unsigned long   rtc_14:1;                       /* RW */
4592                 unsigned long   rtc_15:1;                       /* RW */
4593                 unsigned long   rtc_16:1;                       /* RW */
4594                 unsigned long   rtc_17:1;                       /* RW */
4595                 unsigned long   rtc_18:1;                       /* RW */
4596                 unsigned long   rtc_19:1;                       /* RW */
4597                 unsigned long   rtc_20:1;                       /* RW */
4598                 unsigned long   rtc_21:1;                       /* RW */
4599                 unsigned long   rtc_22:1;                       /* RW */
4600                 unsigned long   rtc_23:1;                       /* RW */
4601                 unsigned long   rtc_24:1;                       /* RW */
4602                 unsigned long   rtc_25:1;                       /* RW */
4603                 unsigned long   rtc_26:1;                       /* RW */
4604                 unsigned long   rtc_27:1;                       /* RW */
4605                 unsigned long   rtc_28:1;                       /* RW */
4606                 unsigned long   rtc_29:1;                       /* RW */
4607                 unsigned long   rtc_30:1;                       /* RW */
4608                 unsigned long   rtc_31:1;                       /* RW */
4609                 unsigned long   rsvd_32_63:32;
4610         } s3;
4611         struct uv4h_event_occurred2_s {
4612                 unsigned long   message_accelerator_int0:1;     /* RW */
4613                 unsigned long   message_accelerator_int1:1;     /* RW */
4614                 unsigned long   message_accelerator_int2:1;     /* RW */
4615                 unsigned long   message_accelerator_int3:1;     /* RW */
4616                 unsigned long   message_accelerator_int4:1;     /* RW */
4617                 unsigned long   message_accelerator_int5:1;     /* RW */
4618                 unsigned long   message_accelerator_int6:1;     /* RW */
4619                 unsigned long   message_accelerator_int7:1;     /* RW */
4620                 unsigned long   message_accelerator_int8:1;     /* RW */
4621                 unsigned long   message_accelerator_int9:1;     /* RW */
4622                 unsigned long   message_accelerator_int10:1;    /* RW */
4623                 unsigned long   message_accelerator_int11:1;    /* RW */
4624                 unsigned long   message_accelerator_int12:1;    /* RW */
4625                 unsigned long   message_accelerator_int13:1;    /* RW */
4626                 unsigned long   message_accelerator_int14:1;    /* RW */
4627                 unsigned long   message_accelerator_int15:1;    /* RW */
4628                 unsigned long   rtc_interval_int:1;             /* RW */
4629                 unsigned long   bau_dashboard_int:1;            /* RW */
4630                 unsigned long   rtc_0:1;                        /* RW */
4631                 unsigned long   rtc_1:1;                        /* RW */
4632                 unsigned long   rtc_2:1;                        /* RW */
4633                 unsigned long   rtc_3:1;                        /* RW */
4634                 unsigned long   rtc_4:1;                        /* RW */
4635                 unsigned long   rtc_5:1;                        /* RW */
4636                 unsigned long   rtc_6:1;                        /* RW */
4637                 unsigned long   rtc_7:1;                        /* RW */
4638                 unsigned long   rtc_8:1;                        /* RW */
4639                 unsigned long   rtc_9:1;                        /* RW */
4640                 unsigned long   rtc_10:1;                       /* RW */
4641                 unsigned long   rtc_11:1;                       /* RW */
4642                 unsigned long   rtc_12:1;                       /* RW */
4643                 unsigned long   rtc_13:1;                       /* RW */
4644                 unsigned long   rtc_14:1;                       /* RW */
4645                 unsigned long   rtc_15:1;                       /* RW */
4646                 unsigned long   rtc_16:1;                       /* RW */
4647                 unsigned long   rtc_17:1;                       /* RW */
4648                 unsigned long   rtc_18:1;                       /* RW */
4649                 unsigned long   rtc_19:1;                       /* RW */
4650                 unsigned long   rtc_20:1;                       /* RW */
4651                 unsigned long   rtc_21:1;                       /* RW */
4652                 unsigned long   rtc_22:1;                       /* RW */
4653                 unsigned long   rtc_23:1;                       /* RW */
4654                 unsigned long   rtc_24:1;                       /* RW */
4655                 unsigned long   rtc_25:1;                       /* RW */
4656                 unsigned long   rtc_26:1;                       /* RW */
4657                 unsigned long   rtc_27:1;                       /* RW */
4658                 unsigned long   rtc_28:1;                       /* RW */
4659                 unsigned long   rtc_29:1;                       /* RW */
4660                 unsigned long   rtc_30:1;                       /* RW */
4661                 unsigned long   rtc_31:1;                       /* RW */
4662                 unsigned long   rsvd_50_63:14;
4663         } s4;
4664 };
4665 
4666 /* ========================================================================= */
4667 /*                       UVXH_EVENT_OCCURRED2_ALIAS                          */
4668 /* ========================================================================= */
4669 #define UVXH_EVENT_OCCURRED2_ALIAS 0x70108UL
4670 
4671 #define UV2H_EVENT_OCCURRED2_ALIAS_32 0xb70
4672 #define UV3H_EVENT_OCCURRED2_ALIAS_32 0xb70
4673 #define UV4H_EVENT_OCCURRED2_ALIAS_32 0x610
4674 #define UVH_EVENT_OCCURRED2_ALIAS_32 (                                  \
4675         is_uv2_hub() ? UV2H_EVENT_OCCURRED2_ALIAS_32 :                  \
4676         is_uv3_hub() ? UV3H_EVENT_OCCURRED2_ALIAS_32 :                  \
4677         /*is_uv4_hub*/ UV4H_EVENT_OCCURRED2_ALIAS_32)
4678 
4679 
4680 /* ========================================================================= */
4681 /*                   UVXH_LB_BAU_SB_ACTIVATION_STATUS_2                      */
4682 /* ========================================================================= */
4683 #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL
4684 #define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL
4685 #define UV4H_LB_BAU_SB_ACTIVATION_STATUS_2 0xc8130UL
4686 #define UVH_LB_BAU_SB_ACTIVATION_STATUS_2 (                             \
4687         is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_STATUS_2 :             \
4688         is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_STATUS_2 :             \
4689         /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_STATUS_2)
4690 
4691 #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x9f0
4692 #define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x9f0
4693 #define UV4H_LB_BAU_SB_ACTIVATION_STATUS_2_32 0xa10
4694 #define UVH_LB_BAU_SB_ACTIVATION_STATUS_2_32 (                          \
4695         is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_32 :          \
4696         is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_32 :          \
4697         /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_STATUS_2_32)
4698 
4699 #define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0
4700 #define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL
4701 
4702 #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0
4703 #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL
4704 
4705 #define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0
4706 #define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL
4707 
4708 #define UV4H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0
4709 #define UV4H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL
4710 
4711 
4712 union uvxh_lb_bau_sb_activation_status_2_u {
4713         unsigned long   v;
4714         struct uvxh_lb_bau_sb_activation_status_2_s {
4715                 unsigned long   aux_error:64;                   /* RW */
4716         } sx;
4717         struct uv2h_lb_bau_sb_activation_status_2_s {
4718                 unsigned long   aux_error:64;                   /* RW */
4719         } s2;
4720         struct uv3h_lb_bau_sb_activation_status_2_s {
4721                 unsigned long   aux_error:64;                   /* RW */
4722         } s3;
4723         struct uv4h_lb_bau_sb_activation_status_2_s {
4724                 unsigned long   aux_error:64;                   /* RW */
4725         } s4;
4726 };
4727 
4728 /* ========================================================================= */
4729 /*                   UV1H_LB_TARGET_PHYSICAL_APIC_ID_MASK                    */
4730 /* ========================================================================= */
4731 #define UV1H_LB_TARGET_PHYSICAL_APIC_ID_MASK            0x320130UL
4732 #define UV1H_LB_TARGET_PHYSICAL_APIC_ID_MASK_32         0x9f0
4733 
4734 #define UV1H_LB_TARGET_PHYSICAL_APIC_ID_MASK_BIT_ENABLES_SHFT 0
4735 #define UV1H_LB_TARGET_PHYSICAL_APIC_ID_MASK_BIT_ENABLES_MASK 0x00000000ffffffffUL
4736 
4737 union uv1h_lb_target_physical_apic_id_mask_u {
4738         unsigned long   v;
4739         struct uv1h_lb_target_physical_apic_id_mask_s {
4740                 unsigned long   bit_enables:32;                 /* RW */
4741                 unsigned long   rsvd_32_63:32;
4742         } s1;
4743 };
4744 
4745 /* ========================================================================= */
4746 /*                          UV3H_GR0_GAM_GR_CONFIG                           */
4747 /* ========================================================================= */
4748 #define UV3H_GR0_GAM_GR_CONFIG                          0xc00028UL
4749 
4750 #define UV3H_GR0_GAM_GR_CONFIG_M_SKT_SHFT               0
4751 #define UV3H_GR0_GAM_GR_CONFIG_SUBSPACE_SHFT            10
4752 #define UV3H_GR0_GAM_GR_CONFIG_M_SKT_MASK               0x000000000000003fUL
4753 #define UV3H_GR0_GAM_GR_CONFIG_SUBSPACE_MASK            0x0000000000000400UL
4754 
4755 union uv3h_gr0_gam_gr_config_u {
4756         unsigned long   v;
4757         struct uv3h_gr0_gam_gr_config_s {
4758                 unsigned long   m_skt:6;                        /* RW */
4759                 unsigned long   undef_6_9:4;                    /* Undefined */
4760                 unsigned long   subspace:1;                     /* RW */
4761                 unsigned long   reserved:53;
4762         } s3;
4763 };
4764 
4765 /* ========================================================================= */
4766 /*                       UV4H_LB_PROC_INTD_QUEUE_FIRST                       */
4767 /* ========================================================================= */
4768 #define UV4H_LB_PROC_INTD_QUEUE_FIRST                   0xa4100UL
4769 
4770 #define UV4H_LB_PROC_INTD_QUEUE_FIRST_FIRST_PAYLOAD_ADDRESS_SHFT 6
4771 #define UV4H_LB_PROC_INTD_QUEUE_FIRST_FIRST_PAYLOAD_ADDRESS_MASK 0x00003fffffffffc0UL
4772 
4773 union uv4h_lb_proc_intd_queue_first_u {
4774         unsigned long   v;
4775         struct uv4h_lb_proc_intd_queue_first_s {
4776                 unsigned long   undef_0_5:6;                    /* Undefined */
4777                 unsigned long   first_payload_address:40;       /* RW */
4778         } s4;
4779 };
4780 
4781 /* ========================================================================= */
4782 /*                       UV4H_LB_PROC_INTD_QUEUE_LAST                        */
4783 /* ========================================================================= */
4784 #define UV4H_LB_PROC_INTD_QUEUE_LAST                    0xa4108UL
4785 
4786 #define UV4H_LB_PROC_INTD_QUEUE_LAST_LAST_PAYLOAD_ADDRESS_SHFT 5
4787 #define UV4H_LB_PROC_INTD_QUEUE_LAST_LAST_PAYLOAD_ADDRESS_MASK 0x00003fffffffffe0UL
4788 
4789 union uv4h_lb_proc_intd_queue_last_u {
4790         unsigned long   v;
4791         struct uv4h_lb_proc_intd_queue_last_s {
4792                 unsigned long   undef_0_4:5;                    /* Undefined */
4793                 unsigned long   last_payload_address:41;        /* RW */
4794         } s4;
4795 };
4796 
4797 /* ========================================================================= */
4798 /*                     UV4H_LB_PROC_INTD_SOFT_ACK_CLEAR                      */
4799 /* ========================================================================= */
4800 #define UV4H_LB_PROC_INTD_SOFT_ACK_CLEAR                0xa4118UL
4801 
4802 #define UV4H_LB_PROC_INTD_SOFT_ACK_CLEAR_SOFT_ACK_PENDING_FLAGS_SHFT 0
4803 #define UV4H_LB_PROC_INTD_SOFT_ACK_CLEAR_SOFT_ACK_PENDING_FLAGS_MASK 0x00000000000000ffUL
4804 
4805 union uv4h_lb_proc_intd_soft_ack_clear_u {
4806         unsigned long   v;
4807         struct uv4h_lb_proc_intd_soft_ack_clear_s {
4808                 unsigned long   soft_ack_pending_flags:8;       /* WP */
4809         } s4;
4810 };
4811 
4812 /* ========================================================================= */
4813 /*                    UV4H_LB_PROC_INTD_SOFT_ACK_PENDING                     */
4814 /* ========================================================================= */
4815 #define UV4H_LB_PROC_INTD_SOFT_ACK_PENDING              0xa4110UL
4816 
4817 #define UV4H_LB_PROC_INTD_SOFT_ACK_PENDING_SOFT_ACK_FLAGS_SHFT 0
4818 #define UV4H_LB_PROC_INTD_SOFT_ACK_PENDING_SOFT_ACK_FLAGS_MASK 0x00000000000000ffUL
4819 
4820 union uv4h_lb_proc_intd_soft_ack_pending_u {
4821         unsigned long   v;
4822         struct uv4h_lb_proc_intd_soft_ack_pending_s {
4823                 unsigned long   soft_ack_flags:8;               /* RW */
4824         } s4;
4825 };
4826 
4827 
4828 #endif /* _ASM_X86_UV_UV_MMRS_H */

/* [<][>][^][v][top][bottom][index][help] */