linux/arch/x86/include/asm/uv/uv_mmrs.h
<<
>>
Prefs
   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 * HPE UV MMR definitions
   7 *
   8 * (C) Copyright 2020 Hewlett Packard Enterprise Development LP
   9 * Copyright (C) 2007-2016 Silicon Graphics, Inc. All rights reserved.
  10 */
  11
  12#ifndef _ASM_X86_UV_UV_MMRS_H
  13#define _ASM_X86_UV_UV_MMRS_H
  14
  15/*
  16 * This file contains MMR definitions for all UV hubs types.
  17 *
  18 * To minimize coding differences between hub types, the symbols are
  19 * grouped by architecture types.
  20 *
  21 * UVH  - definitions common to all UV hub types.
  22 * UVXH - definitions common to UVX class (2, 3, 4).
  23 * UVYH - definitions common to UVY class (5).
  24 * UV5H - definitions specific to UV type 5 hub.
  25 * UV4AH - definitions specific to UV type 4A hub.
  26 * UV4H - definitions specific to UV type 4 hub.
  27 * UV3H - definitions specific to UV type 3 hub.
  28 * UV2H - definitions specific to UV type 2 hub.
  29 *
  30 * If the MMR exists on all hub types but have different addresses,
  31 * use a conditional operator to define the value at runtime.  Any
  32 * that are not defined are blank.
  33 *      (UV4A variations only generated if different from uv4)
  34 *      #define UVHxxx (
  35 *              is_uv(UV5) ? UV5Hxxx value :
  36 *              is_uv(UV4A) ? UV4AHxxx value :
  37 *              is_uv(UV4) ? UV4Hxxx value :
  38 *              is_uv(UV3) ? UV3Hxxx value :
  39 *              is_uv(UV2) ? UV2Hxxx value :
  40 *              <ucv> or <undef value>)
  41 *
  42 * Class UVX has UVs (2|3|4|4A).
  43 * Class UVY has UVs (5).
  44 *
  45 *      union uvh_xxx {
  46 *              unsigned long       v;
  47 *              struct uvh_xxx_s {       # Common fields only
  48 *              } s;
  49 *              struct uv5h_xxx_s {      # Full UV5 definition (*)
  50 *              } s5;
  51 *              struct uv4ah_xxx_s {     # Full UV4A definition (*)
  52 *              } s4a;
  53 *              struct uv4h_xxx_s {      # Full UV4 definition (*)
  54 *              } s4;
  55 *              struct uv3h_xxx_s {      # Full UV3 definition (*)
  56 *              } s3;
  57 *              struct uv2h_xxx_s {      # Full UV2 definition (*)
  58 *              } s2;
  59 *      };
  60 *              (* - if present and different than the common struct)
  61 *
  62 * Only essential differences are enumerated. For example, if the address is
  63 * the same for all UV's, only a single #define is generated. Likewise,
  64 * if the contents is the same for all hubs, only the "s" structure is
  65 * generated.
  66 *
  67 * (GEN Flags: undefs=function)
  68 */
  69
  70 /* UV bit masks */
  71#define UV2     (1 << 0)
  72#define UV3     (1 << 1)
  73#define UV4     (1 << 2)
  74#define UV4A    (1 << 3)
  75#define UV5     (1 << 4)
  76#define UVX     (UV2|UV3|UV4)
  77#define UVY     (UV5)
  78#define UV_ANY  (~0)
  79
  80
  81
  82
  83#define UV_MMR_ENABLE           (1UL << 63)
  84
  85#define UV1_HUB_PART_NUMBER     0x88a5
  86#define UV2_HUB_PART_NUMBER     0x8eb8
  87#define UV2_HUB_PART_NUMBER_X   0x1111
  88#define UV3_HUB_PART_NUMBER     0x9578
  89#define UV3_HUB_PART_NUMBER_X   0x4321
  90#define UV4_HUB_PART_NUMBER     0x99a1
  91#define UV5_HUB_PART_NUMBER     0xa171
  92
  93/* Error function to catch undefined references */
  94extern unsigned long uv_undefined(char *str);
  95
  96/* ========================================================================= */
  97/*                           UVH_EVENT_OCCURRED0                             */
  98/* ========================================================================= */
  99#define UVH_EVENT_OCCURRED0 0x70000UL
 100
 101/* UVH common defines*/
 102#define UVH_EVENT_OCCURRED0_LB_HCERR_SHFT               0
 103#define UVH_EVENT_OCCURRED0_LB_HCERR_MASK               0x0000000000000001UL
 104
 105/* UVXH common defines */
 106#define UVXH_EVENT_OCCURRED0_RH_HCERR_SHFT              2
 107#define UVXH_EVENT_OCCURRED0_RH_HCERR_MASK              0x0000000000000004UL
 108#define UVXH_EVENT_OCCURRED0_LH0_HCERR_SHFT             3
 109#define UVXH_EVENT_OCCURRED0_LH0_HCERR_MASK             0x0000000000000008UL
 110#define UVXH_EVENT_OCCURRED0_LH1_HCERR_SHFT             4
 111#define UVXH_EVENT_OCCURRED0_LH1_HCERR_MASK             0x0000000000000010UL
 112#define UVXH_EVENT_OCCURRED0_GR0_HCERR_SHFT             5
 113#define UVXH_EVENT_OCCURRED0_GR0_HCERR_MASK             0x0000000000000020UL
 114#define UVXH_EVENT_OCCURRED0_GR1_HCERR_SHFT             6
 115#define UVXH_EVENT_OCCURRED0_GR1_HCERR_MASK             0x0000000000000040UL
 116#define UVXH_EVENT_OCCURRED0_NI0_HCERR_SHFT             7
 117#define UVXH_EVENT_OCCURRED0_NI0_HCERR_MASK             0x0000000000000080UL
 118#define UVXH_EVENT_OCCURRED0_NI1_HCERR_SHFT             8
 119#define UVXH_EVENT_OCCURRED0_NI1_HCERR_MASK             0x0000000000000100UL
 120#define UVXH_EVENT_OCCURRED0_LB_AOERR0_SHFT             9
 121#define UVXH_EVENT_OCCURRED0_LB_AOERR0_MASK             0x0000000000000200UL
 122#define UVXH_EVENT_OCCURRED0_RH_AOERR0_SHFT             11
 123#define UVXH_EVENT_OCCURRED0_RH_AOERR0_MASK             0x0000000000000800UL
 124#define UVXH_EVENT_OCCURRED0_LH0_AOERR0_SHFT            12
 125#define UVXH_EVENT_OCCURRED0_LH0_AOERR0_MASK            0x0000000000001000UL
 126#define UVXH_EVENT_OCCURRED0_LH1_AOERR0_SHFT            13
 127#define UVXH_EVENT_OCCURRED0_LH1_AOERR0_MASK            0x0000000000002000UL
 128#define UVXH_EVENT_OCCURRED0_GR0_AOERR0_SHFT            14
 129#define UVXH_EVENT_OCCURRED0_GR0_AOERR0_MASK            0x0000000000004000UL
 130#define UVXH_EVENT_OCCURRED0_GR1_AOERR0_SHFT            15
 131#define UVXH_EVENT_OCCURRED0_GR1_AOERR0_MASK            0x0000000000008000UL
 132#define UVXH_EVENT_OCCURRED0_XB_AOERR0_SHFT             16
 133#define UVXH_EVENT_OCCURRED0_XB_AOERR0_MASK             0x0000000000010000UL
 134
 135/* UVYH common defines */
 136#define UVYH_EVENT_OCCURRED0_KT_HCERR_SHFT              1
 137#define UVYH_EVENT_OCCURRED0_KT_HCERR_MASK              0x0000000000000002UL
 138#define UVYH_EVENT_OCCURRED0_RH0_HCERR_SHFT             2
 139#define UVYH_EVENT_OCCURRED0_RH0_HCERR_MASK             0x0000000000000004UL
 140#define UVYH_EVENT_OCCURRED0_RH1_HCERR_SHFT             3
 141#define UVYH_EVENT_OCCURRED0_RH1_HCERR_MASK             0x0000000000000008UL
 142#define UVYH_EVENT_OCCURRED0_LH0_HCERR_SHFT             4
 143#define UVYH_EVENT_OCCURRED0_LH0_HCERR_MASK             0x0000000000000010UL
 144#define UVYH_EVENT_OCCURRED0_LH1_HCERR_SHFT             5
 145#define UVYH_EVENT_OCCURRED0_LH1_HCERR_MASK             0x0000000000000020UL
 146#define UVYH_EVENT_OCCURRED0_LH2_HCERR_SHFT             6
 147#define UVYH_EVENT_OCCURRED0_LH2_HCERR_MASK             0x0000000000000040UL
 148#define UVYH_EVENT_OCCURRED0_LH3_HCERR_SHFT             7
 149#define UVYH_EVENT_OCCURRED0_LH3_HCERR_MASK             0x0000000000000080UL
 150#define UVYH_EVENT_OCCURRED0_XB_HCERR_SHFT              8
 151#define UVYH_EVENT_OCCURRED0_XB_HCERR_MASK              0x0000000000000100UL
 152#define UVYH_EVENT_OCCURRED0_RDM_HCERR_SHFT             9
 153#define UVYH_EVENT_OCCURRED0_RDM_HCERR_MASK             0x0000000000000200UL
 154#define UVYH_EVENT_OCCURRED0_NI0_HCERR_SHFT             10
 155#define UVYH_EVENT_OCCURRED0_NI0_HCERR_MASK             0x0000000000000400UL
 156#define UVYH_EVENT_OCCURRED0_NI1_HCERR_SHFT             11
 157#define UVYH_EVENT_OCCURRED0_NI1_HCERR_MASK             0x0000000000000800UL
 158#define UVYH_EVENT_OCCURRED0_LB_AOERR0_SHFT             12
 159#define UVYH_EVENT_OCCURRED0_LB_AOERR0_MASK             0x0000000000001000UL
 160#define UVYH_EVENT_OCCURRED0_KT_AOERR0_SHFT             13
 161#define UVYH_EVENT_OCCURRED0_KT_AOERR0_MASK             0x0000000000002000UL
 162#define UVYH_EVENT_OCCURRED0_RH0_AOERR0_SHFT            14
 163#define UVYH_EVENT_OCCURRED0_RH0_AOERR0_MASK            0x0000000000004000UL
 164#define UVYH_EVENT_OCCURRED0_RH1_AOERR0_SHFT            15
 165#define UVYH_EVENT_OCCURRED0_RH1_AOERR0_MASK            0x0000000000008000UL
 166#define UVYH_EVENT_OCCURRED0_LH0_AOERR0_SHFT            16
 167#define UVYH_EVENT_OCCURRED0_LH0_AOERR0_MASK            0x0000000000010000UL
 168#define UVYH_EVENT_OCCURRED0_LH1_AOERR0_SHFT            17
 169#define UVYH_EVENT_OCCURRED0_LH1_AOERR0_MASK            0x0000000000020000UL
 170#define UVYH_EVENT_OCCURRED0_LH2_AOERR0_SHFT            18
 171#define UVYH_EVENT_OCCURRED0_LH2_AOERR0_MASK            0x0000000000040000UL
 172#define UVYH_EVENT_OCCURRED0_LH3_AOERR0_SHFT            19
 173#define UVYH_EVENT_OCCURRED0_LH3_AOERR0_MASK            0x0000000000080000UL
 174#define UVYH_EVENT_OCCURRED0_XB_AOERR0_SHFT             20
 175#define UVYH_EVENT_OCCURRED0_XB_AOERR0_MASK             0x0000000000100000UL
 176#define UVYH_EVENT_OCCURRED0_RDM_AOERR0_SHFT            21
 177#define UVYH_EVENT_OCCURRED0_RDM_AOERR0_MASK            0x0000000000200000UL
 178#define UVYH_EVENT_OCCURRED0_RT0_AOERR0_SHFT            22
 179#define UVYH_EVENT_OCCURRED0_RT0_AOERR0_MASK            0x0000000000400000UL
 180#define UVYH_EVENT_OCCURRED0_RT1_AOERR0_SHFT            23
 181#define UVYH_EVENT_OCCURRED0_RT1_AOERR0_MASK            0x0000000000800000UL
 182#define UVYH_EVENT_OCCURRED0_NI0_AOERR0_SHFT            24
 183#define UVYH_EVENT_OCCURRED0_NI0_AOERR0_MASK            0x0000000001000000UL
 184#define UVYH_EVENT_OCCURRED0_NI1_AOERR0_SHFT            25
 185#define UVYH_EVENT_OCCURRED0_NI1_AOERR0_MASK            0x0000000002000000UL
 186#define UVYH_EVENT_OCCURRED0_LB_AOERR1_SHFT             26
 187#define UVYH_EVENT_OCCURRED0_LB_AOERR1_MASK             0x0000000004000000UL
 188#define UVYH_EVENT_OCCURRED0_KT_AOERR1_SHFT             27
 189#define UVYH_EVENT_OCCURRED0_KT_AOERR1_MASK             0x0000000008000000UL
 190#define UVYH_EVENT_OCCURRED0_RH0_AOERR1_SHFT            28
 191#define UVYH_EVENT_OCCURRED0_RH0_AOERR1_MASK            0x0000000010000000UL
 192#define UVYH_EVENT_OCCURRED0_RH1_AOERR1_SHFT            29
 193#define UVYH_EVENT_OCCURRED0_RH1_AOERR1_MASK            0x0000000020000000UL
 194#define UVYH_EVENT_OCCURRED0_LH0_AOERR1_SHFT            30
 195#define UVYH_EVENT_OCCURRED0_LH0_AOERR1_MASK            0x0000000040000000UL
 196#define UVYH_EVENT_OCCURRED0_LH1_AOERR1_SHFT            31
 197#define UVYH_EVENT_OCCURRED0_LH1_AOERR1_MASK            0x0000000080000000UL
 198#define UVYH_EVENT_OCCURRED0_LH2_AOERR1_SHFT            32
 199#define UVYH_EVENT_OCCURRED0_LH2_AOERR1_MASK            0x0000000100000000UL
 200#define UVYH_EVENT_OCCURRED0_LH3_AOERR1_SHFT            33
 201#define UVYH_EVENT_OCCURRED0_LH3_AOERR1_MASK            0x0000000200000000UL
 202#define UVYH_EVENT_OCCURRED0_XB_AOERR1_SHFT             34
 203#define UVYH_EVENT_OCCURRED0_XB_AOERR1_MASK             0x0000000400000000UL
 204#define UVYH_EVENT_OCCURRED0_RDM_AOERR1_SHFT            35
 205#define UVYH_EVENT_OCCURRED0_RDM_AOERR1_MASK            0x0000000800000000UL
 206#define UVYH_EVENT_OCCURRED0_RT0_AOERR1_SHFT            36
 207#define UVYH_EVENT_OCCURRED0_RT0_AOERR1_MASK            0x0000001000000000UL
 208#define UVYH_EVENT_OCCURRED0_RT1_AOERR1_SHFT            37
 209#define UVYH_EVENT_OCCURRED0_RT1_AOERR1_MASK            0x0000002000000000UL
 210#define UVYH_EVENT_OCCURRED0_NI0_AOERR1_SHFT            38
 211#define UVYH_EVENT_OCCURRED0_NI0_AOERR1_MASK            0x0000004000000000UL
 212#define UVYH_EVENT_OCCURRED0_NI1_AOERR1_SHFT            39
 213#define UVYH_EVENT_OCCURRED0_NI1_AOERR1_MASK            0x0000008000000000UL
 214#define UVYH_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT   40
 215#define UVYH_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK   0x0000010000000000UL
 216#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT          41
 217#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK          0x0000020000000000UL
 218#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT          42
 219#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK          0x0000040000000000UL
 220#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT          43
 221#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK          0x0000080000000000UL
 222#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT          44
 223#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK          0x0000100000000000UL
 224#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT          45
 225#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK          0x0000200000000000UL
 226#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT          46
 227#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK          0x0000400000000000UL
 228#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT          47
 229#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK          0x0000800000000000UL
 230#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT          48
 231#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK          0x0001000000000000UL
 232#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT          49
 233#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK          0x0002000000000000UL
 234#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT          50
 235#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK          0x0004000000000000UL
 236#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT         51
 237#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK         0x0008000000000000UL
 238#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT         52
 239#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK         0x0010000000000000UL
 240#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT         53
 241#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK         0x0020000000000000UL
 242#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT         54
 243#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK         0x0040000000000000UL
 244#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT         55
 245#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK         0x0080000000000000UL
 246#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT         56
 247#define UVYH_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK         0x0100000000000000UL
 248#define UVYH_EVENT_OCCURRED0_L1_NMI_INT_SHFT            57
 249#define UVYH_EVENT_OCCURRED0_L1_NMI_INT_MASK            0x0200000000000000UL
 250#define UVYH_EVENT_OCCURRED0_STOP_CLOCK_SHFT            58
 251#define UVYH_EVENT_OCCURRED0_STOP_CLOCK_MASK            0x0400000000000000UL
 252#define UVYH_EVENT_OCCURRED0_ASIC_TO_L1_SHFT            59
 253#define UVYH_EVENT_OCCURRED0_ASIC_TO_L1_MASK            0x0800000000000000UL
 254#define UVYH_EVENT_OCCURRED0_L1_TO_ASIC_SHFT            60
 255#define UVYH_EVENT_OCCURRED0_L1_TO_ASIC_MASK            0x1000000000000000UL
 256#define UVYH_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT        61
 257#define UVYH_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK        0x2000000000000000UL
 258
 259/* UV4 unique defines */
 260#define UV4H_EVENT_OCCURRED0_KT_HCERR_SHFT              1
 261#define UV4H_EVENT_OCCURRED0_KT_HCERR_MASK              0x0000000000000002UL
 262#define UV4H_EVENT_OCCURRED0_KT_AOERR0_SHFT             10
 263#define UV4H_EVENT_OCCURRED0_KT_AOERR0_MASK             0x0000000000000400UL
 264#define UV4H_EVENT_OCCURRED0_RTQ0_AOERR0_SHFT           17
 265#define UV4H_EVENT_OCCURRED0_RTQ0_AOERR0_MASK           0x0000000000020000UL
 266#define UV4H_EVENT_OCCURRED0_RTQ1_AOERR0_SHFT           18
 267#define UV4H_EVENT_OCCURRED0_RTQ1_AOERR0_MASK           0x0000000000040000UL
 268#define UV4H_EVENT_OCCURRED0_RTQ2_AOERR0_SHFT           19
 269#define UV4H_EVENT_OCCURRED0_RTQ2_AOERR0_MASK           0x0000000000080000UL
 270#define UV4H_EVENT_OCCURRED0_RTQ3_AOERR0_SHFT           20
 271#define UV4H_EVENT_OCCURRED0_RTQ3_AOERR0_MASK           0x0000000000100000UL
 272#define UV4H_EVENT_OCCURRED0_NI0_AOERR0_SHFT            21
 273#define UV4H_EVENT_OCCURRED0_NI0_AOERR0_MASK            0x0000000000200000UL
 274#define UV4H_EVENT_OCCURRED0_NI1_AOERR0_SHFT            22
 275#define UV4H_EVENT_OCCURRED0_NI1_AOERR0_MASK            0x0000000000400000UL
 276#define UV4H_EVENT_OCCURRED0_LB_AOERR1_SHFT             23
 277#define UV4H_EVENT_OCCURRED0_LB_AOERR1_MASK             0x0000000000800000UL
 278#define UV4H_EVENT_OCCURRED0_KT_AOERR1_SHFT             24
 279#define UV4H_EVENT_OCCURRED0_KT_AOERR1_MASK             0x0000000001000000UL
 280#define UV4H_EVENT_OCCURRED0_RH_AOERR1_SHFT             25
 281#define UV4H_EVENT_OCCURRED0_RH_AOERR1_MASK             0x0000000002000000UL
 282#define UV4H_EVENT_OCCURRED0_LH0_AOERR1_SHFT            26
 283#define UV4H_EVENT_OCCURRED0_LH0_AOERR1_MASK            0x0000000004000000UL
 284#define UV4H_EVENT_OCCURRED0_LH1_AOERR1_SHFT            27
 285#define UV4H_EVENT_OCCURRED0_LH1_AOERR1_MASK            0x0000000008000000UL
 286#define UV4H_EVENT_OCCURRED0_GR0_AOERR1_SHFT            28
 287#define UV4H_EVENT_OCCURRED0_GR0_AOERR1_MASK            0x0000000010000000UL
 288#define UV4H_EVENT_OCCURRED0_GR1_AOERR1_SHFT            29
 289#define UV4H_EVENT_OCCURRED0_GR1_AOERR1_MASK            0x0000000020000000UL
 290#define UV4H_EVENT_OCCURRED0_XB_AOERR1_SHFT             30
 291#define UV4H_EVENT_OCCURRED0_XB_AOERR1_MASK             0x0000000040000000UL
 292#define UV4H_EVENT_OCCURRED0_RTQ0_AOERR1_SHFT           31
 293#define UV4H_EVENT_OCCURRED0_RTQ0_AOERR1_MASK           0x0000000080000000UL
 294#define UV4H_EVENT_OCCURRED0_RTQ1_AOERR1_SHFT           32
 295#define UV4H_EVENT_OCCURRED0_RTQ1_AOERR1_MASK           0x0000000100000000UL
 296#define UV4H_EVENT_OCCURRED0_RTQ2_AOERR1_SHFT           33
 297#define UV4H_EVENT_OCCURRED0_RTQ2_AOERR1_MASK           0x0000000200000000UL
 298#define UV4H_EVENT_OCCURRED0_RTQ3_AOERR1_SHFT           34
 299#define UV4H_EVENT_OCCURRED0_RTQ3_AOERR1_MASK           0x0000000400000000UL
 300#define UV4H_EVENT_OCCURRED0_NI0_AOERR1_SHFT            35
 301#define UV4H_EVENT_OCCURRED0_NI0_AOERR1_MASK            0x0000000800000000UL
 302#define UV4H_EVENT_OCCURRED0_NI1_AOERR1_SHFT            36
 303#define UV4H_EVENT_OCCURRED0_NI1_AOERR1_MASK            0x0000001000000000UL
 304#define UV4H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT   37
 305#define UV4H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK   0x0000002000000000UL
 306#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT          38
 307#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK          0x0000004000000000UL
 308#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT          39
 309#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK          0x0000008000000000UL
 310#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT          40
 311#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK          0x0000010000000000UL
 312#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT          41
 313#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK          0x0000020000000000UL
 314#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT          42
 315#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK          0x0000040000000000UL
 316#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT          43
 317#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK          0x0000080000000000UL
 318#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT          44
 319#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK          0x0000100000000000UL
 320#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT          45
 321#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK          0x0000200000000000UL
 322#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT          46
 323#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK          0x0000400000000000UL
 324#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT          47
 325#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK          0x0000800000000000UL
 326#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT         48
 327#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK         0x0001000000000000UL
 328#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT         49
 329#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK         0x0002000000000000UL
 330#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT         50
 331#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK         0x0004000000000000UL
 332#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT         51
 333#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK         0x0008000000000000UL
 334#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT         52
 335#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK         0x0010000000000000UL
 336#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT         53
 337#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK         0x0020000000000000UL
 338#define UV4H_EVENT_OCCURRED0_L1_NMI_INT_SHFT            54
 339#define UV4H_EVENT_OCCURRED0_L1_NMI_INT_MASK            0x0040000000000000UL
 340#define UV4H_EVENT_OCCURRED0_STOP_CLOCK_SHFT            55
 341#define UV4H_EVENT_OCCURRED0_STOP_CLOCK_MASK            0x0080000000000000UL
 342#define UV4H_EVENT_OCCURRED0_ASIC_TO_L1_SHFT            56
 343#define UV4H_EVENT_OCCURRED0_ASIC_TO_L1_MASK            0x0100000000000000UL
 344#define UV4H_EVENT_OCCURRED0_L1_TO_ASIC_SHFT            57
 345#define UV4H_EVENT_OCCURRED0_L1_TO_ASIC_MASK            0x0200000000000000UL
 346#define UV4H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT        58
 347#define UV4H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK        0x0400000000000000UL
 348#define UV4H_EVENT_OCCURRED0_IPI_INT_SHFT               59
 349#define UV4H_EVENT_OCCURRED0_IPI_INT_MASK               0x0800000000000000UL
 350#define UV4H_EVENT_OCCURRED0_EXTIO_INT0_SHFT            60
 351#define UV4H_EVENT_OCCURRED0_EXTIO_INT0_MASK            0x1000000000000000UL
 352#define UV4H_EVENT_OCCURRED0_EXTIO_INT1_SHFT            61
 353#define UV4H_EVENT_OCCURRED0_EXTIO_INT1_MASK            0x2000000000000000UL
 354#define UV4H_EVENT_OCCURRED0_EXTIO_INT2_SHFT            62
 355#define UV4H_EVENT_OCCURRED0_EXTIO_INT2_MASK            0x4000000000000000UL
 356#define UV4H_EVENT_OCCURRED0_EXTIO_INT3_SHFT            63
 357#define UV4H_EVENT_OCCURRED0_EXTIO_INT3_MASK            0x8000000000000000UL
 358
 359/* UV3 unique defines */
 360#define UV3H_EVENT_OCCURRED0_QP_HCERR_SHFT              1
 361#define UV3H_EVENT_OCCURRED0_QP_HCERR_MASK              0x0000000000000002UL
 362#define UV3H_EVENT_OCCURRED0_QP_AOERR0_SHFT             10
 363#define UV3H_EVENT_OCCURRED0_QP_AOERR0_MASK             0x0000000000000400UL
 364#define UV3H_EVENT_OCCURRED0_RT_AOERR0_SHFT             17
 365#define UV3H_EVENT_OCCURRED0_RT_AOERR0_MASK             0x0000000000020000UL
 366#define UV3H_EVENT_OCCURRED0_NI0_AOERR0_SHFT            18
 367#define UV3H_EVENT_OCCURRED0_NI0_AOERR0_MASK            0x0000000000040000UL
 368#define UV3H_EVENT_OCCURRED0_NI1_AOERR0_SHFT            19
 369#define UV3H_EVENT_OCCURRED0_NI1_AOERR0_MASK            0x0000000000080000UL
 370#define UV3H_EVENT_OCCURRED0_LB_AOERR1_SHFT             20
 371#define UV3H_EVENT_OCCURRED0_LB_AOERR1_MASK             0x0000000000100000UL
 372#define UV3H_EVENT_OCCURRED0_QP_AOERR1_SHFT             21
 373#define UV3H_EVENT_OCCURRED0_QP_AOERR1_MASK             0x0000000000200000UL
 374#define UV3H_EVENT_OCCURRED0_RH_AOERR1_SHFT             22
 375#define UV3H_EVENT_OCCURRED0_RH_AOERR1_MASK             0x0000000000400000UL
 376#define UV3H_EVENT_OCCURRED0_LH0_AOERR1_SHFT            23
 377#define UV3H_EVENT_OCCURRED0_LH0_AOERR1_MASK            0x0000000000800000UL
 378#define UV3H_EVENT_OCCURRED0_LH1_AOERR1_SHFT            24
 379#define UV3H_EVENT_OCCURRED0_LH1_AOERR1_MASK            0x0000000001000000UL
 380#define UV3H_EVENT_OCCURRED0_GR0_AOERR1_SHFT            25
 381#define UV3H_EVENT_OCCURRED0_GR0_AOERR1_MASK            0x0000000002000000UL
 382#define UV3H_EVENT_OCCURRED0_GR1_AOERR1_SHFT            26
 383#define UV3H_EVENT_OCCURRED0_GR1_AOERR1_MASK            0x0000000004000000UL
 384#define UV3H_EVENT_OCCURRED0_XB_AOERR1_SHFT             27
 385#define UV3H_EVENT_OCCURRED0_XB_AOERR1_MASK             0x0000000008000000UL
 386#define UV3H_EVENT_OCCURRED0_RT_AOERR1_SHFT             28
 387#define UV3H_EVENT_OCCURRED0_RT_AOERR1_MASK             0x0000000010000000UL
 388#define UV3H_EVENT_OCCURRED0_NI0_AOERR1_SHFT            29
 389#define UV3H_EVENT_OCCURRED0_NI0_AOERR1_MASK            0x0000000020000000UL
 390#define UV3H_EVENT_OCCURRED0_NI1_AOERR1_SHFT            30
 391#define UV3H_EVENT_OCCURRED0_NI1_AOERR1_MASK            0x0000000040000000UL
 392#define UV3H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT   31
 393#define UV3H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK   0x0000000080000000UL
 394#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT          32
 395#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK          0x0000000100000000UL
 396#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT          33
 397#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK          0x0000000200000000UL
 398#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT          34
 399#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK          0x0000000400000000UL
 400#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT          35
 401#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK          0x0000000800000000UL
 402#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT          36
 403#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK          0x0000001000000000UL
 404#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT          37
 405#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK          0x0000002000000000UL
 406#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT          38
 407#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK          0x0000004000000000UL
 408#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT          39
 409#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK          0x0000008000000000UL
 410#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT          40
 411#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK          0x0000010000000000UL
 412#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT          41
 413#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK          0x0000020000000000UL
 414#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT         42
 415#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK         0x0000040000000000UL
 416#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT         43
 417#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK         0x0000080000000000UL
 418#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT         44
 419#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK         0x0000100000000000UL
 420#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT         45
 421#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK         0x0000200000000000UL
 422#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT         46
 423#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK         0x0000400000000000UL
 424#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT         47
 425#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK         0x0000800000000000UL
 426#define UV3H_EVENT_OCCURRED0_L1_NMI_INT_SHFT            48
 427#define UV3H_EVENT_OCCURRED0_L1_NMI_INT_MASK            0x0001000000000000UL
 428#define UV3H_EVENT_OCCURRED0_STOP_CLOCK_SHFT            49
 429#define UV3H_EVENT_OCCURRED0_STOP_CLOCK_MASK            0x0002000000000000UL
 430#define UV3H_EVENT_OCCURRED0_ASIC_TO_L1_SHFT            50
 431#define UV3H_EVENT_OCCURRED0_ASIC_TO_L1_MASK            0x0004000000000000UL
 432#define UV3H_EVENT_OCCURRED0_L1_TO_ASIC_SHFT            51
 433#define UV3H_EVENT_OCCURRED0_L1_TO_ASIC_MASK            0x0008000000000000UL
 434#define UV3H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT        52
 435#define UV3H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK        0x0010000000000000UL
 436#define UV3H_EVENT_OCCURRED0_IPI_INT_SHFT               53
 437#define UV3H_EVENT_OCCURRED0_IPI_INT_MASK               0x0020000000000000UL
 438#define UV3H_EVENT_OCCURRED0_EXTIO_INT0_SHFT            54
 439#define UV3H_EVENT_OCCURRED0_EXTIO_INT0_MASK            0x0040000000000000UL
 440#define UV3H_EVENT_OCCURRED0_EXTIO_INT1_SHFT            55
 441#define UV3H_EVENT_OCCURRED0_EXTIO_INT1_MASK            0x0080000000000000UL
 442#define UV3H_EVENT_OCCURRED0_EXTIO_INT2_SHFT            56
 443#define UV3H_EVENT_OCCURRED0_EXTIO_INT2_MASK            0x0100000000000000UL
 444#define UV3H_EVENT_OCCURRED0_EXTIO_INT3_SHFT            57
 445#define UV3H_EVENT_OCCURRED0_EXTIO_INT3_MASK            0x0200000000000000UL
 446#define UV3H_EVENT_OCCURRED0_PROFILE_INT_SHFT           58
 447#define UV3H_EVENT_OCCURRED0_PROFILE_INT_MASK           0x0400000000000000UL
 448
 449/* UV2 unique defines */
 450#define UV2H_EVENT_OCCURRED0_QP_HCERR_SHFT              1
 451#define UV2H_EVENT_OCCURRED0_QP_HCERR_MASK              0x0000000000000002UL
 452#define UV2H_EVENT_OCCURRED0_QP_AOERR0_SHFT             10
 453#define UV2H_EVENT_OCCURRED0_QP_AOERR0_MASK             0x0000000000000400UL
 454#define UV2H_EVENT_OCCURRED0_RT_AOERR0_SHFT             17
 455#define UV2H_EVENT_OCCURRED0_RT_AOERR0_MASK             0x0000000000020000UL
 456#define UV2H_EVENT_OCCURRED0_NI0_AOERR0_SHFT            18
 457#define UV2H_EVENT_OCCURRED0_NI0_AOERR0_MASK            0x0000000000040000UL
 458#define UV2H_EVENT_OCCURRED0_NI1_AOERR0_SHFT            19
 459#define UV2H_EVENT_OCCURRED0_NI1_AOERR0_MASK            0x0000000000080000UL
 460#define UV2H_EVENT_OCCURRED0_LB_AOERR1_SHFT             20
 461#define UV2H_EVENT_OCCURRED0_LB_AOERR1_MASK             0x0000000000100000UL
 462#define UV2H_EVENT_OCCURRED0_QP_AOERR1_SHFT             21
 463#define UV2H_EVENT_OCCURRED0_QP_AOERR1_MASK             0x0000000000200000UL
 464#define UV2H_EVENT_OCCURRED0_RH_AOERR1_SHFT             22
 465#define UV2H_EVENT_OCCURRED0_RH_AOERR1_MASK             0x0000000000400000UL
 466#define UV2H_EVENT_OCCURRED0_LH0_AOERR1_SHFT            23
 467#define UV2H_EVENT_OCCURRED0_LH0_AOERR1_MASK            0x0000000000800000UL
 468#define UV2H_EVENT_OCCURRED0_LH1_AOERR1_SHFT            24
 469#define UV2H_EVENT_OCCURRED0_LH1_AOERR1_MASK            0x0000000001000000UL
 470#define UV2H_EVENT_OCCURRED0_GR0_AOERR1_SHFT            25
 471#define UV2H_EVENT_OCCURRED0_GR0_AOERR1_MASK            0x0000000002000000UL
 472#define UV2H_EVENT_OCCURRED0_GR1_AOERR1_SHFT            26
 473#define UV2H_EVENT_OCCURRED0_GR1_AOERR1_MASK            0x0000000004000000UL
 474#define UV2H_EVENT_OCCURRED0_XB_AOERR1_SHFT             27
 475#define UV2H_EVENT_OCCURRED0_XB_AOERR1_MASK             0x0000000008000000UL
 476#define UV2H_EVENT_OCCURRED0_RT_AOERR1_SHFT             28
 477#define UV2H_EVENT_OCCURRED0_RT_AOERR1_MASK             0x0000000010000000UL
 478#define UV2H_EVENT_OCCURRED0_NI0_AOERR1_SHFT            29
 479#define UV2H_EVENT_OCCURRED0_NI0_AOERR1_MASK            0x0000000020000000UL
 480#define UV2H_EVENT_OCCURRED0_NI1_AOERR1_SHFT            30
 481#define UV2H_EVENT_OCCURRED0_NI1_AOERR1_MASK            0x0000000040000000UL
 482#define UV2H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT   31
 483#define UV2H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK   0x0000000080000000UL
 484#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT          32
 485#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK          0x0000000100000000UL
 486#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT          33
 487#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK          0x0000000200000000UL
 488#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT          34
 489#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK          0x0000000400000000UL
 490#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT          35
 491#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK          0x0000000800000000UL
 492#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT          36
 493#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK          0x0000001000000000UL
 494#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT          37
 495#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK          0x0000002000000000UL
 496#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT          38
 497#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK          0x0000004000000000UL
 498#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT          39
 499#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK          0x0000008000000000UL
 500#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT          40
 501#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK          0x0000010000000000UL
 502#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT          41
 503#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK          0x0000020000000000UL
 504#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT         42
 505#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK         0x0000040000000000UL
 506#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT         43
 507#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK         0x0000080000000000UL
 508#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT         44
 509#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK         0x0000100000000000UL
 510#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT         45
 511#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK         0x0000200000000000UL
 512#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT         46
 513#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK         0x0000400000000000UL
 514#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT         47
 515#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK         0x0000800000000000UL
 516#define UV2H_EVENT_OCCURRED0_L1_NMI_INT_SHFT            48
 517#define UV2H_EVENT_OCCURRED0_L1_NMI_INT_MASK            0x0001000000000000UL
 518#define UV2H_EVENT_OCCURRED0_STOP_CLOCK_SHFT            49
 519#define UV2H_EVENT_OCCURRED0_STOP_CLOCK_MASK            0x0002000000000000UL
 520#define UV2H_EVENT_OCCURRED0_ASIC_TO_L1_SHFT            50
 521#define UV2H_EVENT_OCCURRED0_ASIC_TO_L1_MASK            0x0004000000000000UL
 522#define UV2H_EVENT_OCCURRED0_L1_TO_ASIC_SHFT            51
 523#define UV2H_EVENT_OCCURRED0_L1_TO_ASIC_MASK            0x0008000000000000UL
 524#define UV2H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT        52
 525#define UV2H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK        0x0010000000000000UL
 526#define UV2H_EVENT_OCCURRED0_IPI_INT_SHFT               53
 527#define UV2H_EVENT_OCCURRED0_IPI_INT_MASK               0x0020000000000000UL
 528#define UV2H_EVENT_OCCURRED0_EXTIO_INT0_SHFT            54
 529#define UV2H_EVENT_OCCURRED0_EXTIO_INT0_MASK            0x0040000000000000UL
 530#define UV2H_EVENT_OCCURRED0_EXTIO_INT1_SHFT            55
 531#define UV2H_EVENT_OCCURRED0_EXTIO_INT1_MASK            0x0080000000000000UL
 532#define UV2H_EVENT_OCCURRED0_EXTIO_INT2_SHFT            56
 533#define UV2H_EVENT_OCCURRED0_EXTIO_INT2_MASK            0x0100000000000000UL
 534#define UV2H_EVENT_OCCURRED0_EXTIO_INT3_SHFT            57
 535#define UV2H_EVENT_OCCURRED0_EXTIO_INT3_MASK            0x0200000000000000UL
 536#define UV2H_EVENT_OCCURRED0_PROFILE_INT_SHFT           58
 537#define UV2H_EVENT_OCCURRED0_PROFILE_INT_MASK           0x0400000000000000UL
 538
 539#define UVH_EVENT_OCCURRED0_EXTIO_INT0_MASK (                           \
 540        is_uv(UV4) ? 0x1000000000000000UL :                             \
 541        is_uv(UV3) ? 0x0040000000000000UL :                             \
 542        is_uv(UV2) ? 0x0040000000000000UL :                             \
 543        0)
 544#define UVH_EVENT_OCCURRED0_EXTIO_INT0_SHFT (                           \
 545        is_uv(UV4) ? 60 :                                               \
 546        is_uv(UV3) ? 54 :                                               \
 547        is_uv(UV2) ? 54 :                                               \
 548        -1)
 549
 550union uvh_event_occurred0_u {
 551        unsigned long   v;
 552
 553        /* UVH common struct */
 554        struct uvh_event_occurred0_s {
 555                unsigned long   lb_hcerr:1;                     /* RW */
 556                unsigned long   rsvd_1_63:63;
 557        } s;
 558
 559        /* UVXH common struct */
 560        struct uvxh_event_occurred0_s {
 561                unsigned long   lb_hcerr:1;                     /* RW */
 562                unsigned long   rsvd_1:1;
 563                unsigned long   rh_hcerr:1;                     /* RW */
 564                unsigned long   lh0_hcerr:1;                    /* RW */
 565                unsigned long   lh1_hcerr:1;                    /* RW */
 566                unsigned long   gr0_hcerr:1;                    /* RW */
 567                unsigned long   gr1_hcerr:1;                    /* RW */
 568                unsigned long   ni0_hcerr:1;                    /* RW */
 569                unsigned long   ni1_hcerr:1;                    /* RW */
 570                unsigned long   lb_aoerr0:1;                    /* RW */
 571                unsigned long   rsvd_10:1;
 572                unsigned long   rh_aoerr0:1;                    /* RW */
 573                unsigned long   lh0_aoerr0:1;                   /* RW */
 574                unsigned long   lh1_aoerr0:1;                   /* RW */
 575                unsigned long   gr0_aoerr0:1;                   /* RW */
 576                unsigned long   gr1_aoerr0:1;                   /* RW */
 577                unsigned long   xb_aoerr0:1;                    /* RW */
 578                unsigned long   rsvd_17_63:47;
 579        } sx;
 580
 581        /* UVYH common struct */
 582        struct uvyh_event_occurred0_s {
 583                unsigned long   lb_hcerr:1;                     /* RW */
 584                unsigned long   kt_hcerr:1;                     /* RW */
 585                unsigned long   rh0_hcerr:1;                    /* RW */
 586                unsigned long   rh1_hcerr:1;                    /* RW */
 587                unsigned long   lh0_hcerr:1;                    /* RW */
 588                unsigned long   lh1_hcerr:1;                    /* RW */
 589                unsigned long   lh2_hcerr:1;                    /* RW */
 590                unsigned long   lh3_hcerr:1;                    /* RW */
 591                unsigned long   xb_hcerr:1;                     /* RW */
 592                unsigned long   rdm_hcerr:1;                    /* RW */
 593                unsigned long   ni0_hcerr:1;                    /* RW */
 594                unsigned long   ni1_hcerr:1;                    /* RW */
 595                unsigned long   lb_aoerr0:1;                    /* RW */
 596                unsigned long   kt_aoerr0:1;                    /* RW */
 597                unsigned long   rh0_aoerr0:1;                   /* RW */
 598                unsigned long   rh1_aoerr0:1;                   /* RW */
 599                unsigned long   lh0_aoerr0:1;                   /* RW */
 600                unsigned long   lh1_aoerr0:1;                   /* RW */
 601                unsigned long   lh2_aoerr0:1;                   /* RW */
 602                unsigned long   lh3_aoerr0:1;                   /* RW */
 603                unsigned long   xb_aoerr0:1;                    /* RW */
 604                unsigned long   rdm_aoerr0:1;                   /* RW */
 605                unsigned long   rt0_aoerr0:1;                   /* RW */
 606                unsigned long   rt1_aoerr0:1;                   /* RW */
 607                unsigned long   ni0_aoerr0:1;                   /* RW */
 608                unsigned long   ni1_aoerr0:1;                   /* RW */
 609                unsigned long   lb_aoerr1:1;                    /* RW */
 610                unsigned long   kt_aoerr1:1;                    /* RW */
 611                unsigned long   rh0_aoerr1:1;                   /* RW */
 612                unsigned long   rh1_aoerr1:1;                   /* RW */
 613                unsigned long   lh0_aoerr1:1;                   /* RW */
 614                unsigned long   lh1_aoerr1:1;                   /* RW */
 615                unsigned long   lh2_aoerr1:1;                   /* RW */
 616                unsigned long   lh3_aoerr1:1;                   /* RW */
 617                unsigned long   xb_aoerr1:1;                    /* RW */
 618                unsigned long   rdm_aoerr1:1;                   /* RW */
 619                unsigned long   rt0_aoerr1:1;                   /* RW */
 620                unsigned long   rt1_aoerr1:1;                   /* RW */
 621                unsigned long   ni0_aoerr1:1;                   /* RW */
 622                unsigned long   ni1_aoerr1:1;                   /* RW */
 623                unsigned long   system_shutdown_int:1;          /* RW */
 624                unsigned long   lb_irq_int_0:1;                 /* RW */
 625                unsigned long   lb_irq_int_1:1;                 /* RW */
 626                unsigned long   lb_irq_int_2:1;                 /* RW */
 627                unsigned long   lb_irq_int_3:1;                 /* RW */
 628                unsigned long   lb_irq_int_4:1;                 /* RW */
 629                unsigned long   lb_irq_int_5:1;                 /* RW */
 630                unsigned long   lb_irq_int_6:1;                 /* RW */
 631                unsigned long   lb_irq_int_7:1;                 /* RW */
 632                unsigned long   lb_irq_int_8:1;                 /* RW */
 633                unsigned long   lb_irq_int_9:1;                 /* RW */
 634                unsigned long   lb_irq_int_10:1;                /* RW */
 635                unsigned long   lb_irq_int_11:1;                /* RW */
 636                unsigned long   lb_irq_int_12:1;                /* RW */
 637                unsigned long   lb_irq_int_13:1;                /* RW */
 638                unsigned long   lb_irq_int_14:1;                /* RW */
 639                unsigned long   lb_irq_int_15:1;                /* RW */
 640                unsigned long   l1_nmi_int:1;                   /* RW */
 641                unsigned long   stop_clock:1;                   /* RW */
 642                unsigned long   asic_to_l1:1;                   /* RW */
 643                unsigned long   l1_to_asic:1;                   /* RW */
 644                unsigned long   la_seq_trigger:1;               /* RW */
 645                unsigned long   rsvd_62_63:2;
 646        } sy;
 647
 648        /* UV5 unique struct */
 649        struct uv5h_event_occurred0_s {
 650                unsigned long   lb_hcerr:1;                     /* RW */
 651                unsigned long   kt_hcerr:1;                     /* RW */
 652                unsigned long   rh0_hcerr:1;                    /* RW */
 653                unsigned long   rh1_hcerr:1;                    /* RW */
 654                unsigned long   lh0_hcerr:1;                    /* RW */
 655                unsigned long   lh1_hcerr:1;                    /* RW */
 656                unsigned long   lh2_hcerr:1;                    /* RW */
 657                unsigned long   lh3_hcerr:1;                    /* RW */
 658                unsigned long   xb_hcerr:1;                     /* RW */
 659                unsigned long   rdm_hcerr:1;                    /* RW */
 660                unsigned long   ni0_hcerr:1;                    /* RW */
 661                unsigned long   ni1_hcerr:1;                    /* RW */
 662                unsigned long   lb_aoerr0:1;                    /* RW */
 663                unsigned long   kt_aoerr0:1;                    /* RW */
 664                unsigned long   rh0_aoerr0:1;                   /* RW */
 665                unsigned long   rh1_aoerr0:1;                   /* RW */
 666                unsigned long   lh0_aoerr0:1;                   /* RW */
 667                unsigned long   lh1_aoerr0:1;                   /* RW */
 668                unsigned long   lh2_aoerr0:1;                   /* RW */
 669                unsigned long   lh3_aoerr0:1;                   /* RW */
 670                unsigned long   xb_aoerr0:1;                    /* RW */
 671                unsigned long   rdm_aoerr0:1;                   /* RW */
 672                unsigned long   rt0_aoerr0:1;                   /* RW */
 673                unsigned long   rt1_aoerr0:1;                   /* RW */
 674                unsigned long   ni0_aoerr0:1;                   /* RW */
 675                unsigned long   ni1_aoerr0:1;                   /* RW */
 676                unsigned long   lb_aoerr1:1;                    /* RW */
 677                unsigned long   kt_aoerr1:1;                    /* RW */
 678                unsigned long   rh0_aoerr1:1;                   /* RW */
 679                unsigned long   rh1_aoerr1:1;                   /* RW */
 680                unsigned long   lh0_aoerr1:1;                   /* RW */
 681                unsigned long   lh1_aoerr1:1;                   /* RW */
 682                unsigned long   lh2_aoerr1:1;                   /* RW */
 683                unsigned long   lh3_aoerr1:1;                   /* RW */
 684                unsigned long   xb_aoerr1:1;                    /* RW */
 685                unsigned long   rdm_aoerr1:1;                   /* RW */
 686                unsigned long   rt0_aoerr1:1;                   /* RW */
 687                unsigned long   rt1_aoerr1:1;                   /* RW */
 688                unsigned long   ni0_aoerr1:1;                   /* RW */
 689                unsigned long   ni1_aoerr1:1;                   /* RW */
 690                unsigned long   system_shutdown_int:1;          /* RW */
 691                unsigned long   lb_irq_int_0:1;                 /* RW */
 692                unsigned long   lb_irq_int_1:1;                 /* RW */
 693                unsigned long   lb_irq_int_2:1;                 /* RW */
 694                unsigned long   lb_irq_int_3:1;                 /* RW */
 695                unsigned long   lb_irq_int_4:1;                 /* RW */
 696                unsigned long   lb_irq_int_5:1;                 /* RW */
 697                unsigned long   lb_irq_int_6:1;                 /* RW */
 698                unsigned long   lb_irq_int_7:1;                 /* RW */
 699                unsigned long   lb_irq_int_8:1;                 /* RW */
 700                unsigned long   lb_irq_int_9:1;                 /* RW */
 701                unsigned long   lb_irq_int_10:1;                /* RW */
 702                unsigned long   lb_irq_int_11:1;                /* RW */
 703                unsigned long   lb_irq_int_12:1;                /* RW */
 704                unsigned long   lb_irq_int_13:1;                /* RW */
 705                unsigned long   lb_irq_int_14:1;                /* RW */
 706                unsigned long   lb_irq_int_15:1;                /* RW */
 707                unsigned long   l1_nmi_int:1;                   /* RW */
 708                unsigned long   stop_clock:1;                   /* RW */
 709                unsigned long   asic_to_l1:1;                   /* RW */
 710                unsigned long   l1_to_asic:1;                   /* RW */
 711                unsigned long   la_seq_trigger:1;               /* RW */
 712                unsigned long   rsvd_62_63:2;
 713        } s5;
 714
 715        /* UV4 unique struct */
 716        struct uv4h_event_occurred0_s {
 717                unsigned long   lb_hcerr:1;                     /* RW */
 718                unsigned long   kt_hcerr:1;                     /* RW */
 719                unsigned long   rh_hcerr:1;                     /* RW */
 720                unsigned long   lh0_hcerr:1;                    /* RW */
 721                unsigned long   lh1_hcerr:1;                    /* RW */
 722                unsigned long   gr0_hcerr:1;                    /* RW */
 723                unsigned long   gr1_hcerr:1;                    /* RW */
 724                unsigned long   ni0_hcerr:1;                    /* RW */
 725                unsigned long   ni1_hcerr:1;                    /* RW */
 726                unsigned long   lb_aoerr0:1;                    /* RW */
 727                unsigned long   kt_aoerr0:1;                    /* RW */
 728                unsigned long   rh_aoerr0:1;                    /* RW */
 729                unsigned long   lh0_aoerr0:1;                   /* RW */
 730                unsigned long   lh1_aoerr0:1;                   /* RW */
 731                unsigned long   gr0_aoerr0:1;                   /* RW */
 732                unsigned long   gr1_aoerr0:1;                   /* RW */
 733                unsigned long   xb_aoerr0:1;                    /* RW */
 734                unsigned long   rtq0_aoerr0:1;                  /* RW */
 735                unsigned long   rtq1_aoerr0:1;                  /* RW */
 736                unsigned long   rtq2_aoerr0:1;                  /* RW */
 737                unsigned long   rtq3_aoerr0:1;                  /* RW */
 738                unsigned long   ni0_aoerr0:1;                   /* RW */
 739                unsigned long   ni1_aoerr0:1;                   /* RW */
 740                unsigned long   lb_aoerr1:1;                    /* RW */
 741                unsigned long   kt_aoerr1:1;                    /* RW */
 742                unsigned long   rh_aoerr1:1;                    /* RW */
 743                unsigned long   lh0_aoerr1:1;                   /* RW */
 744                unsigned long   lh1_aoerr1:1;                   /* RW */
 745                unsigned long   gr0_aoerr1:1;                   /* RW */
 746                unsigned long   gr1_aoerr1:1;                   /* RW */
 747                unsigned long   xb_aoerr1:1;                    /* RW */
 748                unsigned long   rtq0_aoerr1:1;                  /* RW */
 749                unsigned long   rtq1_aoerr1:1;                  /* RW */
 750                unsigned long   rtq2_aoerr1:1;                  /* RW */
 751                unsigned long   rtq3_aoerr1:1;                  /* RW */
 752                unsigned long   ni0_aoerr1:1;                   /* RW */
 753                unsigned long   ni1_aoerr1:1;                   /* RW */
 754                unsigned long   system_shutdown_int:1;          /* RW */
 755                unsigned long   lb_irq_int_0:1;                 /* RW */
 756                unsigned long   lb_irq_int_1:1;                 /* RW */
 757                unsigned long   lb_irq_int_2:1;                 /* RW */
 758                unsigned long   lb_irq_int_3:1;                 /* RW */
 759                unsigned long   lb_irq_int_4:1;                 /* RW */
 760                unsigned long   lb_irq_int_5:1;                 /* RW */
 761                unsigned long   lb_irq_int_6:1;                 /* RW */
 762                unsigned long   lb_irq_int_7:1;                 /* RW */
 763                unsigned long   lb_irq_int_8:1;                 /* RW */
 764                unsigned long   lb_irq_int_9:1;                 /* RW */
 765                unsigned long   lb_irq_int_10:1;                /* RW */
 766                unsigned long   lb_irq_int_11:1;                /* RW */
 767                unsigned long   lb_irq_int_12:1;                /* RW */
 768                unsigned long   lb_irq_int_13:1;                /* RW */
 769                unsigned long   lb_irq_int_14:1;                /* RW */
 770                unsigned long   lb_irq_int_15:1;                /* RW */
 771                unsigned long   l1_nmi_int:1;                   /* RW */
 772                unsigned long   stop_clock:1;                   /* RW */
 773                unsigned long   asic_to_l1:1;                   /* RW */
 774                unsigned long   l1_to_asic:1;                   /* RW */
 775                unsigned long   la_seq_trigger:1;               /* RW */
 776                unsigned long   ipi_int:1;                      /* RW */
 777                unsigned long   extio_int0:1;                   /* RW */
 778                unsigned long   extio_int1:1;                   /* RW */
 779                unsigned long   extio_int2:1;                   /* RW */
 780                unsigned long   extio_int3:1;                   /* RW */
 781        } s4;
 782
 783        /* UV3 unique struct */
 784        struct uv3h_event_occurred0_s {
 785                unsigned long   lb_hcerr:1;                     /* RW */
 786                unsigned long   qp_hcerr:1;                     /* RW */
 787                unsigned long   rh_hcerr:1;                     /* RW */
 788                unsigned long   lh0_hcerr:1;                    /* RW */
 789                unsigned long   lh1_hcerr:1;                    /* RW */
 790                unsigned long   gr0_hcerr:1;                    /* RW */
 791                unsigned long   gr1_hcerr:1;                    /* RW */
 792                unsigned long   ni0_hcerr:1;                    /* RW */
 793                unsigned long   ni1_hcerr:1;                    /* RW */
 794                unsigned long   lb_aoerr0:1;                    /* RW */
 795                unsigned long   qp_aoerr0:1;                    /* RW */
 796                unsigned long   rh_aoerr0:1;                    /* RW */
 797                unsigned long   lh0_aoerr0:1;                   /* RW */
 798                unsigned long   lh1_aoerr0:1;                   /* RW */
 799                unsigned long   gr0_aoerr0:1;                   /* RW */
 800                unsigned long   gr1_aoerr0:1;                   /* RW */
 801                unsigned long   xb_aoerr0:1;                    /* RW */
 802                unsigned long   rt_aoerr0:1;                    /* RW */
 803                unsigned long   ni0_aoerr0:1;                   /* RW */
 804                unsigned long   ni1_aoerr0:1;                   /* RW */
 805                unsigned long   lb_aoerr1:1;                    /* RW */
 806                unsigned long   qp_aoerr1:1;                    /* RW */
 807                unsigned long   rh_aoerr1:1;                    /* RW */
 808                unsigned long   lh0_aoerr1:1;                   /* RW */
 809                unsigned long   lh1_aoerr1:1;                   /* RW */
 810                unsigned long   gr0_aoerr1:1;                   /* RW */
 811                unsigned long   gr1_aoerr1:1;                   /* RW */
 812                unsigned long   xb_aoerr1:1;                    /* RW */
 813                unsigned long   rt_aoerr1:1;                    /* RW */
 814                unsigned long   ni0_aoerr1:1;                   /* RW */
 815                unsigned long   ni1_aoerr1:1;                   /* RW */
 816                unsigned long   system_shutdown_int:1;          /* RW */
 817                unsigned long   lb_irq_int_0:1;                 /* RW */
 818                unsigned long   lb_irq_int_1:1;                 /* RW */
 819                unsigned long   lb_irq_int_2:1;                 /* RW */
 820                unsigned long   lb_irq_int_3:1;                 /* RW */
 821                unsigned long   lb_irq_int_4:1;                 /* RW */
 822                unsigned long   lb_irq_int_5:1;                 /* RW */
 823                unsigned long   lb_irq_int_6:1;                 /* RW */
 824                unsigned long   lb_irq_int_7:1;                 /* RW */
 825                unsigned long   lb_irq_int_8:1;                 /* RW */
 826                unsigned long   lb_irq_int_9:1;                 /* RW */
 827                unsigned long   lb_irq_int_10:1;                /* RW */
 828                unsigned long   lb_irq_int_11:1;                /* RW */
 829                unsigned long   lb_irq_int_12:1;                /* RW */
 830                unsigned long   lb_irq_int_13:1;                /* RW */
 831                unsigned long   lb_irq_int_14:1;                /* RW */
 832                unsigned long   lb_irq_int_15:1;                /* RW */
 833                unsigned long   l1_nmi_int:1;                   /* RW */
 834                unsigned long   stop_clock:1;                   /* RW */
 835                unsigned long   asic_to_l1:1;                   /* RW */
 836                unsigned long   l1_to_asic:1;                   /* RW */
 837                unsigned long   la_seq_trigger:1;               /* RW */
 838                unsigned long   ipi_int:1;                      /* RW */
 839                unsigned long   extio_int0:1;                   /* RW */
 840                unsigned long   extio_int1:1;                   /* RW */
 841                unsigned long   extio_int2:1;                   /* RW */
 842                unsigned long   extio_int3:1;                   /* RW */
 843                unsigned long   profile_int:1;                  /* RW */
 844                unsigned long   rsvd_59_63:5;
 845        } s3;
 846
 847        /* UV2 unique struct */
 848        struct uv2h_event_occurred0_s {
 849                unsigned long   lb_hcerr:1;                     /* RW */
 850                unsigned long   qp_hcerr:1;                     /* RW */
 851                unsigned long   rh_hcerr:1;                     /* RW */
 852                unsigned long   lh0_hcerr:1;                    /* RW */
 853                unsigned long   lh1_hcerr:1;                    /* RW */
 854                unsigned long   gr0_hcerr:1;                    /* RW */
 855                unsigned long   gr1_hcerr:1;                    /* RW */
 856                unsigned long   ni0_hcerr:1;                    /* RW */
 857                unsigned long   ni1_hcerr:1;                    /* RW */
 858                unsigned long   lb_aoerr0:1;                    /* RW */
 859                unsigned long   qp_aoerr0:1;                    /* RW */
 860                unsigned long   rh_aoerr0:1;                    /* RW */
 861                unsigned long   lh0_aoerr0:1;                   /* RW */
 862                unsigned long   lh1_aoerr0:1;                   /* RW */
 863                unsigned long   gr0_aoerr0:1;                   /* RW */
 864                unsigned long   gr1_aoerr0:1;                   /* RW */
 865                unsigned long   xb_aoerr0:1;                    /* RW */
 866                unsigned long   rt_aoerr0:1;                    /* RW */
 867                unsigned long   ni0_aoerr0:1;                   /* RW */
 868                unsigned long   ni1_aoerr0:1;                   /* RW */
 869                unsigned long   lb_aoerr1:1;                    /* RW */
 870                unsigned long   qp_aoerr1:1;                    /* RW */
 871                unsigned long   rh_aoerr1:1;                    /* RW */
 872                unsigned long   lh0_aoerr1:1;                   /* RW */
 873                unsigned long   lh1_aoerr1:1;                   /* RW */
 874                unsigned long   gr0_aoerr1:1;                   /* RW */
 875                unsigned long   gr1_aoerr1:1;                   /* RW */
 876                unsigned long   xb_aoerr1:1;                    /* RW */
 877                unsigned long   rt_aoerr1:1;                    /* RW */
 878                unsigned long   ni0_aoerr1:1;                   /* RW */
 879                unsigned long   ni1_aoerr1:1;                   /* RW */
 880                unsigned long   system_shutdown_int:1;          /* RW */
 881                unsigned long   lb_irq_int_0:1;                 /* RW */
 882                unsigned long   lb_irq_int_1:1;                 /* RW */
 883                unsigned long   lb_irq_int_2:1;                 /* RW */
 884                unsigned long   lb_irq_int_3:1;                 /* RW */
 885                unsigned long   lb_irq_int_4:1;                 /* RW */
 886                unsigned long   lb_irq_int_5:1;                 /* RW */
 887                unsigned long   lb_irq_int_6:1;                 /* RW */
 888                unsigned long   lb_irq_int_7:1;                 /* RW */
 889                unsigned long   lb_irq_int_8:1;                 /* RW */
 890                unsigned long   lb_irq_int_9:1;                 /* RW */
 891                unsigned long   lb_irq_int_10:1;                /* RW */
 892                unsigned long   lb_irq_int_11:1;                /* RW */
 893                unsigned long   lb_irq_int_12:1;                /* RW */
 894                unsigned long   lb_irq_int_13:1;                /* RW */
 895                unsigned long   lb_irq_int_14:1;                /* RW */
 896                unsigned long   lb_irq_int_15:1;                /* RW */
 897                unsigned long   l1_nmi_int:1;                   /* RW */
 898                unsigned long   stop_clock:1;                   /* RW */
 899                unsigned long   asic_to_l1:1;                   /* RW */
 900                unsigned long   l1_to_asic:1;                   /* RW */
 901                unsigned long   la_seq_trigger:1;               /* RW */
 902                unsigned long   ipi_int:1;                      /* RW */
 903                unsigned long   extio_int0:1;                   /* RW */
 904                unsigned long   extio_int1:1;                   /* RW */
 905                unsigned long   extio_int2:1;                   /* RW */
 906                unsigned long   extio_int3:1;                   /* RW */
 907                unsigned long   profile_int:1;                  /* RW */
 908                unsigned long   rsvd_59_63:5;
 909        } s2;
 910};
 911
 912/* ========================================================================= */
 913/*                        UVH_EVENT_OCCURRED0_ALIAS                          */
 914/* ========================================================================= */
 915#define UVH_EVENT_OCCURRED0_ALIAS 0x70008UL
 916
 917
 918/* ========================================================================= */
 919/*                           UVH_EVENT_OCCURRED1                             */
 920/* ========================================================================= */
 921#define UVH_EVENT_OCCURRED1 0x70080UL
 922
 923
 924
 925/* UVYH common defines */
 926#define UVYH_EVENT_OCCURRED1_IPI_INT_SHFT               0
 927#define UVYH_EVENT_OCCURRED1_IPI_INT_MASK               0x0000000000000001UL
 928#define UVYH_EVENT_OCCURRED1_EXTIO_INT0_SHFT            1
 929#define UVYH_EVENT_OCCURRED1_EXTIO_INT0_MASK            0x0000000000000002UL
 930#define UVYH_EVENT_OCCURRED1_EXTIO_INT1_SHFT            2
 931#define UVYH_EVENT_OCCURRED1_EXTIO_INT1_MASK            0x0000000000000004UL
 932#define UVYH_EVENT_OCCURRED1_EXTIO_INT2_SHFT            3
 933#define UVYH_EVENT_OCCURRED1_EXTIO_INT2_MASK            0x0000000000000008UL
 934#define UVYH_EVENT_OCCURRED1_EXTIO_INT3_SHFT            4
 935#define UVYH_EVENT_OCCURRED1_EXTIO_INT3_MASK            0x0000000000000010UL
 936#define UVYH_EVENT_OCCURRED1_PROFILE_INT_SHFT           5
 937#define UVYH_EVENT_OCCURRED1_PROFILE_INT_MASK           0x0000000000000020UL
 938#define UVYH_EVENT_OCCURRED1_BAU_DATA_SHFT              6
 939#define UVYH_EVENT_OCCURRED1_BAU_DATA_MASK              0x0000000000000040UL
 940#define UVYH_EVENT_OCCURRED1_PROC_GENERAL_SHFT          7
 941#define UVYH_EVENT_OCCURRED1_PROC_GENERAL_MASK          0x0000000000000080UL
 942#define UVYH_EVENT_OCCURRED1_XH_TLB_INT0_SHFT           8
 943#define UVYH_EVENT_OCCURRED1_XH_TLB_INT0_MASK           0x0000000000000100UL
 944#define UVYH_EVENT_OCCURRED1_XH_TLB_INT1_SHFT           9
 945#define UVYH_EVENT_OCCURRED1_XH_TLB_INT1_MASK           0x0000000000000200UL
 946#define UVYH_EVENT_OCCURRED1_XH_TLB_INT2_SHFT           10
 947#define UVYH_EVENT_OCCURRED1_XH_TLB_INT2_MASK           0x0000000000000400UL
 948#define UVYH_EVENT_OCCURRED1_XH_TLB_INT3_SHFT           11
 949#define UVYH_EVENT_OCCURRED1_XH_TLB_INT3_MASK           0x0000000000000800UL
 950#define UVYH_EVENT_OCCURRED1_XH_TLB_INT4_SHFT           12
 951#define UVYH_EVENT_OCCURRED1_XH_TLB_INT4_MASK           0x0000000000001000UL
 952#define UVYH_EVENT_OCCURRED1_XH_TLB_INT5_SHFT           13
 953#define UVYH_EVENT_OCCURRED1_XH_TLB_INT5_MASK           0x0000000000002000UL
 954#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT0_SHFT          14
 955#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT0_MASK          0x0000000000004000UL
 956#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT1_SHFT          15
 957#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT1_MASK          0x0000000000008000UL
 958#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT2_SHFT          16
 959#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT2_MASK          0x0000000000010000UL
 960#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT3_SHFT          17
 961#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT3_MASK          0x0000000000020000UL
 962#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT4_SHFT          18
 963#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT4_MASK          0x0000000000040000UL
 964#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT5_SHFT          19
 965#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT5_MASK          0x0000000000080000UL
 966#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT6_SHFT          20
 967#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT6_MASK          0x0000000000100000UL
 968#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT7_SHFT          21
 969#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT7_MASK          0x0000000000200000UL
 970#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT8_SHFT          22
 971#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT8_MASK          0x0000000000400000UL
 972#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT9_SHFT          23
 973#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT9_MASK          0x0000000000800000UL
 974#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT10_SHFT         24
 975#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT10_MASK         0x0000000001000000UL
 976#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT11_SHFT         25
 977#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT11_MASK         0x0000000002000000UL
 978#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT12_SHFT         26
 979#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT12_MASK         0x0000000004000000UL
 980#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT13_SHFT         27
 981#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT13_MASK         0x0000000008000000UL
 982#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT14_SHFT         28
 983#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT14_MASK         0x0000000010000000UL
 984#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT15_SHFT         29
 985#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT15_MASK         0x0000000020000000UL
 986#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT16_SHFT         30
 987#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT16_MASK         0x0000000040000000UL
 988#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT17_SHFT         31
 989#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT17_MASK         0x0000000080000000UL
 990#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT18_SHFT         32
 991#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT18_MASK         0x0000000100000000UL
 992#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT19_SHFT         33
 993#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT19_MASK         0x0000000200000000UL
 994#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT20_SHFT         34
 995#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT20_MASK         0x0000000400000000UL
 996#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT21_SHFT         35
 997#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT21_MASK         0x0000000800000000UL
 998#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT22_SHFT         36
 999#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT22_MASK         0x0000001000000000UL
1000#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT23_SHFT         37
1001#define UVYH_EVENT_OCCURRED1_RDM_TLB_INT23_MASK         0x0000002000000000UL
1002
1003/* UV4 unique defines */
1004#define UV4H_EVENT_OCCURRED1_PROFILE_INT_SHFT           0
1005#define UV4H_EVENT_OCCURRED1_PROFILE_INT_MASK           0x0000000000000001UL
1006#define UV4H_EVENT_OCCURRED1_BAU_DATA_SHFT              1
1007#define UV4H_EVENT_OCCURRED1_BAU_DATA_MASK              0x0000000000000002UL
1008#define UV4H_EVENT_OCCURRED1_PROC_GENERAL_SHFT          2
1009#define UV4H_EVENT_OCCURRED1_PROC_GENERAL_MASK          0x0000000000000004UL
1010#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT0_SHFT          3
1011#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT0_MASK          0x0000000000000008UL
1012#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT1_SHFT          4
1013#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT1_MASK          0x0000000000000010UL
1014#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT2_SHFT          5
1015#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT2_MASK          0x0000000000000020UL
1016#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT3_SHFT          6
1017#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT3_MASK          0x0000000000000040UL
1018#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT4_SHFT          7
1019#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT4_MASK          0x0000000000000080UL
1020#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT5_SHFT          8
1021#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT5_MASK          0x0000000000000100UL
1022#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT6_SHFT          9
1023#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT6_MASK          0x0000000000000200UL
1024#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT7_SHFT          10
1025#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT7_MASK          0x0000000000000400UL
1026#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT8_SHFT          11
1027#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT8_MASK          0x0000000000000800UL
1028#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT9_SHFT          12
1029#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT9_MASK          0x0000000000001000UL
1030#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT10_SHFT         13
1031#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT10_MASK         0x0000000000002000UL
1032#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT11_SHFT         14
1033#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT11_MASK         0x0000000000004000UL
1034#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT12_SHFT         15
1035#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT12_MASK         0x0000000000008000UL
1036#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT13_SHFT         16
1037#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT13_MASK         0x0000000000010000UL
1038#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT14_SHFT         17
1039#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT14_MASK         0x0000000000020000UL
1040#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT15_SHFT         18
1041#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT15_MASK         0x0000000000040000UL
1042#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT16_SHFT         19
1043#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT16_MASK         0x0000000000080000UL
1044#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT17_SHFT         20
1045#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT17_MASK         0x0000000000100000UL
1046#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT18_SHFT         21
1047#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT18_MASK         0x0000000000200000UL
1048#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT19_SHFT         22
1049#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT19_MASK         0x0000000000400000UL
1050#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT20_SHFT         23
1051#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT20_MASK         0x0000000000800000UL
1052#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT21_SHFT         24
1053#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT21_MASK         0x0000000001000000UL
1054#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT22_SHFT         25
1055#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT22_MASK         0x0000000002000000UL
1056#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT23_SHFT         26
1057#define UV4H_EVENT_OCCURRED1_GR0_TLB_INT23_MASK         0x0000000004000000UL
1058#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT0_SHFT          27
1059#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT0_MASK          0x0000000008000000UL
1060#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT1_SHFT          28
1061#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT1_MASK          0x0000000010000000UL
1062#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT2_SHFT          29
1063#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT2_MASK          0x0000000020000000UL
1064#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT3_SHFT          30
1065#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT3_MASK          0x0000000040000000UL
1066#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT4_SHFT          31
1067#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT4_MASK          0x0000000080000000UL
1068#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT5_SHFT          32
1069#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT5_MASK          0x0000000100000000UL
1070#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT6_SHFT          33
1071#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT6_MASK          0x0000000200000000UL
1072#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT7_SHFT          34
1073#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT7_MASK          0x0000000400000000UL
1074#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT8_SHFT          35
1075#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT8_MASK          0x0000000800000000UL
1076#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT9_SHFT          36
1077#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT9_MASK          0x0000001000000000UL
1078#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT10_SHFT         37
1079#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT10_MASK         0x0000002000000000UL
1080#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT11_SHFT         38
1081#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT11_MASK         0x0000004000000000UL
1082#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT12_SHFT         39
1083#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT12_MASK         0x0000008000000000UL
1084#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT13_SHFT         40
1085#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT13_MASK         0x0000010000000000UL
1086#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT14_SHFT         41
1087#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT14_MASK         0x0000020000000000UL
1088#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT15_SHFT         42
1089#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT15_MASK         0x0000040000000000UL
1090#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT16_SHFT         43
1091#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT16_MASK         0x0000080000000000UL
1092#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT17_SHFT         44
1093#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT17_MASK         0x0000100000000000UL
1094#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT18_SHFT         45
1095#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT18_MASK         0x0000200000000000UL
1096#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT19_SHFT         46
1097#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT19_MASK         0x0000400000000000UL
1098#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT20_SHFT         47
1099#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT20_MASK         0x0000800000000000UL
1100#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT21_SHFT         48
1101#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT21_MASK         0x0001000000000000UL
1102#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT22_SHFT         49
1103#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT22_MASK         0x0002000000000000UL
1104#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT23_SHFT         50
1105#define UV4H_EVENT_OCCURRED1_GR1_TLB_INT23_MASK         0x0004000000000000UL
1106
1107/* UV3 unique defines */
1108#define UV3H_EVENT_OCCURRED1_BAU_DATA_SHFT              0
1109#define UV3H_EVENT_OCCURRED1_BAU_DATA_MASK              0x0000000000000001UL
1110#define UV3H_EVENT_OCCURRED1_POWER_MANAGEMENT_REQ_SHFT  1
1111#define UV3H_EVENT_OCCURRED1_POWER_MANAGEMENT_REQ_MASK  0x0000000000000002UL
1112#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT0_SHFT 2
1113#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT0_MASK 0x0000000000000004UL
1114#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT1_SHFT 3
1115#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT1_MASK 0x0000000000000008UL
1116#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT2_SHFT 4
1117#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT2_MASK 0x0000000000000010UL
1118#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT3_SHFT 5
1119#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT3_MASK 0x0000000000000020UL
1120#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT4_SHFT 6
1121#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT4_MASK 0x0000000000000040UL
1122#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT5_SHFT 7
1123#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT5_MASK 0x0000000000000080UL
1124#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT6_SHFT 8
1125#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT6_MASK 0x0000000000000100UL
1126#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT7_SHFT 9
1127#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT7_MASK 0x0000000000000200UL
1128#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT8_SHFT 10
1129#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT8_MASK 0x0000000000000400UL
1130#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT9_SHFT 11
1131#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT9_MASK 0x0000000000000800UL
1132#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT10_SHFT 12
1133#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT10_MASK 0x0000000000001000UL
1134#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT11_SHFT 13
1135#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT11_MASK 0x0000000000002000UL
1136#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT12_SHFT 14
1137#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT12_MASK 0x0000000000004000UL
1138#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT13_SHFT 15
1139#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT13_MASK 0x0000000000008000UL
1140#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT14_SHFT 16
1141#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT14_MASK 0x0000000000010000UL
1142#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT15_SHFT 17
1143#define UV3H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT15_MASK 0x0000000000020000UL
1144#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT0_SHFT          18
1145#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT0_MASK          0x0000000000040000UL
1146#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT1_SHFT          19
1147#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT1_MASK          0x0000000000080000UL
1148#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT2_SHFT          20
1149#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT2_MASK          0x0000000000100000UL
1150#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT3_SHFT          21
1151#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT3_MASK          0x0000000000200000UL
1152#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT4_SHFT          22
1153#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT4_MASK          0x0000000000400000UL
1154#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT5_SHFT          23
1155#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT5_MASK          0x0000000000800000UL
1156#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT6_SHFT          24
1157#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT6_MASK          0x0000000001000000UL
1158#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT7_SHFT          25
1159#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT7_MASK          0x0000000002000000UL
1160#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT8_SHFT          26
1161#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT8_MASK          0x0000000004000000UL
1162#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT9_SHFT          27
1163#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT9_MASK          0x0000000008000000UL
1164#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT10_SHFT         28
1165#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT10_MASK         0x0000000010000000UL
1166#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT11_SHFT         29
1167#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT11_MASK         0x0000000020000000UL
1168#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT12_SHFT         30
1169#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT12_MASK         0x0000000040000000UL
1170#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT13_SHFT         31
1171#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT13_MASK         0x0000000080000000UL
1172#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT14_SHFT         32
1173#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT14_MASK         0x0000000100000000UL
1174#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT15_SHFT         33
1175#define UV3H_EVENT_OCCURRED1_GR0_TLB_INT15_MASK         0x0000000200000000UL
1176#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT0_SHFT          34
1177#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT0_MASK          0x0000000400000000UL
1178#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT1_SHFT          35
1179#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT1_MASK          0x0000000800000000UL
1180#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT2_SHFT          36
1181#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT2_MASK          0x0000001000000000UL
1182#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT3_SHFT          37
1183#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT3_MASK          0x0000002000000000UL
1184#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT4_SHFT          38
1185#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT4_MASK          0x0000004000000000UL
1186#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT5_SHFT          39
1187#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT5_MASK          0x0000008000000000UL
1188#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT6_SHFT          40
1189#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT6_MASK          0x0000010000000000UL
1190#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT7_SHFT          41
1191#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT7_MASK          0x0000020000000000UL
1192#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT8_SHFT          42
1193#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT8_MASK          0x0000040000000000UL
1194#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT9_SHFT          43
1195#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT9_MASK          0x0000080000000000UL
1196#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT10_SHFT         44
1197#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT10_MASK         0x0000100000000000UL
1198#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT11_SHFT         45
1199#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT11_MASK         0x0000200000000000UL
1200#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT12_SHFT         46
1201#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT12_MASK         0x0000400000000000UL
1202#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT13_SHFT         47
1203#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT13_MASK         0x0000800000000000UL
1204#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT14_SHFT         48
1205#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT14_MASK         0x0001000000000000UL
1206#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT15_SHFT         49
1207#define UV3H_EVENT_OCCURRED1_GR1_TLB_INT15_MASK         0x0002000000000000UL
1208#define UV3H_EVENT_OCCURRED1_RTC_INTERVAL_INT_SHFT      50
1209#define UV3H_EVENT_OCCURRED1_RTC_INTERVAL_INT_MASK      0x0004000000000000UL
1210#define UV3H_EVENT_OCCURRED1_BAU_DASHBOARD_INT_SHFT     51
1211#define UV3H_EVENT_OCCURRED1_BAU_DASHBOARD_INT_MASK     0x0008000000000000UL
1212
1213/* UV2 unique defines */
1214#define UV2H_EVENT_OCCURRED1_BAU_DATA_SHFT              0
1215#define UV2H_EVENT_OCCURRED1_BAU_DATA_MASK              0x0000000000000001UL
1216#define UV2H_EVENT_OCCURRED1_POWER_MANAGEMENT_REQ_SHFT  1
1217#define UV2H_EVENT_OCCURRED1_POWER_MANAGEMENT_REQ_MASK  0x0000000000000002UL
1218#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT0_SHFT 2
1219#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT0_MASK 0x0000000000000004UL
1220#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT1_SHFT 3
1221#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT1_MASK 0x0000000000000008UL
1222#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT2_SHFT 4
1223#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT2_MASK 0x0000000000000010UL
1224#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT3_SHFT 5
1225#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT3_MASK 0x0000000000000020UL
1226#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT4_SHFT 6
1227#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT4_MASK 0x0000000000000040UL
1228#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT5_SHFT 7
1229#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT5_MASK 0x0000000000000080UL
1230#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT6_SHFT 8
1231#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT6_MASK 0x0000000000000100UL
1232#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT7_SHFT 9
1233#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT7_MASK 0x0000000000000200UL
1234#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT8_SHFT 10
1235#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT8_MASK 0x0000000000000400UL
1236#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT9_SHFT 11
1237#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT9_MASK 0x0000000000000800UL
1238#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT10_SHFT 12
1239#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT10_MASK 0x0000000000001000UL
1240#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT11_SHFT 13
1241#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT11_MASK 0x0000000000002000UL
1242#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT12_SHFT 14
1243#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT12_MASK 0x0000000000004000UL
1244#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT13_SHFT 15
1245#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT13_MASK 0x0000000000008000UL
1246#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT14_SHFT 16
1247#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT14_MASK 0x0000000000010000UL
1248#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT15_SHFT 17
1249#define UV2H_EVENT_OCCURRED1_MESSAGE_ACCELERATOR_INT15_MASK 0x0000000000020000UL
1250#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT0_SHFT          18
1251#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT0_MASK          0x0000000000040000UL
1252#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT1_SHFT          19
1253#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT1_MASK          0x0000000000080000UL
1254#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT2_SHFT          20
1255#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT2_MASK          0x0000000000100000UL
1256#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT3_SHFT          21
1257#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT3_MASK          0x0000000000200000UL
1258#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT4_SHFT          22
1259#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT4_MASK          0x0000000000400000UL
1260#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT5_SHFT          23
1261#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT5_MASK          0x0000000000800000UL
1262#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT6_SHFT          24
1263#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT6_MASK          0x0000000001000000UL
1264#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT7_SHFT          25
1265#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT7_MASK          0x0000000002000000UL
1266#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT8_SHFT          26
1267#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT8_MASK          0x0000000004000000UL
1268#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT9_SHFT          27
1269#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT9_MASK          0x0000000008000000UL
1270#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT10_SHFT         28
1271#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT10_MASK         0x0000000010000000UL
1272#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT11_SHFT         29
1273#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT11_MASK         0x0000000020000000UL
1274#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT12_SHFT         30
1275#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT12_MASK         0x0000000040000000UL
1276#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT13_SHFT         31
1277#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT13_MASK         0x0000000080000000UL
1278#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT14_SHFT         32
1279#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT14_MASK         0x0000000100000000UL
1280#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT15_SHFT         33
1281#define UV2H_EVENT_OCCURRED1_GR0_TLB_INT15_MASK         0x0000000200000000UL
1282#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT0_SHFT          34
1283#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT0_MASK          0x0000000400000000UL
1284#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT1_SHFT          35
1285#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT1_MASK          0x0000000800000000UL
1286#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT2_SHFT          36
1287#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT2_MASK          0x0000001000000000UL
1288#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT3_SHFT          37
1289#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT3_MASK          0x0000002000000000UL
1290#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT4_SHFT          38
1291#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT4_MASK          0x0000004000000000UL
1292#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT5_SHFT          39
1293#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT5_MASK          0x0000008000000000UL
1294#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT6_SHFT          40
1295#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT6_MASK          0x0000010000000000UL
1296#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT7_SHFT          41
1297#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT7_MASK          0x0000020000000000UL
1298#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT8_SHFT          42
1299#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT8_MASK          0x0000040000000000UL
1300#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT9_SHFT          43
1301#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT9_MASK          0x0000080000000000UL
1302#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT10_SHFT         44
1303#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT10_MASK         0x0000100000000000UL
1304#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT11_SHFT         45
1305#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT11_MASK         0x0000200000000000UL
1306#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT12_SHFT         46
1307#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT12_MASK         0x0000400000000000UL
1308#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT13_SHFT         47
1309#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT13_MASK         0x0000800000000000UL
1310#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT14_SHFT         48
1311#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT14_MASK         0x0001000000000000UL
1312#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT15_SHFT         49
1313#define UV2H_EVENT_OCCURRED1_GR1_TLB_INT15_MASK         0x0002000000000000UL
1314#define UV2H_EVENT_OCCURRED1_RTC_INTERVAL_INT_SHFT      50
1315#define UV2H_EVENT_OCCURRED1_RTC_INTERVAL_INT_MASK      0x0004000000000000UL
1316#define UV2H_EVENT_OCCURRED1_BAU_DASHBOARD_INT_SHFT     51
1317#define UV2H_EVENT_OCCURRED1_BAU_DASHBOARD_INT_MASK     0x0008000000000000UL
1318
1319#define UVH_EVENT_OCCURRED1_EXTIO_INT0_MASK (                           \
1320        is_uv(UV5) ? 0x0000000000000002UL :                             \
1321        0)
1322#define UVH_EVENT_OCCURRED1_EXTIO_INT0_SHFT (                           \
1323        is_uv(UV5) ? 1 :                                                \
1324        -1)
1325
1326union uvyh_event_occurred1_u {
1327        unsigned long   v;
1328
1329        /* UVYH common struct */
1330        struct uvyh_event_occurred1_s {
1331                unsigned long   ipi_int:1;                      /* RW */
1332                unsigned long   extio_int0:1;                   /* RW */
1333                unsigned long   extio_int1:1;                   /* RW */
1334                unsigned long   extio_int2:1;                   /* RW */
1335                unsigned long   extio_int3:1;                   /* RW */
1336                unsigned long   profile_int:1;                  /* RW */
1337                unsigned long   bau_data:1;                     /* RW */
1338                unsigned long   proc_general:1;                 /* RW */
1339                unsigned long   xh_tlb_int0:1;                  /* RW */
1340                unsigned long   xh_tlb_int1:1;                  /* RW */
1341                unsigned long   xh_tlb_int2:1;                  /* RW */
1342                unsigned long   xh_tlb_int3:1;                  /* RW */
1343                unsigned long   xh_tlb_int4:1;                  /* RW */
1344                unsigned long   xh_tlb_int5:1;                  /* RW */
1345                unsigned long   rdm_tlb_int0:1;                 /* RW */
1346                unsigned long   rdm_tlb_int1:1;                 /* RW */
1347                unsigned long   rdm_tlb_int2:1;                 /* RW */
1348                unsigned long   rdm_tlb_int3:1;                 /* RW */
1349                unsigned long   rdm_tlb_int4:1;                 /* RW */
1350                unsigned long   rdm_tlb_int5:1;                 /* RW */
1351                unsigned long   rdm_tlb_int6:1;                 /* RW */
1352                unsigned long   rdm_tlb_int7:1;                 /* RW */
1353                unsigned long   rdm_tlb_int8:1;                 /* RW */
1354                unsigned long   rdm_tlb_int9:1;                 /* RW */
1355                unsigned long   rdm_tlb_int10:1;                /* RW */
1356                unsigned long   rdm_tlb_int11:1;                /* RW */
1357                unsigned long   rdm_tlb_int12:1;                /* RW */
1358                unsigned long   rdm_tlb_int13:1;                /* RW */
1359                unsigned long   rdm_tlb_int14:1;                /* RW */
1360                unsigned long   rdm_tlb_int15:1;                /* RW */
1361                unsigned long   rdm_tlb_int16:1;                /* RW */
1362                unsigned long   rdm_tlb_int17:1;                /* RW */
1363                unsigned long   rdm_tlb_int18:1;                /* RW */
1364                unsigned long   rdm_tlb_int19:1;                /* RW */
1365                unsigned long   rdm_tlb_int20:1;                /* RW */
1366                unsigned long   rdm_tlb_int21:1;                /* RW */
1367                unsigned long   rdm_tlb_int22:1;                /* RW */
1368                unsigned long   rdm_tlb_int23:1;                /* RW */
1369                unsigned long   rsvd_38_63:26;
1370        } sy;
1371
1372        /* UV5 unique struct */
1373        struct uv5h_event_occurred1_s {
1374                unsigned long   ipi_int:1;                      /* RW */
1375                unsigned long   extio_int0:1;                   /* RW */
1376                unsigned long   extio_int1:1;                   /* RW */
1377                unsigned long   extio_int2:1;                   /* RW */
1378                unsigned long   extio_int3:1;                   /* RW */
1379                unsigned long   profile_int:1;                  /* RW */
1380                unsigned long   bau_data:1;                     /* RW */
1381                unsigned long   proc_general:1;                 /* RW */
1382                unsigned long   xh_tlb_int0:1;                  /* RW */
1383                unsigned long   xh_tlb_int1:1;                  /* RW */
1384                unsigned long   xh_tlb_int2:1;                  /* RW */
1385                unsigned long   xh_tlb_int3:1;                  /* RW */
1386                unsigned long   xh_tlb_int4:1;                  /* RW */
1387                unsigned long   xh_tlb_int5:1;                  /* RW */
1388                unsigned long   rdm_tlb_int0:1;                 /* RW */
1389                unsigned long   rdm_tlb_int1:1;                 /* RW */
1390                unsigned long   rdm_tlb_int2:1;                 /* RW */
1391                unsigned long   rdm_tlb_int3:1;                 /* RW */
1392                unsigned long   rdm_tlb_int4:1;                 /* RW */
1393                unsigned long   rdm_tlb_int5:1;                 /* RW */
1394                unsigned long   rdm_tlb_int6:1;                 /* RW */
1395                unsigned long   rdm_tlb_int7:1;                 /* RW */
1396                unsigned long   rdm_tlb_int8:1;                 /* RW */
1397                unsigned long   rdm_tlb_int9:1;                 /* RW */
1398                unsigned long   rdm_tlb_int10:1;                /* RW */
1399                unsigned long   rdm_tlb_int11:1;                /* RW */
1400                unsigned long   rdm_tlb_int12:1;                /* RW */
1401                unsigned long   rdm_tlb_int13:1;                /* RW */
1402                unsigned long   rdm_tlb_int14:1;                /* RW */
1403                unsigned long   rdm_tlb_int15:1;                /* RW */
1404                unsigned long   rdm_tlb_int16:1;                /* RW */
1405                unsigned long   rdm_tlb_int17:1;                /* RW */
1406                unsigned long   rdm_tlb_int18:1;                /* RW */
1407                unsigned long   rdm_tlb_int19:1;                /* RW */
1408                unsigned long   rdm_tlb_int20:1;                /* RW */
1409                unsigned long   rdm_tlb_int21:1;                /* RW */
1410                unsigned long   rdm_tlb_int22:1;                /* RW */
1411                unsigned long   rdm_tlb_int23:1;                /* RW */
1412                unsigned long   rsvd_38_63:26;
1413        } s5;
1414
1415        /* UV4 unique struct */
1416        struct uv4h_event_occurred1_s {
1417                unsigned long   profile_int:1;                  /* RW */
1418                unsigned long   bau_data:1;                     /* RW */
1419                unsigned long   proc_general:1;                 /* RW */
1420                unsigned long   gr0_tlb_int0:1;                 /* RW */
1421                unsigned long   gr0_tlb_int1:1;                 /* RW */
1422                unsigned long   gr0_tlb_int2:1;                 /* RW */
1423                unsigned long   gr0_tlb_int3:1;                 /* RW */
1424                unsigned long   gr0_tlb_int4:1;                 /* RW */
1425                unsigned long   gr0_tlb_int5:1;                 /* RW */
1426                unsigned long   gr0_tlb_int6:1;                 /* RW */
1427                unsigned long   gr0_tlb_int7:1;                 /* RW */
1428                unsigned long   gr0_tlb_int8:1;                 /* RW */
1429                unsigned long   gr0_tlb_int9:1;                 /* RW */
1430                unsigned long   gr0_tlb_int10:1;                /* RW */
1431                unsigned long   gr0_tlb_int11:1;                /* RW */
1432                unsigned long   gr0_tlb_int12:1;                /* RW */
1433                unsigned long   gr0_tlb_int13:1;                /* RW */
1434                unsigned long   gr0_tlb_int14:1;                /* RW */
1435                unsigned long   gr0_tlb_int15:1;                /* RW */
1436                unsigned long   gr0_tlb_int16:1;                /* RW */
1437                unsigned long   gr0_tlb_int17:1;                /* RW */
1438                unsigned long   gr0_tlb_int18:1;                /* RW */
1439                unsigned long   gr0_tlb_int19:1;                /* RW */
1440                unsigned long   gr0_tlb_int20:1;                /* RW */
1441                unsigned long   gr0_tlb_int21:1;                /* RW */
1442                unsigned long   gr0_tlb_int22:1;                /* RW */
1443                unsigned long   gr0_tlb_int23:1;                /* RW */
1444                unsigned long   gr1_tlb_int0:1;                 /* RW */
1445                unsigned long   gr1_tlb_int1:1;                 /* RW */
1446                unsigned long   gr1_tlb_int2:1;                 /* RW */
1447                unsigned long   gr1_tlb_int3:1;                 /* RW */
1448                unsigned long   gr1_tlb_int4:1;                 /* RW */
1449                unsigned long   gr1_tlb_int5:1;                 /* RW */
1450                unsigned long   gr1_tlb_int6:1;                 /* RW */
1451                unsigned long   gr1_tlb_int7:1;                 /* RW */
1452                unsigned long   gr1_tlb_int8:1;                 /* RW */
1453                unsigned long   gr1_tlb_int9:1;                 /* RW */
1454                unsigned long   gr1_tlb_int10:1;                /* RW */
1455                unsigned long   gr1_tlb_int11:1;                /* RW */
1456                unsigned long   gr1_tlb_int12:1;                /* RW */
1457                unsigned long   gr1_tlb_int13:1;                /* RW */
1458                unsigned long   gr1_tlb_int14:1;                /* RW */
1459                unsigned long   gr1_tlb_int15:1;                /* RW */
1460                unsigned long   gr1_tlb_int16:1;                /* RW */
1461                unsigned long   gr1_tlb_int17:1;                /* RW */
1462                unsigned long   gr1_tlb_int18:1;                /* RW */
1463                unsigned long   gr1_tlb_int19:1;                /* RW */
1464                unsigned long   gr1_tlb_int20:1;                /* RW */
1465                unsigned long   gr1_tlb_int21:1;                /* RW */
1466                unsigned long   gr1_tlb_int22:1;                /* RW */
1467                unsigned long   gr1_tlb_int23:1;                /* RW */
1468                unsigned long   rsvd_51_63:13;
1469        } s4;
1470
1471        /* UV3 unique struct */
1472        struct uv3h_event_occurred1_s {
1473                unsigned long   bau_data:1;                     /* RW */
1474                unsigned long   power_management_req:1;         /* RW */
1475                unsigned long   message_accelerator_int0:1;     /* RW */
1476                unsigned long   message_accelerator_int1:1;     /* RW */
1477                unsigned long   message_accelerator_int2:1;     /* RW */
1478                unsigned long   message_accelerator_int3:1;     /* RW */
1479                unsigned long   message_accelerator_int4:1;     /* RW */
1480                unsigned long   message_accelerator_int5:1;     /* RW */
1481                unsigned long   message_accelerator_int6:1;     /* RW */
1482                unsigned long   message_accelerator_int7:1;     /* RW */
1483                unsigned long   message_accelerator_int8:1;     /* RW */
1484                unsigned long   message_accelerator_int9:1;     /* RW */
1485                unsigned long   message_accelerator_int10:1;    /* RW */
1486                unsigned long   message_accelerator_int11:1;    /* RW */
1487                unsigned long   message_accelerator_int12:1;    /* RW */
1488                unsigned long   message_accelerator_int13:1;    /* RW */
1489                unsigned long   message_accelerator_int14:1;    /* RW */
1490                unsigned long   message_accelerator_int15:1;    /* RW */
1491                unsigned long   gr0_tlb_int0:1;                 /* RW */
1492                unsigned long   gr0_tlb_int1:1;                 /* RW */
1493                unsigned long   gr0_tlb_int2:1;                 /* RW */
1494                unsigned long   gr0_tlb_int3:1;                 /* RW */
1495                unsigned long   gr0_tlb_int4:1;                 /* RW */
1496                unsigned long   gr0_tlb_int5:1;                 /* RW */
1497                unsigned long   gr0_tlb_int6:1;                 /* RW */
1498                unsigned long   gr0_tlb_int7:1;                 /* RW */
1499                unsigned long   gr0_tlb_int8:1;                 /* RW */
1500                unsigned long   gr0_tlb_int9:1;                 /* RW */
1501                unsigned long   gr0_tlb_int10:1;                /* RW */
1502                unsigned long   gr0_tlb_int11:1;                /* RW */
1503                unsigned long   gr0_tlb_int12:1;                /* RW */
1504                unsigned long   gr0_tlb_int13:1;                /* RW */
1505                unsigned long   gr0_tlb_int14:1;                /* RW */
1506                unsigned long   gr0_tlb_int15:1;                /* RW */
1507                unsigned long   gr1_tlb_int0:1;                 /* RW */
1508                unsigned long   gr1_tlb_int1:1;                 /* RW */
1509                unsigned long   gr1_tlb_int2:1;                 /* RW */
1510                unsigned long   gr1_tlb_int3:1;                 /* RW */
1511                unsigned long   gr1_tlb_int4:1;                 /* RW */
1512                unsigned long   gr1_tlb_int5:1;                 /* RW */
1513                unsigned long   gr1_tlb_int6:1;                 /* RW */
1514                unsigned long   gr1_tlb_int7:1;                 /* RW */
1515                unsigned long   gr1_tlb_int8:1;                 /* RW */
1516                unsigned long   gr1_tlb_int9:1;                 /* RW */
1517                unsigned long   gr1_tlb_int10:1;                /* RW */
1518                unsigned long   gr1_tlb_int11:1;                /* RW */
1519                unsigned long   gr1_tlb_int12:1;                /* RW */
1520                unsigned long   gr1_tlb_int13:1;                /* RW */
1521                unsigned long   gr1_tlb_int14:1;                /* RW */
1522                unsigned long   gr1_tlb_int15:1;                /* RW */
1523                unsigned long   rtc_interval_int:1;             /* RW */
1524                unsigned long   bau_dashboard_int:1;            /* RW */
1525                unsigned long   rsvd_52_63:12;
1526        } s3;
1527
1528        /* UV2 unique struct */
1529        struct uv2h_event_occurred1_s {
1530                unsigned long   bau_data:1;                     /* RW */
1531                unsigned long   power_management_req:1;         /* RW */
1532                unsigned long   message_accelerator_int0:1;     /* RW */
1533                unsigned long   message_accelerator_int1:1;     /* RW */
1534                unsigned long   message_accelerator_int2:1;     /* RW */
1535                unsigned long   message_accelerator_int3:1;     /* RW */
1536                unsigned long   message_accelerator_int4:1;     /* RW */
1537                unsigned long   message_accelerator_int5:1;     /* RW */
1538                unsigned long   message_accelerator_int6:1;     /* RW */
1539                unsigned long   message_accelerator_int7:1;     /* RW */
1540                unsigned long   message_accelerator_int8:1;     /* RW */
1541                unsigned long   message_accelerator_int9:1;     /* RW */
1542                unsigned long   message_accelerator_int10:1;    /* RW */
1543                unsigned long   message_accelerator_int11:1;    /* RW */
1544                unsigned long   message_accelerator_int12:1;    /* RW */
1545                unsigned long   message_accelerator_int13:1;    /* RW */
1546                unsigned long   message_accelerator_int14:1;    /* RW */
1547                unsigned long   message_accelerator_int15:1;    /* RW */
1548                unsigned long   gr0_tlb_int0:1;                 /* RW */
1549                unsigned long   gr0_tlb_int1:1;                 /* RW */
1550                unsigned long   gr0_tlb_int2:1;                 /* RW */
1551                unsigned long   gr0_tlb_int3:1;                 /* RW */
1552                unsigned long   gr0_tlb_int4:1;                 /* RW */
1553                unsigned long   gr0_tlb_int5:1;                 /* RW */
1554                unsigned long   gr0_tlb_int6:1;                 /* RW */
1555                unsigned long   gr0_tlb_int7:1;                 /* RW */
1556                unsigned long   gr0_tlb_int8:1;                 /* RW */
1557                unsigned long   gr0_tlb_int9:1;                 /* RW */
1558                unsigned long   gr0_tlb_int10:1;                /* RW */
1559                unsigned long   gr0_tlb_int11:1;                /* RW */
1560                unsigned long   gr0_tlb_int12:1;                /* RW */
1561                unsigned long   gr0_tlb_int13:1;                /* RW */
1562                unsigned long   gr0_tlb_int14:1;                /* RW */
1563                unsigned long   gr0_tlb_int15:1;                /* RW */
1564                unsigned long   gr1_tlb_int0:1;                 /* RW */
1565                unsigned long   gr1_tlb_int1:1;                 /* RW */
1566                unsigned long   gr1_tlb_int2:1;                 /* RW */
1567                unsigned long   gr1_tlb_int3:1;                 /* RW */
1568                unsigned long   gr1_tlb_int4:1;                 /* RW */
1569                unsigned long   gr1_tlb_int5:1;                 /* RW */
1570                unsigned long   gr1_tlb_int6:1;                 /* RW */
1571                unsigned long   gr1_tlb_int7:1;                 /* RW */
1572                unsigned long   gr1_tlb_int8:1;                 /* RW */
1573                unsigned long   gr1_tlb_int9:1;                 /* RW */
1574                unsigned long   gr1_tlb_int10:1;                /* RW */
1575                unsigned long   gr1_tlb_int11:1;                /* RW */
1576                unsigned long   gr1_tlb_int12:1;                /* RW */
1577                unsigned long   gr1_tlb_int13:1;                /* RW */
1578                unsigned long   gr1_tlb_int14:1;                /* RW */
1579                unsigned long   gr1_tlb_int15:1;                /* RW */
1580                unsigned long   rtc_interval_int:1;             /* RW */
1581                unsigned long   bau_dashboard_int:1;            /* RW */
1582                unsigned long   rsvd_52_63:12;
1583        } s2;
1584};
1585
1586/* ========================================================================= */
1587/*                        UVH_EVENT_OCCURRED1_ALIAS                          */
1588/* ========================================================================= */
1589#define UVH_EVENT_OCCURRED1_ALIAS 0x70088UL
1590
1591
1592/* ========================================================================= */
1593/*                           UVH_EVENT_OCCURRED2                             */
1594/* ========================================================================= */
1595#define UVH_EVENT_OCCURRED2 0x70100UL
1596
1597
1598
1599/* UVYH common defines */
1600#define UVYH_EVENT_OCCURRED2_RTC_INTERVAL_INT_SHFT      0
1601#define UVYH_EVENT_OCCURRED2_RTC_INTERVAL_INT_MASK      0x0000000000000001UL
1602#define UVYH_EVENT_OCCURRED2_BAU_DASHBOARD_INT_SHFT     1
1603#define UVYH_EVENT_OCCURRED2_BAU_DASHBOARD_INT_MASK     0x0000000000000002UL
1604#define UVYH_EVENT_OCCURRED2_RTC_0_SHFT                 2
1605#define UVYH_EVENT_OCCURRED2_RTC_0_MASK                 0x0000000000000004UL
1606#define UVYH_EVENT_OCCURRED2_RTC_1_SHFT                 3
1607#define UVYH_EVENT_OCCURRED2_RTC_1_MASK                 0x0000000000000008UL
1608#define UVYH_EVENT_OCCURRED2_RTC_2_SHFT                 4
1609#define UVYH_EVENT_OCCURRED2_RTC_2_MASK                 0x0000000000000010UL
1610#define UVYH_EVENT_OCCURRED2_RTC_3_SHFT                 5
1611#define UVYH_EVENT_OCCURRED2_RTC_3_MASK                 0x0000000000000020UL
1612#define UVYH_EVENT_OCCURRED2_RTC_4_SHFT                 6
1613#define UVYH_EVENT_OCCURRED2_RTC_4_MASK                 0x0000000000000040UL
1614#define UVYH_EVENT_OCCURRED2_RTC_5_SHFT                 7
1615#define UVYH_EVENT_OCCURRED2_RTC_5_MASK                 0x0000000000000080UL
1616#define UVYH_EVENT_OCCURRED2_RTC_6_SHFT                 8
1617#define UVYH_EVENT_OCCURRED2_RTC_6_MASK                 0x0000000000000100UL
1618#define UVYH_EVENT_OCCURRED2_RTC_7_SHFT                 9
1619#define UVYH_EVENT_OCCURRED2_RTC_7_MASK                 0x0000000000000200UL
1620#define UVYH_EVENT_OCCURRED2_RTC_8_SHFT                 10
1621#define UVYH_EVENT_OCCURRED2_RTC_8_MASK                 0x0000000000000400UL
1622#define UVYH_EVENT_OCCURRED2_RTC_9_SHFT                 11
1623#define UVYH_EVENT_OCCURRED2_RTC_9_MASK                 0x0000000000000800UL
1624#define UVYH_EVENT_OCCURRED2_RTC_10_SHFT                12
1625#define UVYH_EVENT_OCCURRED2_RTC_10_MASK                0x0000000000001000UL
1626#define UVYH_EVENT_OCCURRED2_RTC_11_SHFT                13
1627#define UVYH_EVENT_OCCURRED2_RTC_11_MASK                0x0000000000002000UL
1628#define UVYH_EVENT_OCCURRED2_RTC_12_SHFT                14
1629#define UVYH_EVENT_OCCURRED2_RTC_12_MASK                0x0000000000004000UL
1630#define UVYH_EVENT_OCCURRED2_RTC_13_SHFT                15
1631#define UVYH_EVENT_OCCURRED2_RTC_13_MASK                0x0000000000008000UL
1632#define UVYH_EVENT_OCCURRED2_RTC_14_SHFT                16
1633#define UVYH_EVENT_OCCURRED2_RTC_14_MASK                0x0000000000010000UL
1634#define UVYH_EVENT_OCCURRED2_RTC_15_SHFT                17
1635#define UVYH_EVENT_OCCURRED2_RTC_15_MASK                0x0000000000020000UL
1636#define UVYH_EVENT_OCCURRED2_RTC_16_SHFT                18
1637#define UVYH_EVENT_OCCURRED2_RTC_16_MASK                0x0000000000040000UL
1638#define UVYH_EVENT_OCCURRED2_RTC_17_SHFT                19
1639#define UVYH_EVENT_OCCURRED2_RTC_17_MASK                0x0000000000080000UL
1640#define UVYH_EVENT_OCCURRED2_RTC_18_SHFT                20
1641#define UVYH_EVENT_OCCURRED2_RTC_18_MASK                0x0000000000100000UL
1642#define UVYH_EVENT_OCCURRED2_RTC_19_SHFT                21
1643#define UVYH_EVENT_OCCURRED2_RTC_19_MASK                0x0000000000200000UL
1644#define UVYH_EVENT_OCCURRED2_RTC_20_SHFT                22
1645#define UVYH_EVENT_OCCURRED2_RTC_20_MASK                0x0000000000400000UL
1646#define UVYH_EVENT_OCCURRED2_RTC_21_SHFT                23
1647#define UVYH_EVENT_OCCURRED2_RTC_21_MASK                0x0000000000800000UL
1648#define UVYH_EVENT_OCCURRED2_RTC_22_SHFT                24
1649#define UVYH_EVENT_OCCURRED2_RTC_22_MASK                0x0000000001000000UL
1650#define UVYH_EVENT_OCCURRED2_RTC_23_SHFT                25
1651#define UVYH_EVENT_OCCURRED2_RTC_23_MASK                0x0000000002000000UL
1652#define UVYH_EVENT_OCCURRED2_RTC_24_SHFT                26
1653#define UVYH_EVENT_OCCURRED2_RTC_24_MASK                0x0000000004000000UL
1654#define UVYH_EVENT_OCCURRED2_RTC_25_SHFT                27
1655#define UVYH_EVENT_OCCURRED2_RTC_25_MASK                0x0000000008000000UL
1656#define UVYH_EVENT_OCCURRED2_RTC_26_SHFT                28
1657#define UVYH_EVENT_OCCURRED2_RTC_26_MASK                0x0000000010000000UL
1658#define UVYH_EVENT_OCCURRED2_RTC_27_SHFT                29
1659#define UVYH_EVENT_OCCURRED2_RTC_27_MASK                0x0000000020000000UL
1660#define UVYH_EVENT_OCCURRED2_RTC_28_SHFT                30
1661#define UVYH_EVENT_OCCURRED2_RTC_28_MASK                0x0000000040000000UL
1662#define UVYH_EVENT_OCCURRED2_RTC_29_SHFT                31
1663#define UVYH_EVENT_OCCURRED2_RTC_29_MASK                0x0000000080000000UL
1664#define UVYH_EVENT_OCCURRED2_RTC_30_SHFT                32
1665#define UVYH_EVENT_OCCURRED2_RTC_30_MASK                0x0000000100000000UL
1666#define UVYH_EVENT_OCCURRED2_RTC_31_SHFT                33
1667#define UVYH_EVENT_OCCURRED2_RTC_31_MASK                0x0000000200000000UL
1668
1669/* UV4 unique defines */
1670#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT0_SHFT 0
1671#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT0_MASK 0x0000000000000001UL
1672#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT1_SHFT 1
1673#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT1_MASK 0x0000000000000002UL
1674#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT2_SHFT 2
1675#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT2_MASK 0x0000000000000004UL
1676#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT3_SHFT 3
1677#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT3_MASK 0x0000000000000008UL
1678#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT4_SHFT 4
1679#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT4_MASK 0x0000000000000010UL
1680#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT5_SHFT 5
1681#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT5_MASK 0x0000000000000020UL
1682#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT6_SHFT 6
1683#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT6_MASK 0x0000000000000040UL
1684#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT7_SHFT 7
1685#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT7_MASK 0x0000000000000080UL
1686#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT8_SHFT 8
1687#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT8_MASK 0x0000000000000100UL
1688#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT9_SHFT 9
1689#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT9_MASK 0x0000000000000200UL
1690#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT10_SHFT 10
1691#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT10_MASK 0x0000000000000400UL
1692#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT11_SHFT 11
1693#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT11_MASK 0x0000000000000800UL
1694#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT12_SHFT 12
1695#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT12_MASK 0x0000000000001000UL
1696#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT13_SHFT 13
1697#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT13_MASK 0x0000000000002000UL
1698#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT14_SHFT 14
1699#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT14_MASK 0x0000000000004000UL
1700#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT15_SHFT 15
1701#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT15_MASK 0x0000000000008000UL
1702#define UV4H_EVENT_OCCURRED2_RTC_INTERVAL_INT_SHFT      16
1703#define UV4H_EVENT_OCCURRED2_RTC_INTERVAL_INT_MASK      0x0000000000010000UL
1704#define UV4H_EVENT_OCCURRED2_BAU_DASHBOARD_INT_SHFT     17
1705#define UV4H_EVENT_OCCURRED2_BAU_DASHBOARD_INT_MASK     0x0000000000020000UL
1706#define UV4H_EVENT_OCCURRED2_RTC_0_SHFT                 18
1707#define UV4H_EVENT_OCCURRED2_RTC_0_MASK                 0x0000000000040000UL
1708#define UV4H_EVENT_OCCURRED2_RTC_1_SHFT                 19
1709#define UV4H_EVENT_OCCURRED2_RTC_1_MASK                 0x0000000000080000UL
1710#define UV4H_EVENT_OCCURRED2_RTC_2_SHFT                 20
1711#define UV4H_EVENT_OCCURRED2_RTC_2_MASK                 0x0000000000100000UL
1712#define UV4H_EVENT_OCCURRED2_RTC_3_SHFT                 21
1713#define UV4H_EVENT_OCCURRED2_RTC_3_MASK                 0x0000000000200000UL
1714#define UV4H_EVENT_OCCURRED2_RTC_4_SHFT                 22
1715#define UV4H_EVENT_OCCURRED2_RTC_4_MASK                 0x0000000000400000UL
1716#define UV4H_EVENT_OCCURRED2_RTC_5_SHFT                 23
1717#define UV4H_EVENT_OCCURRED2_RTC_5_MASK                 0x0000000000800000UL
1718#define UV4H_EVENT_OCCURRED2_RTC_6_SHFT                 24
1719#define UV4H_EVENT_OCCURRED2_RTC_6_MASK                 0x0000000001000000UL
1720#define UV4H_EVENT_OCCURRED2_RTC_7_SHFT                 25
1721#define UV4H_EVENT_OCCURRED2_RTC_7_MASK                 0x0000000002000000UL
1722#define UV4H_EVENT_OCCURRED2_RTC_8_SHFT                 26
1723#define UV4H_EVENT_OCCURRED2_RTC_8_MASK                 0x0000000004000000UL
1724#define UV4H_EVENT_OCCURRED2_RTC_9_SHFT                 27
1725#define UV4H_EVENT_OCCURRED2_RTC_9_MASK                 0x0000000008000000UL
1726#define UV4H_EVENT_OCCURRED2_RTC_10_SHFT                28
1727#define UV4H_EVENT_OCCURRED2_RTC_10_MASK                0x0000000010000000UL
1728#define UV4H_EVENT_OCCURRED2_RTC_11_SHFT                29
1729#define UV4H_EVENT_OCCURRED2_RTC_11_MASK                0x0000000020000000UL
1730#define UV4H_EVENT_OCCURRED2_RTC_12_SHFT                30
1731#define UV4H_EVENT_OCCURRED2_RTC_12_MASK                0x0000000040000000UL
1732#define UV4H_EVENT_OCCURRED2_RTC_13_SHFT                31
1733#define UV4H_EVENT_OCCURRED2_RTC_13_MASK                0x0000000080000000UL
1734#define UV4H_EVENT_OCCURRED2_RTC_14_SHFT                32
1735#define UV4H_EVENT_OCCURRED2_RTC_14_MASK                0x0000000100000000UL
1736#define UV4H_EVENT_OCCURRED2_RTC_15_SHFT                33
1737#define UV4H_EVENT_OCCURRED2_RTC_15_MASK                0x0000000200000000UL
1738#define UV4H_EVENT_OCCURRED2_RTC_16_SHFT                34
1739#define UV4H_EVENT_OCCURRED2_RTC_16_MASK                0x0000000400000000UL
1740#define UV4H_EVENT_OCCURRED2_RTC_17_SHFT                35
1741#define UV4H_EVENT_OCCURRED2_RTC_17_MASK                0x0000000800000000UL
1742#define UV4H_EVENT_OCCURRED2_RTC_18_SHFT                36
1743#define UV4H_EVENT_OCCURRED2_RTC_18_MASK                0x0000001000000000UL
1744#define UV4H_EVENT_OCCURRED2_RTC_19_SHFT                37
1745#define UV4H_EVENT_OCCURRED2_RTC_19_MASK                0x0000002000000000UL
1746#define UV4H_EVENT_OCCURRED2_RTC_20_SHFT                38
1747#define UV4H_EVENT_OCCURRED2_RTC_20_MASK                0x0000004000000000UL
1748#define UV4H_EVENT_OCCURRED2_RTC_21_SHFT                39
1749#define UV4H_EVENT_OCCURRED2_RTC_21_MASK                0x0000008000000000UL
1750#define UV4H_EVENT_OCCURRED2_RTC_22_SHFT                40
1751#define UV4H_EVENT_OCCURRED2_RTC_22_MASK                0x0000010000000000UL
1752#define UV4H_EVENT_OCCURRED2_RTC_23_SHFT                41
1753#define UV4H_EVENT_OCCURRED2_RTC_23_MASK                0x0000020000000000UL
1754#define UV4H_EVENT_OCCURRED2_RTC_24_SHFT                42
1755#define UV4H_EVENT_OCCURRED2_RTC_24_MASK                0x0000040000000000UL
1756#define UV4H_EVENT_OCCURRED2_RTC_25_SHFT                43
1757#define UV4H_EVENT_OCCURRED2_RTC_25_MASK                0x0000080000000000UL
1758#define UV4H_EVENT_OCCURRED2_RTC_26_SHFT                44
1759#define UV4H_EVENT_OCCURRED2_RTC_26_MASK                0x0000100000000000UL
1760#define UV4H_EVENT_OCCURRED2_RTC_27_SHFT                45
1761#define UV4H_EVENT_OCCURRED2_RTC_27_MASK                0x0000200000000000UL
1762#define UV4H_EVENT_OCCURRED2_RTC_28_SHFT                46
1763#define UV4H_EVENT_OCCURRED2_RTC_28_MASK                0x0000400000000000UL
1764#define UV4H_EVENT_OCCURRED2_RTC_29_SHFT                47
1765#define UV4H_EVENT_OCCURRED2_RTC_29_MASK                0x0000800000000000UL
1766#define UV4H_EVENT_OCCURRED2_RTC_30_SHFT                48
1767#define UV4H_EVENT_OCCURRED2_RTC_30_MASK                0x0001000000000000UL
1768#define UV4H_EVENT_OCCURRED2_RTC_31_SHFT                49
1769#define UV4H_EVENT_OCCURRED2_RTC_31_MASK                0x0002000000000000UL
1770
1771/* UV3 unique defines */
1772#define UV3H_EVENT_OCCURRED2_RTC_0_SHFT                 0
1773#define UV3H_EVENT_OCCURRED2_RTC_0_MASK                 0x0000000000000001UL
1774#define UV3H_EVENT_OCCURRED2_RTC_1_SHFT                 1
1775#define UV3H_EVENT_OCCURRED2_RTC_1_MASK                 0x0000000000000002UL
1776#define UV3H_EVENT_OCCURRED2_RTC_2_SHFT                 2
1777#define UV3H_EVENT_OCCURRED2_RTC_2_MASK                 0x0000000000000004UL
1778#define UV3H_EVENT_OCCURRED2_RTC_3_SHFT                 3
1779#define UV3H_EVENT_OCCURRED2_RTC_3_MASK                 0x0000000000000008UL
1780#define UV3H_EVENT_OCCURRED2_RTC_4_SHFT                 4
1781#define UV3H_EVENT_OCCURRED2_RTC_4_MASK                 0x0000000000000010UL
1782#define UV3H_EVENT_OCCURRED2_RTC_5_SHFT                 5
1783#define UV3H_EVENT_OCCURRED2_RTC_5_MASK                 0x0000000000000020UL
1784#define UV3H_EVENT_OCCURRED2_RTC_6_SHFT                 6
1785#define UV3H_EVENT_OCCURRED2_RTC_6_MASK                 0x0000000000000040UL
1786#define UV3H_EVENT_OCCURRED2_RTC_7_SHFT                 7
1787#define UV3H_EVENT_OCCURRED2_RTC_7_MASK                 0x0000000000000080UL
1788#define UV3H_EVENT_OCCURRED2_RTC_8_SHFT                 8
1789#define UV3H_EVENT_OCCURRED2_RTC_8_MASK                 0x0000000000000100UL
1790#define UV3H_EVENT_OCCURRED2_RTC_9_SHFT                 9
1791#define UV3H_EVENT_OCCURRED2_RTC_9_MASK                 0x0000000000000200UL
1792#define UV3H_EVENT_OCCURRED2_RTC_10_SHFT                10
1793#define UV3H_EVENT_OCCURRED2_RTC_10_MASK                0x0000000000000400UL
1794#define UV3H_EVENT_OCCURRED2_RTC_11_SHFT                11
1795#define UV3H_EVENT_OCCURRED2_RTC_11_MASK                0x0000000000000800UL
1796#define UV3H_EVENT_OCCURRED2_RTC_12_SHFT                12
1797#define UV3H_EVENT_OCCURRED2_RTC_12_MASK                0x0000000000001000UL
1798#define UV3H_EVENT_OCCURRED2_RTC_13_SHFT                13
1799#define UV3H_EVENT_OCCURRED2_RTC_13_MASK                0x0000000000002000UL
1800#define UV3H_EVENT_OCCURRED2_RTC_14_SHFT                14
1801#define UV3H_EVENT_OCCURRED2_RTC_14_MASK                0x0000000000004000UL
1802#define UV3H_EVENT_OCCURRED2_RTC_15_SHFT                15
1803#define UV3H_EVENT_OCCURRED2_RTC_15_MASK                0x0000000000008000UL
1804#define UV3H_EVENT_OCCURRED2_RTC_16_SHFT                16
1805#define UV3H_EVENT_OCCURRED2_RTC_16_MASK                0x0000000000010000UL
1806#define UV3H_EVENT_OCCURRED2_RTC_17_SHFT                17
1807#define UV3H_EVENT_OCCURRED2_RTC_17_MASK                0x0000000000020000UL
1808#define UV3H_EVENT_OCCURRED2_RTC_18_SHFT                18
1809#define UV3H_EVENT_OCCURRED2_RTC_18_MASK                0x0000000000040000UL
1810#define UV3H_EVENT_OCCURRED2_RTC_19_SHFT                19
1811#define UV3H_EVENT_OCCURRED2_RTC_19_MASK                0x0000000000080000UL
1812#define UV3H_EVENT_OCCURRED2_RTC_20_SHFT                20
1813#define UV3H_EVENT_OCCURRED2_RTC_20_MASK                0x0000000000100000UL
1814#define UV3H_EVENT_OCCURRED2_RTC_21_SHFT                21
1815#define UV3H_EVENT_OCCURRED2_RTC_21_MASK                0x0000000000200000UL
1816#define UV3H_EVENT_OCCURRED2_RTC_22_SHFT                22
1817#define UV3H_EVENT_OCCURRED2_RTC_22_MASK                0x0000000000400000UL
1818#define UV3H_EVENT_OCCURRED2_RTC_23_SHFT                23
1819#define UV3H_EVENT_OCCURRED2_RTC_23_MASK                0x0000000000800000UL
1820#define UV3H_EVENT_OCCURRED2_RTC_24_SHFT                24
1821#define UV3H_EVENT_OCCURRED2_RTC_24_MASK                0x0000000001000000UL
1822#define UV3H_EVENT_OCCURRED2_RTC_25_SHFT                25
1823#define UV3H_EVENT_OCCURRED2_RTC_25_MASK                0x0000000002000000UL
1824#define UV3H_EVENT_OCCURRED2_RTC_26_SHFT                26
1825#define UV3H_EVENT_OCCURRED2_RTC_26_MASK                0x0000000004000000UL
1826#define UV3H_EVENT_OCCURRED2_RTC_27_SHFT                27
1827#define UV3H_EVENT_OCCURRED2_RTC_27_MASK                0x0000000008000000UL
1828#define UV3H_EVENT_OCCURRED2_RTC_28_SHFT                28
1829#define UV3H_EVENT_OCCURRED2_RTC_28_MASK                0x0000000010000000UL
1830#define UV3H_EVENT_OCCURRED2_RTC_29_SHFT                29
1831#define UV3H_EVENT_OCCURRED2_RTC_29_MASK                0x0000000020000000UL
1832#define UV3H_EVENT_OCCURRED2_RTC_30_SHFT                30
1833#define UV3H_EVENT_OCCURRED2_RTC_30_MASK                0x0000000040000000UL
1834#define UV3H_EVENT_OCCURRED2_RTC_31_SHFT                31
1835#define UV3H_EVENT_OCCURRED2_RTC_31_MASK                0x0000000080000000UL
1836
1837/* UV2 unique defines */
1838#define UV2H_EVENT_OCCURRED2_RTC_0_SHFT                 0
1839#define UV2H_EVENT_OCCURRED2_RTC_0_MASK                 0x0000000000000001UL
1840#define UV2H_EVENT_OCCURRED2_RTC_1_SHFT                 1
1841#define UV2H_EVENT_OCCURRED2_RTC_1_MASK                 0x0000000000000002UL
1842#define UV2H_EVENT_OCCURRED2_RTC_2_SHFT                 2
1843#define UV2H_EVENT_OCCURRED2_RTC_2_MASK                 0x0000000000000004UL
1844#define UV2H_EVENT_OCCURRED2_RTC_3_SHFT                 3
1845#define UV2H_EVENT_OCCURRED2_RTC_3_MASK                 0x0000000000000008UL
1846#define UV2H_EVENT_OCCURRED2_RTC_4_SHFT                 4
1847#define UV2H_EVENT_OCCURRED2_RTC_4_MASK                 0x0000000000000010UL
1848#define UV2H_EVENT_OCCURRED2_RTC_5_SHFT                 5
1849#define UV2H_EVENT_OCCURRED2_RTC_5_MASK                 0x0000000000000020UL
1850#define UV2H_EVENT_OCCURRED2_RTC_6_SHFT                 6
1851#define UV2H_EVENT_OCCURRED2_RTC_6_MASK                 0x0000000000000040UL
1852#define UV2H_EVENT_OCCURRED2_RTC_7_SHFT                 7
1853#define UV2H_EVENT_OCCURRED2_RTC_7_MASK                 0x0000000000000080UL
1854#define UV2H_EVENT_OCCURRED2_RTC_8_SHFT                 8
1855#define UV2H_EVENT_OCCURRED2_RTC_8_MASK                 0x0000000000000100UL
1856#define UV2H_EVENT_OCCURRED2_RTC_9_SHFT                 9
1857#define UV2H_EVENT_OCCURRED2_RTC_9_MASK                 0x0000000000000200UL
1858#define UV2H_EVENT_OCCURRED2_RTC_10_SHFT                10
1859#define UV2H_EVENT_OCCURRED2_RTC_10_MASK                0x0000000000000400UL
1860#define UV2H_EVENT_OCCURRED2_RTC_11_SHFT                11
1861#define UV2H_EVENT_OCCURRED2_RTC_11_MASK                0x0000000000000800UL
1862#define UV2H_EVENT_OCCURRED2_RTC_12_SHFT                12
1863#define UV2H_EVENT_OCCURRED2_RTC_12_MASK                0x0000000000001000UL
1864#define UV2H_EVENT_OCCURRED2_RTC_13_SHFT                13
1865#define UV2H_EVENT_OCCURRED2_RTC_13_MASK                0x0000000000002000UL
1866#define UV2H_EVENT_OCCURRED2_RTC_14_SHFT                14
1867#define UV2H_EVENT_OCCURRED2_RTC_14_MASK                0x0000000000004000UL
1868#define UV2H_EVENT_OCCURRED2_RTC_15_SHFT                15
1869#define UV2H_EVENT_OCCURRED2_RTC_15_MASK                0x0000000000008000UL
1870#define UV2H_EVENT_OCCURRED2_RTC_16_SHFT                16
1871#define UV2H_EVENT_OCCURRED2_RTC_16_MASK                0x0000000000010000UL
1872#define UV2H_EVENT_OCCURRED2_RTC_17_SHFT                17
1873#define UV2H_EVENT_OCCURRED2_RTC_17_MASK                0x0000000000020000UL
1874#define UV2H_EVENT_OCCURRED2_RTC_18_SHFT                18
1875#define UV2H_EVENT_OCCURRED2_RTC_18_MASK                0x0000000000040000UL
1876#define UV2H_EVENT_OCCURRED2_RTC_19_SHFT                19
1877#define UV2H_EVENT_OCCURRED2_RTC_19_MASK                0x0000000000080000UL
1878#define UV2H_EVENT_OCCURRED2_RTC_20_SHFT                20
1879#define UV2H_EVENT_OCCURRED2_RTC_20_MASK                0x0000000000100000UL
1880#define UV2H_EVENT_OCCURRED2_RTC_21_SHFT                21
1881#define UV2H_EVENT_OCCURRED2_RTC_21_MASK                0x0000000000200000UL
1882#define UV2H_EVENT_OCCURRED2_RTC_22_SHFT                22
1883#define UV2H_EVENT_OCCURRED2_RTC_22_MASK                0x0000000000400000UL
1884#define UV2H_EVENT_OCCURRED2_RTC_23_SHFT                23
1885#define UV2H_EVENT_OCCURRED2_RTC_23_MASK                0x0000000000800000UL
1886#define UV2H_EVENT_OCCURRED2_RTC_24_SHFT                24
1887#define UV2H_EVENT_OCCURRED2_RTC_24_MASK                0x0000000001000000UL
1888#define UV2H_EVENT_OCCURRED2_RTC_25_SHFT                25
1889#define UV2H_EVENT_OCCURRED2_RTC_25_MASK                0x0000000002000000UL
1890#define UV2H_EVENT_OCCURRED2_RTC_26_SHFT                26
1891#define UV2H_EVENT_OCCURRED2_RTC_26_MASK                0x0000000004000000UL
1892#define UV2H_EVENT_OCCURRED2_RTC_27_SHFT                27
1893#define UV2H_EVENT_OCCURRED2_RTC_27_MASK                0x0000000008000000UL
1894#define UV2H_EVENT_OCCURRED2_RTC_28_SHFT                28
1895#define UV2H_EVENT_OCCURRED2_RTC_28_MASK                0x0000000010000000UL
1896#define UV2H_EVENT_OCCURRED2_RTC_29_SHFT                29
1897#define UV2H_EVENT_OCCURRED2_RTC_29_MASK                0x0000000020000000UL
1898#define UV2H_EVENT_OCCURRED2_RTC_30_SHFT                30
1899#define UV2H_EVENT_OCCURRED2_RTC_30_MASK                0x0000000040000000UL
1900#define UV2H_EVENT_OCCURRED2_RTC_31_SHFT                31
1901#define UV2H_EVENT_OCCURRED2_RTC_31_MASK                0x0000000080000000UL
1902
1903#define UVH_EVENT_OCCURRED2_RTC_1_MASK (                                \
1904        is_uv(UV5) ? 0x0000000000000008UL :                             \
1905        is_uv(UV4) ? 0x0000000000080000UL :                             \
1906        is_uv(UV3) ? 0x0000000000000002UL :                             \
1907        is_uv(UV2) ? 0x0000000000000002UL :                             \
1908        0)
1909#define UVH_EVENT_OCCURRED2_RTC_1_SHFT (                                \
1910        is_uv(UV5) ? 3 :                                                \
1911        is_uv(UV4) ? 19 :                                               \
1912        is_uv(UV3) ? 1 :                                                \
1913        is_uv(UV2) ? 1 :                                                \
1914        -1)
1915
1916union uvyh_event_occurred2_u {
1917        unsigned long   v;
1918
1919        /* UVYH common struct */
1920        struct uvyh_event_occurred2_s {
1921                unsigned long   rtc_interval_int:1;             /* RW */
1922                unsigned long   bau_dashboard_int:1;            /* RW */
1923                unsigned long   rtc_0:1;                        /* RW */
1924                unsigned long   rtc_1:1;                        /* RW */
1925                unsigned long   rtc_2:1;                        /* RW */
1926                unsigned long   rtc_3:1;                        /* RW */
1927                unsigned long   rtc_4:1;                        /* RW */
1928                unsigned long   rtc_5:1;                        /* RW */
1929                unsigned long   rtc_6:1;                        /* RW */
1930                unsigned long   rtc_7:1;                        /* RW */
1931                unsigned long   rtc_8:1;                        /* RW */
1932                unsigned long   rtc_9:1;                        /* RW */
1933                unsigned long   rtc_10:1;                       /* RW */
1934                unsigned long   rtc_11:1;                       /* RW */
1935                unsigned long   rtc_12:1;                       /* RW */
1936                unsigned long   rtc_13:1;                       /* RW */
1937                unsigned long   rtc_14:1;                       /* RW */
1938                unsigned long   rtc_15:1;                       /* RW */
1939                unsigned long   rtc_16:1;                       /* RW */
1940                unsigned long   rtc_17:1;                       /* RW */
1941                unsigned long   rtc_18:1;                       /* RW */
1942                unsigned long   rtc_19:1;                       /* RW */
1943                unsigned long   rtc_20:1;                       /* RW */
1944                unsigned long   rtc_21:1;                       /* RW */
1945                unsigned long   rtc_22:1;                       /* RW */
1946                unsigned long   rtc_23:1;                       /* RW */
1947                unsigned long   rtc_24:1;                       /* RW */
1948                unsigned long   rtc_25:1;                       /* RW */
1949                unsigned long   rtc_26:1;                       /* RW */
1950                unsigned long   rtc_27:1;                       /* RW */
1951                unsigned long   rtc_28:1;                       /* RW */
1952                unsigned long   rtc_29:1;                       /* RW */
1953                unsigned long   rtc_30:1;                       /* RW */
1954                unsigned long   rtc_31:1;                       /* RW */
1955                unsigned long   rsvd_34_63:30;
1956        } sy;
1957
1958        /* UV5 unique struct */
1959        struct uv5h_event_occurred2_s {
1960                unsigned long   rtc_interval_int:1;             /* RW */
1961                unsigned long   bau_dashboard_int:1;            /* RW */
1962                unsigned long   rtc_0:1;                        /* RW */
1963                unsigned long   rtc_1:1;                        /* RW */
1964                unsigned long   rtc_2:1;                        /* RW */
1965                unsigned long   rtc_3:1;                        /* RW */
1966                unsigned long   rtc_4:1;                        /* RW */
1967                unsigned long   rtc_5:1;                        /* RW */
1968                unsigned long   rtc_6:1;                        /* RW */
1969                unsigned long   rtc_7:1;                        /* RW */
1970                unsigned long   rtc_8:1;                        /* RW */
1971                unsigned long   rtc_9:1;                        /* RW */
1972                unsigned long   rtc_10:1;                       /* RW */
1973                unsigned long   rtc_11:1;                       /* RW */
1974                unsigned long   rtc_12:1;                       /* RW */
1975                unsigned long   rtc_13:1;                       /* RW */
1976                unsigned long   rtc_14:1;                       /* RW */
1977                unsigned long   rtc_15:1;                       /* RW */
1978                unsigned long   rtc_16:1;                       /* RW */
1979                unsigned long   rtc_17:1;                       /* RW */
1980                unsigned long   rtc_18:1;                       /* RW */
1981                unsigned long   rtc_19:1;                       /* RW */
1982                unsigned long   rtc_20:1;                       /* RW */
1983                unsigned long   rtc_21:1;                       /* RW */
1984                unsigned long   rtc_22:1;                       /* RW */
1985                unsigned long   rtc_23:1;                       /* RW */
1986                unsigned long   rtc_24:1;                       /* RW */
1987                unsigned long   rtc_25:1;                       /* RW */
1988                unsigned long   rtc_26:1;                       /* RW */
1989                unsigned long   rtc_27:1;                       /* RW */
1990                unsigned long   rtc_28:1;                       /* RW */
1991                unsigned long   rtc_29:1;                       /* RW */
1992                unsigned long   rtc_30:1;                       /* RW */
1993                unsigned long   rtc_31:1;                       /* RW */
1994                unsigned long   rsvd_34_63:30;
1995        } s5;
1996
1997        /* UV4 unique struct */
1998        struct uv4h_event_occurred2_s {
1999                unsigned long   message_accelerator_int0:1;     /* RW */
2000                unsigned long   message_accelerator_int1:1;     /* RW */
2001                unsigned long   message_accelerator_int2:1;     /* RW */
2002                unsigned long   message_accelerator_int3:1;     /* RW */
2003                unsigned long   message_accelerator_int4:1;     /* RW */
2004                unsigned long   message_accelerator_int5:1;     /* RW */
2005                unsigned long   message_accelerator_int6:1;     /* RW */
2006                unsigned long   message_accelerator_int7:1;     /* RW */
2007                unsigned long   message_accelerator_int8:1;     /* RW */
2008                unsigned long   message_accelerator_int9:1;     /* RW */
2009                unsigned long   message_accelerator_int10:1;    /* RW */
2010                unsigned long   message_accelerator_int11:1;    /* RW */
2011                unsigned long   message_accelerator_int12:1;    /* RW */
2012                unsigned long   message_accelerator_int13:1;    /* RW */
2013                unsigned long   message_accelerator_int14:1;    /* RW */
2014                unsigned long   message_accelerator_int15:1;    /* RW */
2015                unsigned long   rtc_interval_int:1;             /* RW */
2016                unsigned long   bau_dashboard_int:1;            /* RW */
2017                unsigned long   rtc_0:1;                        /* RW */
2018                unsigned long   rtc_1:1;                        /* RW */
2019                unsigned long   rtc_2:1;                        /* RW */
2020                unsigned long   rtc_3:1;                        /* RW */
2021                unsigned long   rtc_4:1;                        /* RW */
2022                unsigned long   rtc_5:1;                        /* RW */
2023                unsigned long   rtc_6:1;                        /* RW */
2024                unsigned long   rtc_7:1;                        /* RW */
2025                unsigned long   rtc_8:1;                        /* RW */
2026                unsigned long   rtc_9:1;                        /* RW */
2027                unsigned long   rtc_10:1;                       /* RW */
2028                unsigned long   rtc_11:1;                       /* RW */
2029                unsigned long   rtc_12:1;                       /* RW */
2030                unsigned long   rtc_13:1;                       /* RW */
2031                unsigned long   rtc_14:1;                       /* RW */
2032                unsigned long   rtc_15:1;                       /* RW */
2033                unsigned long   rtc_16:1;                       /* RW */
2034                unsigned long   rtc_17:1;                       /* RW */
2035                unsigned long   rtc_18:1;                       /* RW */
2036                unsigned long   rtc_19:1;                       /* RW */
2037                unsigned long   rtc_20:1;                       /* RW */
2038                unsigned long   rtc_21:1;                       /* RW */
2039                unsigned long   rtc_22:1;                       /* RW */
2040                unsigned long   rtc_23:1;                       /* RW */
2041                unsigned long   rtc_24:1;                       /* RW */
2042                unsigned long   rtc_25:1;                       /* RW */
2043                unsigned long   rtc_26:1;                       /* RW */
2044                unsigned long   rtc_27:1;                       /* RW */
2045                unsigned long   rtc_28:1;                       /* RW */
2046                unsigned long   rtc_29:1;                       /* RW */
2047                unsigned long   rtc_30:1;                       /* RW */
2048                unsigned long   rtc_31:1;                       /* RW */
2049                unsigned long   rsvd_50_63:14;
2050        } s4;
2051
2052        /* UV3 unique struct */
2053        struct uv3h_event_occurred2_s {
2054                unsigned long   rtc_0:1;                        /* RW */
2055                unsigned long   rtc_1:1;                        /* RW */
2056                unsigned long   rtc_2:1;                        /* RW */
2057                unsigned long   rtc_3:1;                        /* RW */
2058                unsigned long   rtc_4:1;                        /* RW */
2059                unsigned long   rtc_5:1;                        /* RW */
2060                unsigned long   rtc_6:1;                        /* RW */
2061                unsigned long   rtc_7:1;                        /* RW */
2062                unsigned long   rtc_8:1;                        /* RW */
2063                unsigned long   rtc_9:1;                        /* RW */
2064                unsigned long   rtc_10:1;                       /* RW */
2065                unsigned long   rtc_11:1;                       /* RW */
2066                unsigned long   rtc_12:1;                       /* RW */
2067                unsigned long   rtc_13:1;                       /* RW */
2068                unsigned long   rtc_14:1;                       /* RW */
2069                unsigned long   rtc_15:1;                       /* RW */
2070                unsigned long   rtc_16:1;                       /* RW */
2071                unsigned long   rtc_17:1;                       /* RW */
2072                unsigned long   rtc_18:1;                       /* RW */
2073                unsigned long   rtc_19:1;                       /* RW */
2074                unsigned long   rtc_20:1;                       /* RW */
2075                unsigned long   rtc_21:1;                       /* RW */
2076                unsigned long   rtc_22:1;                       /* RW */
2077                unsigned long   rtc_23:1;                       /* RW */
2078                unsigned long   rtc_24:1;                       /* RW */
2079                unsigned long   rtc_25:1;                       /* RW */
2080                unsigned long   rtc_26:1;                       /* RW */
2081                unsigned long   rtc_27:1;                       /* RW */
2082                unsigned long   rtc_28:1;                       /* RW */
2083                unsigned long   rtc_29:1;                       /* RW */
2084                unsigned long   rtc_30:1;                       /* RW */
2085                unsigned long   rtc_31:1;                       /* RW */
2086                unsigned long   rsvd_32_63:32;
2087        } s3;
2088
2089        /* UV2 unique struct */
2090        struct uv2h_event_occurred2_s {
2091                unsigned long   rtc_0:1;                        /* RW */
2092                unsigned long   rtc_1:1;                        /* RW */
2093                unsigned long   rtc_2:1;                        /* RW */
2094                unsigned long   rtc_3:1;                        /* RW */
2095                unsigned long   rtc_4:1;                        /* RW */
2096                unsigned long   rtc_5:1;                        /* RW */
2097                unsigned long   rtc_6:1;                        /* RW */
2098                unsigned long   rtc_7:1;                        /* RW */
2099                unsigned long   rtc_8:1;                        /* RW */
2100                unsigned long   rtc_9:1;                        /* RW */
2101                unsigned long   rtc_10:1;                       /* RW */
2102                unsigned long   rtc_11:1;                       /* RW */
2103                unsigned long   rtc_12:1;                       /* RW */
2104                unsigned long   rtc_13:1;                       /* RW */
2105                unsigned long   rtc_14:1;                       /* RW */
2106                unsigned long   rtc_15:1;                       /* RW */
2107                unsigned long   rtc_16:1;                       /* RW */
2108                unsigned long   rtc_17:1;                       /* RW */
2109                unsigned long   rtc_18:1;                       /* RW */
2110                unsigned long   rtc_19:1;                       /* RW */
2111                unsigned long   rtc_20:1;                       /* RW */
2112                unsigned long   rtc_21:1;                       /* RW */
2113                unsigned long   rtc_22:1;                       /* RW */
2114                unsigned long   rtc_23:1;                       /* RW */
2115                unsigned long   rtc_24:1;                       /* RW */
2116                unsigned long   rtc_25:1;                       /* RW */
2117                unsigned long   rtc_26:1;                       /* RW */
2118                unsigned long   rtc_27:1;                       /* RW */
2119                unsigned long   rtc_28:1;                       /* RW */
2120                unsigned long   rtc_29:1;                       /* RW */
2121                unsigned long   rtc_30:1;                       /* RW */
2122                unsigned long   rtc_31:1;                       /* RW */
2123                unsigned long   rsvd_32_63:32;
2124        } s2;
2125};
2126
2127/* ========================================================================= */
2128/*                        UVH_EVENT_OCCURRED2_ALIAS                          */
2129/* ========================================================================= */
2130#define UVH_EVENT_OCCURRED2_ALIAS 0x70108UL
2131
2132
2133/* ========================================================================= */
2134/*                         UVH_EXTIO_INT0_BROADCAST                          */
2135/* ========================================================================= */
2136#define UVH_EXTIO_INT0_BROADCAST 0x61448UL
2137
2138/* UVH common defines*/
2139#define UVH_EXTIO_INT0_BROADCAST_ENABLE_SHFT            0
2140#define UVH_EXTIO_INT0_BROADCAST_ENABLE_MASK            0x0000000000000001UL
2141
2142
2143union uvh_extio_int0_broadcast_u {
2144        unsigned long   v;
2145
2146        /* UVH common struct */
2147        struct uvh_extio_int0_broadcast_s {
2148                unsigned long   enable:1;                       /* RW */
2149                unsigned long   rsvd_1_63:63;
2150        } s;
2151
2152        /* UV5 unique struct */
2153        struct uv5h_extio_int0_broadcast_s {
2154                unsigned long   enable:1;                       /* RW */
2155                unsigned long   rsvd_1_63:63;
2156        } s5;
2157
2158        /* UV4 unique struct */
2159        struct uv4h_extio_int0_broadcast_s {
2160                unsigned long   enable:1;                       /* RW */
2161                unsigned long   rsvd_1_63:63;
2162        } s4;
2163
2164        /* UV3 unique struct */
2165        struct uv3h_extio_int0_broadcast_s {
2166                unsigned long   enable:1;                       /* RW */
2167                unsigned long   rsvd_1_63:63;
2168        } s3;
2169
2170        /* UV2 unique struct */
2171        struct uv2h_extio_int0_broadcast_s {
2172                unsigned long   enable:1;                       /* RW */
2173                unsigned long   rsvd_1_63:63;
2174        } s2;
2175};
2176
2177/* ========================================================================= */
2178/*                          UVH_GR0_GAM_GR_CONFIG                            */
2179/* ========================================================================= */
2180#define UVH_GR0_GAM_GR_CONFIG (                                         \
2181        is_uv(UV5) ? 0x600028UL :                                       \
2182        is_uv(UV4) ? 0x600028UL :                                       \
2183        is_uv(UV3) ? 0xc00028UL :                                       \
2184        is_uv(UV2) ? 0xc00028UL :                                       \
2185        0)
2186
2187
2188
2189/* UVYH common defines */
2190#define UVYH_GR0_GAM_GR_CONFIG_SUBSPACE_SHFT            10
2191#define UVYH_GR0_GAM_GR_CONFIG_SUBSPACE_MASK            0x0000000000000400UL
2192
2193/* UV4 unique defines */
2194#define UV4H_GR0_GAM_GR_CONFIG_SUBSPACE_SHFT            10
2195#define UV4H_GR0_GAM_GR_CONFIG_SUBSPACE_MASK            0x0000000000000400UL
2196
2197/* UV3 unique defines */
2198#define UV3H_GR0_GAM_GR_CONFIG_M_SKT_SHFT               0
2199#define UV3H_GR0_GAM_GR_CONFIG_M_SKT_MASK               0x000000000000003fUL
2200#define UV3H_GR0_GAM_GR_CONFIG_SUBSPACE_SHFT            10
2201#define UV3H_GR0_GAM_GR_CONFIG_SUBSPACE_MASK            0x0000000000000400UL
2202
2203/* UV2 unique defines */
2204#define UV2H_GR0_GAM_GR_CONFIG_N_GR_SHFT                0
2205#define UV2H_GR0_GAM_GR_CONFIG_N_GR_MASK                0x000000000000000fUL
2206
2207
2208union uvyh_gr0_gam_gr_config_u {
2209        unsigned long   v;
2210
2211        /* UVYH common struct */
2212        struct uvyh_gr0_gam_gr_config_s {
2213                unsigned long   rsvd_0_9:10;
2214                unsigned long   subspace:1;                     /* RW */
2215                unsigned long   rsvd_11_63:53;
2216        } sy;
2217
2218        /* UV5 unique struct */
2219        struct uv5h_gr0_gam_gr_config_s {
2220                unsigned long   rsvd_0_9:10;
2221                unsigned long   subspace:1;                     /* RW */
2222                unsigned long   rsvd_11_63:53;
2223        } s5;
2224
2225        /* UV4 unique struct */
2226        struct uv4h_gr0_gam_gr_config_s {
2227                unsigned long   rsvd_0_9:10;
2228                unsigned long   subspace:1;                     /* RW */
2229                unsigned long   rsvd_11_63:53;
2230        } s4;
2231
2232        /* UV3 unique struct */
2233        struct uv3h_gr0_gam_gr_config_s {
2234                unsigned long   m_skt:6;                        /* RW */
2235                unsigned long   undef_6_9:4;                    /* Undefined */
2236                unsigned long   subspace:1;                     /* RW */
2237                unsigned long   reserved:53;
2238        } s3;
2239
2240        /* UV2 unique struct */
2241        struct uv2h_gr0_gam_gr_config_s {
2242                unsigned long   n_gr:4;                         /* RW */
2243                unsigned long   reserved:60;
2244        } s2;
2245};
2246
2247/* ========================================================================= */
2248/*                         UVH_GR0_TLB_INT0_CONFIG                           */
2249/* ========================================================================= */
2250#define UVH_GR0_TLB_INT0_CONFIG (                                       \
2251        is_uv(UV4) ? 0x61b00UL :                                        \
2252        is_uv(UV3) ? 0x61b00UL :                                        \
2253        is_uv(UV2) ? 0x61b00UL :                                        \
2254        uv_undefined("UVH_GR0_TLB_INT0_CONFIG"))
2255
2256
2257/* UVXH common defines */
2258#define UVXH_GR0_TLB_INT0_CONFIG_VECTOR_SHFT            0
2259#define UVXH_GR0_TLB_INT0_CONFIG_VECTOR_MASK            0x00000000000000ffUL
2260#define UVXH_GR0_TLB_INT0_CONFIG_DM_SHFT                8
2261#define UVXH_GR0_TLB_INT0_CONFIG_DM_MASK                0x0000000000000700UL
2262#define UVXH_GR0_TLB_INT0_CONFIG_DESTMODE_SHFT          11
2263#define UVXH_GR0_TLB_INT0_CONFIG_DESTMODE_MASK          0x0000000000000800UL
2264#define UVXH_GR0_TLB_INT0_CONFIG_STATUS_SHFT            12
2265#define UVXH_GR0_TLB_INT0_CONFIG_STATUS_MASK            0x0000000000001000UL
2266#define UVXH_GR0_TLB_INT0_CONFIG_P_SHFT                 13
2267#define UVXH_GR0_TLB_INT0_CONFIG_P_MASK                 0x0000000000002000UL
2268#define UVXH_GR0_TLB_INT0_CONFIG_T_SHFT                 15
2269#define UVXH_GR0_TLB_INT0_CONFIG_T_MASK                 0x0000000000008000UL
2270#define UVXH_GR0_TLB_INT0_CONFIG_M_SHFT                 16
2271#define UVXH_GR0_TLB_INT0_CONFIG_M_MASK                 0x0000000000010000UL
2272#define UVXH_GR0_TLB_INT0_CONFIG_APIC_ID_SHFT           32
2273#define UVXH_GR0_TLB_INT0_CONFIG_APIC_ID_MASK           0xffffffff00000000UL
2274
2275
2276union uvh_gr0_tlb_int0_config_u {
2277        unsigned long   v;
2278
2279        /* UVH common struct */
2280        struct uvh_gr0_tlb_int0_config_s {
2281                unsigned long   vector_:8;                      /* RW */
2282                unsigned long   dm:3;                           /* RW */
2283                unsigned long   destmode:1;                     /* RW */
2284                unsigned long   status:1;                       /* RO */
2285                unsigned long   p:1;                            /* RO */
2286                unsigned long   rsvd_14:1;
2287                unsigned long   t:1;                            /* RO */
2288                unsigned long   m:1;                            /* RW */
2289                unsigned long   rsvd_17_31:15;
2290                unsigned long   apic_id:32;                     /* RW */
2291        } s;
2292
2293        /* UVXH common struct */
2294        struct uvxh_gr0_tlb_int0_config_s {
2295                unsigned long   vector_:8;                      /* RW */
2296                unsigned long   dm:3;                           /* RW */
2297                unsigned long   destmode:1;                     /* RW */
2298                unsigned long   status:1;                       /* RO */
2299                unsigned long   p:1;                            /* RO */
2300                unsigned long   rsvd_14:1;
2301                unsigned long   t:1;                            /* RO */
2302                unsigned long   m:1;                            /* RW */
2303                unsigned long   rsvd_17_31:15;
2304                unsigned long   apic_id:32;                     /* RW */
2305        } sx;
2306
2307        /* UV4 unique struct */
2308        struct uv4h_gr0_tlb_int0_config_s {
2309                unsigned long   vector_:8;                      /* RW */
2310                unsigned long   dm:3;                           /* RW */
2311                unsigned long   destmode:1;                     /* RW */
2312                unsigned long   status:1;                       /* RO */
2313                unsigned long   p:1;                            /* RO */
2314                unsigned long   rsvd_14:1;
2315                unsigned long   t:1;                            /* RO */
2316                unsigned long   m:1;                            /* RW */
2317                unsigned long   rsvd_17_31:15;
2318                unsigned long   apic_id:32;                     /* RW */
2319        } s4;
2320
2321        /* UV3 unique struct */
2322        struct uv3h_gr0_tlb_int0_config_s {
2323                unsigned long   vector_:8;                      /* RW */
2324                unsigned long   dm:3;                           /* RW */
2325                unsigned long   destmode:1;                     /* RW */
2326                unsigned long   status:1;                       /* RO */
2327                unsigned long   p:1;                            /* RO */
2328                unsigned long   rsvd_14:1;
2329                unsigned long   t:1;                            /* RO */
2330                unsigned long   m:1;                            /* RW */
2331                unsigned long   rsvd_17_31:15;
2332                unsigned long   apic_id:32;                     /* RW */
2333        } s3;
2334
2335        /* UV2 unique struct */
2336        struct uv2h_gr0_tlb_int0_config_s {
2337                unsigned long   vector_:8;                      /* RW */
2338                unsigned long   dm:3;                           /* RW */
2339                unsigned long   destmode:1;                     /* RW */
2340                unsigned long   status:1;                       /* RO */
2341                unsigned long   p:1;                            /* RO */
2342                unsigned long   rsvd_14:1;
2343                unsigned long   t:1;                            /* RO */
2344                unsigned long   m:1;                            /* RW */
2345                unsigned long   rsvd_17_31:15;
2346                unsigned long   apic_id:32;                     /* RW */
2347        } s2;
2348};
2349
2350/* ========================================================================= */
2351/*                         UVH_GR0_TLB_INT1_CONFIG                           */
2352/* ========================================================================= */
2353#define UVH_GR0_TLB_INT1_CONFIG (                                       \
2354        is_uv(UV4) ? 0x61b40UL :                                        \
2355        is_uv(UV3) ? 0x61b40UL :                                        \
2356        is_uv(UV2) ? 0x61b40UL :                                        \
2357        uv_undefined("UVH_GR0_TLB_INT1_CONFIG"))
2358
2359
2360/* UVXH common defines */
2361#define UVXH_GR0_TLB_INT1_CONFIG_VECTOR_SHFT            0
2362#define UVXH_GR0_TLB_INT1_CONFIG_VECTOR_MASK            0x00000000000000ffUL
2363#define UVXH_GR0_TLB_INT1_CONFIG_DM_SHFT                8
2364#define UVXH_GR0_TLB_INT1_CONFIG_DM_MASK                0x0000000000000700UL
2365#define UVXH_GR0_TLB_INT1_CONFIG_DESTMODE_SHFT          11
2366#define UVXH_GR0_TLB_INT1_CONFIG_DESTMODE_MASK          0x0000000000000800UL
2367#define UVXH_GR0_TLB_INT1_CONFIG_STATUS_SHFT            12
2368#define UVXH_GR0_TLB_INT1_CONFIG_STATUS_MASK            0x0000000000001000UL
2369#define UVXH_GR0_TLB_INT1_CONFIG_P_SHFT                 13
2370#define UVXH_GR0_TLB_INT1_CONFIG_P_MASK                 0x0000000000002000UL
2371#define UVXH_GR0_TLB_INT1_CONFIG_T_SHFT                 15
2372#define UVXH_GR0_TLB_INT1_CONFIG_T_MASK                 0x0000000000008000UL
2373#define UVXH_GR0_TLB_INT1_CONFIG_M_SHFT                 16
2374#define UVXH_GR0_TLB_INT1_CONFIG_M_MASK                 0x0000000000010000UL
2375#define UVXH_GR0_TLB_INT1_CONFIG_APIC_ID_SHFT           32
2376#define UVXH_GR0_TLB_INT1_CONFIG_APIC_ID_MASK           0xffffffff00000000UL
2377
2378
2379union uvh_gr0_tlb_int1_config_u {
2380        unsigned long   v;
2381
2382        /* UVH common struct */
2383        struct uvh_gr0_tlb_int1_config_s {
2384                unsigned long   vector_:8;                      /* RW */
2385                unsigned long   dm:3;                           /* RW */
2386                unsigned long   destmode:1;                     /* RW */
2387                unsigned long   status:1;                       /* RO */
2388                unsigned long   p:1;                            /* RO */
2389                unsigned long   rsvd_14:1;
2390                unsigned long   t:1;                            /* RO */
2391                unsigned long   m:1;                            /* RW */
2392                unsigned long   rsvd_17_31:15;
2393                unsigned long   apic_id:32;                     /* RW */
2394        } s;
2395
2396        /* UVXH common struct */
2397        struct uvxh_gr0_tlb_int1_config_s {
2398                unsigned long   vector_:8;                      /* RW */
2399                unsigned long   dm:3;                           /* RW */
2400                unsigned long   destmode:1;                     /* RW */
2401                unsigned long   status:1;                       /* RO */
2402                unsigned long   p:1;                            /* RO */
2403                unsigned long   rsvd_14:1;
2404                unsigned long   t:1;                            /* RO */
2405                unsigned long   m:1;                            /* RW */
2406                unsigned long   rsvd_17_31:15;
2407                unsigned long   apic_id:32;                     /* RW */
2408        } sx;
2409
2410        /* UV4 unique struct */
2411        struct uv4h_gr0_tlb_int1_config_s {
2412                unsigned long   vector_:8;                      /* RW */
2413                unsigned long   dm:3;                           /* RW */
2414                unsigned long   destmode:1;                     /* RW */
2415                unsigned long   status:1;                       /* RO */
2416                unsigned long   p:1;                            /* RO */
2417                unsigned long   rsvd_14:1;
2418                unsigned long   t:1;                            /* RO */
2419                unsigned long   m:1;                            /* RW */
2420                unsigned long   rsvd_17_31:15;
2421                unsigned long   apic_id:32;                     /* RW */
2422        } s4;
2423
2424        /* UV3 unique struct */
2425        struct uv3h_gr0_tlb_int1_config_s {
2426                unsigned long   vector_:8;                      /* RW */
2427                unsigned long   dm:3;                           /* RW */
2428                unsigned long   destmode:1;                     /* RW */
2429                unsigned long   status:1;                       /* RO */
2430                unsigned long   p:1;                            /* RO */
2431                unsigned long   rsvd_14:1;
2432                unsigned long   t:1;                            /* RO */
2433                unsigned long   m:1;                            /* RW */
2434                unsigned long   rsvd_17_31:15;
2435                unsigned long   apic_id:32;                     /* RW */
2436        } s3;
2437
2438        /* UV2 unique struct */
2439        struct uv2h_gr0_tlb_int1_config_s {
2440                unsigned long   vector_:8;                      /* RW */
2441                unsigned long   dm:3;                           /* RW */
2442                unsigned long   destmode:1;                     /* RW */
2443                unsigned long   status:1;                       /* RO */
2444                unsigned long   p:1;                            /* RO */
2445                unsigned long   rsvd_14:1;
2446                unsigned long   t:1;                            /* RO */
2447                unsigned long   m:1;                            /* RW */
2448                unsigned long   rsvd_17_31:15;
2449                unsigned long   apic_id:32;                     /* RW */
2450        } s2;
2451};
2452
2453/* ========================================================================= */
2454/*                         UVH_GR1_TLB_INT0_CONFIG                           */
2455/* ========================================================================= */
2456#define UVH_GR1_TLB_INT0_CONFIG (                                       \
2457        is_uv(UV4) ? 0x62100UL :                                        \
2458        is_uv(UV3) ? 0x61f00UL :                                        \
2459        is_uv(UV2) ? 0x61f00UL :                                        \
2460        uv_undefined("UVH_GR1_TLB_INT0_CONFIG"))
2461
2462
2463/* UVXH common defines */
2464#define UVXH_GR1_TLB_INT0_CONFIG_VECTOR_SHFT            0
2465#define UVXH_GR1_TLB_INT0_CONFIG_VECTOR_MASK            0x00000000000000ffUL
2466#define UVXH_GR1_TLB_INT0_CONFIG_DM_SHFT                8
2467#define UVXH_GR1_TLB_INT0_CONFIG_DM_MASK                0x0000000000000700UL
2468#define UVXH_GR1_TLB_INT0_CONFIG_DESTMODE_SHFT          11
2469#define UVXH_GR1_TLB_INT0_CONFIG_DESTMODE_MASK          0x0000000000000800UL
2470#define UVXH_GR1_TLB_INT0_CONFIG_STATUS_SHFT            12
2471#define UVXH_GR1_TLB_INT0_CONFIG_STATUS_MASK            0x0000000000001000UL
2472#define UVXH_GR1_TLB_INT0_CONFIG_P_SHFT                 13
2473#define UVXH_GR1_TLB_INT0_CONFIG_P_MASK                 0x0000000000002000UL
2474#define UVXH_GR1_TLB_INT0_CONFIG_T_SHFT                 15
2475#define UVXH_GR1_TLB_INT0_CONFIG_T_MASK                 0x0000000000008000UL
2476#define UVXH_GR1_TLB_INT0_CONFIG_M_SHFT                 16
2477#define UVXH_GR1_TLB_INT0_CONFIG_M_MASK                 0x0000000000010000UL
2478#define UVXH_GR1_TLB_INT0_CONFIG_APIC_ID_SHFT           32
2479#define UVXH_GR1_TLB_INT0_CONFIG_APIC_ID_MASK           0xffffffff00000000UL
2480
2481
2482union uvh_gr1_tlb_int0_config_u {
2483        unsigned long   v;
2484
2485        /* UVH common struct */
2486        struct uvh_gr1_tlb_int0_config_s {
2487                unsigned long   vector_:8;                      /* RW */
2488                unsigned long   dm:3;                           /* RW */
2489                unsigned long   destmode:1;                     /* RW */
2490                unsigned long   status:1;                       /* RO */
2491                unsigned long   p:1;                            /* RO */
2492                unsigned long   rsvd_14:1;
2493                unsigned long   t:1;                            /* RO */
2494                unsigned long   m:1;                            /* RW */
2495                unsigned long   rsvd_17_31:15;
2496                unsigned long   apic_id:32;                     /* RW */
2497        } s;
2498
2499        /* UVXH common struct */
2500        struct uvxh_gr1_tlb_int0_config_s {
2501                unsigned long   vector_:8;                      /* RW */
2502                unsigned long   dm:3;                           /* RW */
2503                unsigned long   destmode:1;                     /* RW */
2504                unsigned long   status:1;                       /* RO */
2505                unsigned long   p:1;                            /* RO */
2506                unsigned long   rsvd_14:1;
2507                unsigned long   t:1;                            /* RO */
2508                unsigned long   m:1;                            /* RW */
2509                unsigned long   rsvd_17_31:15;
2510                unsigned long   apic_id:32;                     /* RW */
2511        } sx;
2512
2513        /* UV4 unique struct */
2514        struct uv4h_gr1_tlb_int0_config_s {
2515                unsigned long   vector_:8;                      /* RW */
2516                unsigned long   dm:3;                           /* RW */
2517                unsigned long   destmode:1;                     /* RW */
2518                unsigned long   status:1;                       /* RO */
2519                unsigned long   p:1;                            /* RO */
2520                unsigned long   rsvd_14:1;
2521                unsigned long   t:1;                            /* RO */
2522                unsigned long   m:1;                            /* RW */
2523                unsigned long   rsvd_17_31:15;
2524                unsigned long   apic_id:32;                     /* RW */
2525        } s4;
2526
2527        /* UV3 unique struct */
2528        struct uv3h_gr1_tlb_int0_config_s {
2529                unsigned long   vector_:8;                      /* RW */
2530                unsigned long   dm:3;                           /* RW */
2531                unsigned long   destmode:1;                     /* RW */
2532                unsigned long   status:1;                       /* RO */
2533                unsigned long   p:1;                            /* RO */
2534                unsigned long   rsvd_14:1;
2535                unsigned long   t:1;                            /* RO */
2536                unsigned long   m:1;                            /* RW */
2537                unsigned long   rsvd_17_31:15;
2538                unsigned long   apic_id:32;                     /* RW */
2539        } s3;
2540
2541        /* UV2 unique struct */
2542        struct uv2h_gr1_tlb_int0_config_s {
2543                unsigned long   vector_:8;                      /* RW */
2544                unsigned long   dm:3;                           /* RW */
2545                unsigned long   destmode:1;                     /* RW */
2546                unsigned long   status:1;                       /* RO */
2547                unsigned long   p:1;                            /* RO */
2548                unsigned long   rsvd_14:1;
2549                unsigned long   t:1;                            /* RO */
2550                unsigned long   m:1;                            /* RW */
2551                unsigned long   rsvd_17_31:15;
2552                unsigned long   apic_id:32;                     /* RW */
2553        } s2;
2554};
2555
2556/* ========================================================================= */
2557/*                         UVH_GR1_TLB_INT1_CONFIG                           */
2558/* ========================================================================= */
2559#define UVH_GR1_TLB_INT1_CONFIG (                                       \
2560        is_uv(UV4) ? 0x62140UL :                                        \
2561        is_uv(UV3) ? 0x61f40UL :                                        \
2562        is_uv(UV2) ? 0x61f40UL :                                        \
2563        uv_undefined("UVH_GR1_TLB_INT1_CONFIG"))
2564
2565
2566/* UVXH common defines */
2567#define UVXH_GR1_TLB_INT1_CONFIG_VECTOR_SHFT            0
2568#define UVXH_GR1_TLB_INT1_CONFIG_VECTOR_MASK            0x00000000000000ffUL
2569#define UVXH_GR1_TLB_INT1_CONFIG_DM_SHFT                8
2570#define UVXH_GR1_TLB_INT1_CONFIG_DM_MASK                0x0000000000000700UL
2571#define UVXH_GR1_TLB_INT1_CONFIG_DESTMODE_SHFT          11
2572#define UVXH_GR1_TLB_INT1_CONFIG_DESTMODE_MASK          0x0000000000000800UL
2573#define UVXH_GR1_TLB_INT1_CONFIG_STATUS_SHFT            12
2574#define UVXH_GR1_TLB_INT1_CONFIG_STATUS_MASK            0x0000000000001000UL
2575#define UVXH_GR1_TLB_INT1_CONFIG_P_SHFT                 13
2576#define UVXH_GR1_TLB_INT1_CONFIG_P_MASK                 0x0000000000002000UL
2577#define UVXH_GR1_TLB_INT1_CONFIG_T_SHFT                 15
2578#define UVXH_GR1_TLB_INT1_CONFIG_T_MASK                 0x0000000000008000UL
2579#define UVXH_GR1_TLB_INT1_CONFIG_M_SHFT                 16
2580#define UVXH_GR1_TLB_INT1_CONFIG_M_MASK                 0x0000000000010000UL
2581#define UVXH_GR1_TLB_INT1_CONFIG_APIC_ID_SHFT           32
2582#define UVXH_GR1_TLB_INT1_CONFIG_APIC_ID_MASK           0xffffffff00000000UL
2583
2584
2585union uvh_gr1_tlb_int1_config_u {
2586        unsigned long   v;
2587
2588        /* UVH common struct */
2589        struct uvh_gr1_tlb_int1_config_s {
2590                unsigned long   vector_:8;                      /* RW */
2591                unsigned long   dm:3;                           /* RW */
2592                unsigned long   destmode:1;                     /* RW */
2593                unsigned long   status:1;                       /* RO */
2594                unsigned long   p:1;                            /* RO */
2595                unsigned long   rsvd_14:1;
2596                unsigned long   t:1;                            /* RO */
2597                unsigned long   m:1;                            /* RW */
2598                unsigned long   rsvd_17_31:15;
2599                unsigned long   apic_id:32;                     /* RW */
2600        } s;
2601
2602        /* UVXH common struct */
2603        struct uvxh_gr1_tlb_int1_config_s {
2604                unsigned long   vector_:8;                      /* RW */
2605                unsigned long   dm:3;                           /* RW */
2606                unsigned long   destmode:1;                     /* RW */
2607                unsigned long   status:1;                       /* RO */
2608                unsigned long   p:1;                            /* RO */
2609                unsigned long   rsvd_14:1;
2610                unsigned long   t:1;                            /* RO */
2611                unsigned long   m:1;                            /* RW */
2612                unsigned long   rsvd_17_31:15;
2613                unsigned long   apic_id:32;                     /* RW */
2614        } sx;
2615
2616        /* UV4 unique struct */
2617        struct uv4h_gr1_tlb_int1_config_s {
2618                unsigned long   vector_:8;                      /* RW */
2619                unsigned long   dm:3;                           /* RW */
2620                unsigned long   destmode:1;                     /* RW */
2621                unsigned long   status:1;                       /* RO */
2622                unsigned long   p:1;                            /* RO */
2623                unsigned long   rsvd_14:1;
2624                unsigned long   t:1;                            /* RO */
2625                unsigned long   m:1;                            /* RW */
2626                unsigned long   rsvd_17_31:15;
2627                unsigned long   apic_id:32;                     /* RW */
2628        } s4;
2629
2630        /* UV3 unique struct */
2631        struct uv3h_gr1_tlb_int1_config_s {
2632                unsigned long   vector_:8;                      /* RW */
2633                unsigned long   dm:3;                           /* RW */
2634                unsigned long   destmode:1;                     /* RW */
2635                unsigned long   status:1;                       /* RO */
2636                unsigned long   p:1;                            /* RO */
2637                unsigned long   rsvd_14:1;
2638                unsigned long   t:1;                            /* RO */
2639                unsigned long   m:1;                            /* RW */
2640                unsigned long   rsvd_17_31:15;
2641                unsigned long   apic_id:32;                     /* RW */
2642        } s3;
2643
2644        /* UV2 unique struct */
2645        struct uv2h_gr1_tlb_int1_config_s {
2646                unsigned long   vector_:8;                      /* RW */
2647                unsigned long   dm:3;                           /* RW */
2648                unsigned long   destmode:1;                     /* RW */
2649                unsigned long   status:1;                       /* RO */
2650                unsigned long   p:1;                            /* RO */
2651                unsigned long   rsvd_14:1;
2652                unsigned long   t:1;                            /* RO */
2653                unsigned long   m:1;                            /* RW */
2654                unsigned long   rsvd_17_31:15;
2655                unsigned long   apic_id:32;                     /* RW */
2656        } s2;
2657};
2658
2659/* ========================================================================= */
2660/*                               UVH_INT_CMPB                                */
2661/* ========================================================================= */
2662#define UVH_INT_CMPB 0x22080UL
2663
2664/* UVH common defines*/
2665#define UVH_INT_CMPB_REAL_TIME_CMPB_SHFT                0
2666#define UVH_INT_CMPB_REAL_TIME_CMPB_MASK                0x00ffffffffffffffUL
2667
2668
2669union uvh_int_cmpb_u {
2670        unsigned long   v;
2671
2672        /* UVH common struct */
2673        struct uvh_int_cmpb_s {
2674                unsigned long   real_time_cmpb:56;              /* RW */
2675                unsigned long   rsvd_56_63:8;
2676        } s;
2677
2678        /* UV5 unique struct */
2679        struct uv5h_int_cmpb_s {
2680                unsigned long   real_time_cmpb:56;              /* RW */
2681                unsigned long   rsvd_56_63:8;
2682        } s5;
2683
2684        /* UV4 unique struct */
2685        struct uv4h_int_cmpb_s {
2686                unsigned long   real_time_cmpb:56;              /* RW */
2687                unsigned long   rsvd_56_63:8;
2688        } s4;
2689
2690        /* UV3 unique struct */
2691        struct uv3h_int_cmpb_s {
2692                unsigned long   real_time_cmpb:56;              /* RW */
2693                unsigned long   rsvd_56_63:8;
2694        } s3;
2695
2696        /* UV2 unique struct */
2697        struct uv2h_int_cmpb_s {
2698                unsigned long   real_time_cmpb:56;              /* RW */
2699                unsigned long   rsvd_56_63:8;
2700        } s2;
2701};
2702
2703/* ========================================================================= */
2704/*                               UVH_IPI_INT                                 */
2705/* ========================================================================= */
2706#define UVH_IPI_INT 0x60500UL
2707
2708/* UVH common defines*/
2709#define UVH_IPI_INT_VECTOR_SHFT                         0
2710#define UVH_IPI_INT_VECTOR_MASK                         0x00000000000000ffUL
2711#define UVH_IPI_INT_DELIVERY_MODE_SHFT                  8
2712#define UVH_IPI_INT_DELIVERY_MODE_MASK                  0x0000000000000700UL
2713#define UVH_IPI_INT_DESTMODE_SHFT                       11
2714#define UVH_IPI_INT_DESTMODE_MASK                       0x0000000000000800UL
2715#define UVH_IPI_INT_APIC_ID_SHFT                        16
2716#define UVH_IPI_INT_APIC_ID_MASK                        0x0000ffffffff0000UL
2717#define UVH_IPI_INT_SEND_SHFT                           63
2718#define UVH_IPI_INT_SEND_MASK                           0x8000000000000000UL
2719
2720
2721union uvh_ipi_int_u {
2722        unsigned long   v;
2723
2724        /* UVH common struct */
2725        struct uvh_ipi_int_s {
2726                unsigned long   vector_:8;                      /* RW */
2727                unsigned long   delivery_mode:3;                /* RW */
2728                unsigned long   destmode:1;                     /* RW */
2729                unsigned long   rsvd_12_15:4;
2730                unsigned long   apic_id:32;                     /* RW */
2731                unsigned long   rsvd_48_62:15;
2732                unsigned long   send:1;                         /* WP */
2733        } s;
2734
2735        /* UV5 unique struct */
2736        struct uv5h_ipi_int_s {
2737                unsigned long   vector_:8;                      /* RW */
2738                unsigned long   delivery_mode:3;                /* RW */
2739                unsigned long   destmode:1;                     /* RW */
2740                unsigned long   rsvd_12_15:4;
2741                unsigned long   apic_id:32;                     /* RW */
2742                unsigned long   rsvd_48_62:15;
2743                unsigned long   send:1;                         /* WP */
2744        } s5;
2745
2746        /* UV4 unique struct */
2747        struct uv4h_ipi_int_s {
2748                unsigned long   vector_:8;                      /* RW */
2749                unsigned long   delivery_mode:3;                /* RW */
2750                unsigned long   destmode:1;                     /* RW */
2751                unsigned long   rsvd_12_15:4;
2752                unsigned long   apic_id:32;                     /* RW */
2753                unsigned long   rsvd_48_62:15;
2754                unsigned long   send:1;                         /* WP */
2755        } s4;
2756
2757        /* UV3 unique struct */
2758        struct uv3h_ipi_int_s {
2759                unsigned long   vector_:8;                      /* RW */
2760                unsigned long   delivery_mode:3;                /* RW */
2761                unsigned long   destmode:1;                     /* RW */
2762                unsigned long   rsvd_12_15:4;
2763                unsigned long   apic_id:32;                     /* RW */
2764                unsigned long   rsvd_48_62:15;
2765                unsigned long   send:1;                         /* WP */
2766        } s3;
2767
2768        /* UV2 unique struct */
2769        struct uv2h_ipi_int_s {
2770                unsigned long   vector_:8;                      /* RW */
2771                unsigned long   delivery_mode:3;                /* RW */
2772                unsigned long   destmode:1;                     /* RW */
2773                unsigned long   rsvd_12_15:4;
2774                unsigned long   apic_id:32;                     /* RW */
2775                unsigned long   rsvd_48_62:15;
2776                unsigned long   send:1;                         /* WP */
2777        } s2;
2778};
2779
2780/* ========================================================================= */
2781/*                               UVH_NODE_ID                                 */
2782/* ========================================================================= */
2783#define UVH_NODE_ID 0x0UL
2784
2785/* UVH common defines*/
2786#define UVH_NODE_ID_FORCE1_SHFT                         0
2787#define UVH_NODE_ID_FORCE1_MASK                         0x0000000000000001UL
2788#define UVH_NODE_ID_MANUFACTURER_SHFT                   1
2789#define UVH_NODE_ID_MANUFACTURER_MASK                   0x0000000000000ffeUL
2790#define UVH_NODE_ID_PART_NUMBER_SHFT                    12
2791#define UVH_NODE_ID_PART_NUMBER_MASK                    0x000000000ffff000UL
2792#define UVH_NODE_ID_REVISION_SHFT                       28
2793#define UVH_NODE_ID_REVISION_MASK                       0x00000000f0000000UL
2794#define UVH_NODE_ID_NODE_ID_SHFT                        32
2795#define UVH_NODE_ID_NI_PORT_SHFT                        57
2796
2797/* UVXH common defines */
2798#define UVXH_NODE_ID_NODE_ID_MASK                       0x00007fff00000000UL
2799#define UVXH_NODE_ID_NODES_PER_BIT_SHFT                 50
2800#define UVXH_NODE_ID_NODES_PER_BIT_MASK                 0x01fc000000000000UL
2801#define UVXH_NODE_ID_NI_PORT_MASK                       0x3e00000000000000UL
2802
2803/* UVYH common defines */
2804#define UVYH_NODE_ID_NODE_ID_MASK                       0x0000007f00000000UL
2805#define UVYH_NODE_ID_NI_PORT_MASK                       0x7e00000000000000UL
2806
2807/* UV4 unique defines */
2808#define UV4H_NODE_ID_ROUTER_SELECT_SHFT                 48
2809#define UV4H_NODE_ID_ROUTER_SELECT_MASK                 0x0001000000000000UL
2810#define UV4H_NODE_ID_RESERVED_2_SHFT                    49
2811#define UV4H_NODE_ID_RESERVED_2_MASK                    0x0002000000000000UL
2812
2813/* UV3 unique defines */
2814#define UV3H_NODE_ID_ROUTER_SELECT_SHFT                 48
2815#define UV3H_NODE_ID_ROUTER_SELECT_MASK                 0x0001000000000000UL
2816#define UV3H_NODE_ID_RESERVED_2_SHFT                    49
2817#define UV3H_NODE_ID_RESERVED_2_MASK                    0x0002000000000000UL
2818
2819
2820union uvh_node_id_u {
2821        unsigned long   v;
2822
2823        /* UVH common struct */
2824        struct uvh_node_id_s {
2825                unsigned long   force1:1;                       /* RO */
2826                unsigned long   manufacturer:11;                /* RO */
2827                unsigned long   part_number:16;                 /* RO */
2828                unsigned long   revision:4;                     /* RO */
2829                unsigned long   rsvd_32_63:32;
2830        } s;
2831
2832        /* UVXH common struct */
2833        struct uvxh_node_id_s {
2834                unsigned long   force1:1;                       /* RO */
2835                unsigned long   manufacturer:11;                /* RO */
2836                unsigned long   part_number:16;                 /* RO */
2837                unsigned long   revision:4;                     /* RO */
2838                unsigned long   node_id:15;                     /* RW */
2839                unsigned long   rsvd_47_49:3;
2840                unsigned long   nodes_per_bit:7;                /* RO */
2841                unsigned long   ni_port:5;                      /* RO */
2842                unsigned long   rsvd_62_63:2;
2843        } sx;
2844
2845        /* UVYH common struct */
2846        struct uvyh_node_id_s {
2847                unsigned long   force1:1;                       /* RO */
2848                unsigned long   manufacturer:11;                /* RO */
2849                unsigned long   part_number:16;                 /* RO */
2850                unsigned long   revision:4;                     /* RO */
2851                unsigned long   node_id:7;                      /* RW */
2852                unsigned long   rsvd_39_56:18;
2853                unsigned long   ni_port:6;                      /* RO */
2854                unsigned long   rsvd_63:1;
2855        } sy;
2856
2857        /* UV5 unique struct */
2858        struct uv5h_node_id_s {
2859                unsigned long   force1:1;                       /* RO */
2860                unsigned long   manufacturer:11;                /* RO */
2861                unsigned long   part_number:16;                 /* RO */
2862                unsigned long   revision:4;                     /* RO */
2863                unsigned long   node_id:7;                      /* RW */
2864                unsigned long   rsvd_39_56:18;
2865                unsigned long   ni_port:6;                      /* RO */
2866                unsigned long   rsvd_63:1;
2867        } s5;
2868
2869        /* UV4 unique struct */
2870        struct uv4h_node_id_s {
2871                unsigned long   force1:1;                       /* RO */
2872                unsigned long   manufacturer:11;                /* RO */
2873                unsigned long   part_number:16;                 /* RO */
2874                unsigned long   revision:4;                     /* RO */
2875                unsigned long   node_id:15;                     /* RW */
2876                unsigned long   rsvd_47:1;
2877                unsigned long   router_select:1;                /* RO */
2878                unsigned long   rsvd_49:1;
2879                unsigned long   nodes_per_bit:7;                /* RO */
2880                unsigned long   ni_port:5;                      /* RO */
2881                unsigned long   rsvd_62_63:2;
2882        } s4;
2883
2884        /* UV3 unique struct */
2885        struct uv3h_node_id_s {
2886                unsigned long   force1:1;                       /* RO */
2887                unsigned long   manufacturer:11;                /* RO */
2888                unsigned long   part_number:16;                 /* RO */
2889                unsigned long   revision:4;                     /* RO */
2890                unsigned long   node_id:15;                     /* RW */
2891                unsigned long   rsvd_47:1;
2892                unsigned long   router_select:1;                /* RO */
2893                unsigned long   rsvd_49:1;
2894                unsigned long   nodes_per_bit:7;                /* RO */
2895                unsigned long   ni_port:5;                      /* RO */
2896                unsigned long   rsvd_62_63:2;
2897        } s3;
2898
2899        /* UV2 unique struct */
2900        struct uv2h_node_id_s {
2901                unsigned long   force1:1;                       /* RO */
2902                unsigned long   manufacturer:11;                /* RO */
2903                unsigned long   part_number:16;                 /* RO */
2904                unsigned long   revision:4;                     /* RO */
2905                unsigned long   node_id:15;                     /* RW */
2906                unsigned long   rsvd_47_49:3;
2907                unsigned long   nodes_per_bit:7;                /* RO */
2908                unsigned long   ni_port:5;                      /* RO */
2909                unsigned long   rsvd_62_63:2;
2910        } s2;
2911};
2912
2913/* ========================================================================= */
2914/*                            UVH_NODE_PRESENT_0                             */
2915/* ========================================================================= */
2916#define UVH_NODE_PRESENT_0 (                                            \
2917        is_uv(UV5) ? 0x1400UL :                                         \
2918        0)
2919
2920
2921/* UVYH common defines */
2922#define UVYH_NODE_PRESENT_0_NODES_SHFT                  0
2923#define UVYH_NODE_PRESENT_0_NODES_MASK                  0xffffffffffffffffUL
2924
2925
2926union uvh_node_present_0_u {
2927        unsigned long   v;
2928
2929        /* UVH common struct */
2930        struct uvh_node_present_0_s {
2931                unsigned long   nodes:64;                       /* RW */
2932        } s;
2933
2934        /* UVYH common struct */
2935        struct uvyh_node_present_0_s {
2936                unsigned long   nodes:64;                       /* RW */
2937        } sy;
2938
2939        /* UV5 unique struct */
2940        struct uv5h_node_present_0_s {
2941                unsigned long   nodes:64;                       /* RW */
2942        } s5;
2943};
2944
2945/* ========================================================================= */
2946/*                            UVH_NODE_PRESENT_1                             */
2947/* ========================================================================= */
2948#define UVH_NODE_PRESENT_1 (                                            \
2949        is_uv(UV5) ? 0x1408UL :                                         \
2950        0)
2951
2952
2953/* UVYH common defines */
2954#define UVYH_NODE_PRESENT_1_NODES_SHFT                  0
2955#define UVYH_NODE_PRESENT_1_NODES_MASK                  0xffffffffffffffffUL
2956
2957
2958union uvh_node_present_1_u {
2959        unsigned long   v;
2960
2961        /* UVH common struct */
2962        struct uvh_node_present_1_s {
2963                unsigned long   nodes:64;                       /* RW */
2964        } s;
2965
2966        /* UVYH common struct */
2967        struct uvyh_node_present_1_s {
2968                unsigned long   nodes:64;                       /* RW */
2969        } sy;
2970
2971        /* UV5 unique struct */
2972        struct uv5h_node_present_1_s {
2973                unsigned long   nodes:64;                       /* RW */
2974        } s5;
2975};
2976
2977/* ========================================================================= */
2978/*                          UVH_NODE_PRESENT_TABLE                           */
2979/* ========================================================================= */
2980#define UVH_NODE_PRESENT_TABLE (                                        \
2981        is_uv(UV4) ? 0x1400UL :                                         \
2982        is_uv(UV3) ? 0x1400UL :                                         \
2983        is_uv(UV2) ? 0x1400UL :                                         \
2984        0)
2985
2986#define UVH_NODE_PRESENT_TABLE_DEPTH (                                  \
2987        is_uv(UV4) ? 4 :                                                \
2988        is_uv(UV3) ? 16 :                                               \
2989        is_uv(UV2) ? 16 :                                               \
2990        0)
2991
2992
2993/* UVXH common defines */
2994#define UVXH_NODE_PRESENT_TABLE_NODES_SHFT              0
2995#define UVXH_NODE_PRESENT_TABLE_NODES_MASK              0xffffffffffffffffUL
2996
2997
2998union uvh_node_present_table_u {
2999        unsigned long   v;
3000
3001        /* UVH common struct */
3002        struct uvh_node_present_table_s {
3003                unsigned long   nodes:64;                       /* RW */
3004        } s;
3005
3006        /* UVXH common struct */
3007        struct uvxh_node_present_table_s {
3008                unsigned long   nodes:64;                       /* RW */
3009        } sx;
3010
3011        /* UV4 unique struct */
3012        struct uv4h_node_present_table_s {
3013                unsigned long   nodes:64;                       /* RW */
3014        } s4;
3015
3016        /* UV3 unique struct */
3017        struct uv3h_node_present_table_s {
3018                unsigned long   nodes:64;                       /* RW */
3019        } s3;
3020
3021        /* UV2 unique struct */
3022        struct uv2h_node_present_table_s {
3023                unsigned long   nodes:64;                       /* RW */
3024        } s2;
3025};
3026
3027/* ========================================================================= */
3028/*                       UVH_RH10_GAM_ADDR_MAP_CONFIG                        */
3029/* ========================================================================= */
3030#define UVH_RH10_GAM_ADDR_MAP_CONFIG (                                  \
3031        is_uv(UV5) ? 0x470000UL :                                       \
3032        0)
3033
3034
3035/* UVYH common defines */
3036#define UVYH_RH10_GAM_ADDR_MAP_CONFIG_N_SKT_SHFT        6
3037#define UVYH_RH10_GAM_ADDR_MAP_CONFIG_N_SKT_MASK        0x00000000000001c0UL
3038#define UVYH_RH10_GAM_ADDR_MAP_CONFIG_LS_ENABLE_SHFT    12
3039#define UVYH_RH10_GAM_ADDR_MAP_CONFIG_LS_ENABLE_MASK    0x0000000000001000UL
3040#define UVYH_RH10_GAM_ADDR_MAP_CONFIG_MK_TME_KEYID_BITS_SHFT 16
3041#define UVYH_RH10_GAM_ADDR_MAP_CONFIG_MK_TME_KEYID_BITS_MASK 0x00000000000f0000UL
3042
3043
3044union uvh_rh10_gam_addr_map_config_u {
3045        unsigned long   v;
3046
3047        /* UVH common struct */
3048        struct uvh_rh10_gam_addr_map_config_s {
3049                unsigned long   undef_0_5:6;                    /* Undefined */
3050                unsigned long   n_skt:3;                        /* RW */
3051                unsigned long   undef_9_11:3;                   /* Undefined */
3052                unsigned long   ls_enable:1;                    /* RW */
3053                unsigned long   undef_13_15:3;                  /* Undefined */
3054                unsigned long   mk_tme_keyid_bits:4;            /* RW */
3055                unsigned long   rsvd_20_63:44;
3056        } s;
3057
3058        /* UVYH common struct */
3059        struct uvyh_rh10_gam_addr_map_config_s {
3060                unsigned long   undef_0_5:6;                    /* Undefined */
3061                unsigned long   n_skt:3;                        /* RW */
3062                unsigned long   undef_9_11:3;                   /* Undefined */
3063                unsigned long   ls_enable:1;                    /* RW */
3064                unsigned long   undef_13_15:3;                  /* Undefined */
3065                unsigned long   mk_tme_keyid_bits:4;            /* RW */
3066                unsigned long   rsvd_20_63:44;
3067        } sy;
3068
3069        /* UV5 unique struct */
3070        struct uv5h_rh10_gam_addr_map_config_s {
3071                unsigned long   undef_0_5:6;                    /* Undefined */
3072                unsigned long   n_skt:3;                        /* RW */
3073                unsigned long   undef_9_11:3;                   /* Undefined */
3074                unsigned long   ls_enable:1;                    /* RW */
3075                unsigned long   undef_13_15:3;                  /* Undefined */
3076                unsigned long   mk_tme_keyid_bits:4;            /* RW */
3077        } s5;
3078};
3079
3080/* ========================================================================= */
3081/*                     UVH_RH10_GAM_GRU_OVERLAY_CONFIG                       */
3082/* ========================================================================= */
3083#define UVH_RH10_GAM_GRU_OVERLAY_CONFIG (                               \
3084        is_uv(UV5) ? 0x4700b0UL :                                       \
3085        0)
3086
3087
3088/* UVYH common defines */
3089#define UVYH_RH10_GAM_GRU_OVERLAY_CONFIG_BASE_SHFT      25
3090#define UVYH_RH10_GAM_GRU_OVERLAY_CONFIG_BASE_MASK      0x000ffffffe000000UL
3091#define UVYH_RH10_GAM_GRU_OVERLAY_CONFIG_N_GRU_SHFT     52
3092#define UVYH_RH10_GAM_GRU_OVERLAY_CONFIG_N_GRU_MASK     0x0070000000000000UL
3093#define UVYH_RH10_GAM_GRU_OVERLAY_CONFIG_ENABLE_SHFT    63
3094#define UVYH_RH10_GAM_GRU_OVERLAY_CONFIG_ENABLE_MASK    0x8000000000000000UL
3095
3096#define UVH_RH10_GAM_GRU_OVERLAY_CONFIG_BASE_MASK (                     \
3097        is_uv(UV5) ? 0x000ffffffe000000UL :                             \
3098        0)
3099#define UVH_RH10_GAM_GRU_OVERLAY_CONFIG_BASE_SHFT (                     \
3100        is_uv(UV5) ? 25 :                                               \
3101        -1)
3102
3103union uvh_rh10_gam_gru_overlay_config_u {
3104        unsigned long   v;
3105
3106        /* UVH common struct */
3107        struct uvh_rh10_gam_gru_overlay_config_s {
3108                unsigned long   undef_0_24:25;                  /* Undefined */
3109                unsigned long   base:27;                        /* RW */
3110                unsigned long   n_gru:3;                        /* RW */
3111                unsigned long   undef_55_62:8;                  /* Undefined */
3112                unsigned long   enable:1;                       /* RW */
3113        } s;
3114
3115        /* UVYH common struct */
3116        struct uvyh_rh10_gam_gru_overlay_config_s {
3117                unsigned long   undef_0_24:25;                  /* Undefined */
3118                unsigned long   base:27;                        /* RW */
3119                unsigned long   n_gru:3;                        /* RW */
3120                unsigned long   undef_55_62:8;                  /* Undefined */
3121                unsigned long   enable:1;                       /* RW */
3122        } sy;
3123
3124        /* UV5 unique struct */
3125        struct uv5h_rh10_gam_gru_overlay_config_s {
3126                unsigned long   undef_0_24:25;                  /* Undefined */
3127                unsigned long   base:27;                        /* RW */
3128                unsigned long   n_gru:3;                        /* RW */
3129                unsigned long   undef_55_62:8;                  /* Undefined */
3130                unsigned long   enable:1;                       /* RW */
3131        } s5;
3132};
3133
3134/* ========================================================================= */
3135/*                    UVH_RH10_GAM_MMIOH_OVERLAY_CONFIG0                     */
3136/* ========================================================================= */
3137#define UVH_RH10_GAM_MMIOH_OVERLAY_CONFIG0 (                            \
3138        is_uv(UV5) ? 0x473000UL :                                       \
3139        0)
3140
3141
3142/* UVYH common defines */
3143#define UVYH_RH10_GAM_MMIOH_OVERLAY_CONFIG0_BASE_SHFT   26
3144#define UVYH_RH10_GAM_MMIOH_OVERLAY_CONFIG0_BASE_MASK   0x000ffffffc000000UL
3145#define UVYH_RH10_GAM_MMIOH_OVERLAY_CONFIG0_M_IO_SHFT   52
3146#define UVYH_RH10_GAM_MMIOH_OVERLAY_CONFIG0_M_IO_MASK   0x03f0000000000000UL
3147#define UVYH_RH10_GAM_MMIOH_OVERLAY_CONFIG0_ENABLE_SHFT 63
3148#define UVYH_RH10_GAM_MMIOH_OVERLAY_CONFIG0_ENABLE_MASK 0x8000000000000000UL
3149
3150#define UVH_RH10_GAM_MMIOH_OVERLAY_CONFIG0_BASE_MASK (                  \
3151        is_uv(UV5) ? 0x000ffffffc000000UL :                             \
3152        0)
3153#define UVH_RH10_GAM_MMIOH_OVERLAY_CONFIG0_BASE_SHFT (                  \
3154        is_uv(UV5) ? 26 :                                               \
3155        -1)
3156
3157union uvh_rh10_gam_mmioh_overlay_config0_u {
3158        unsigned long   v;
3159
3160        /* UVH common struct */
3161        struct uvh_rh10_gam_mmioh_overlay_config0_s {
3162                unsigned long   rsvd_0_25:26;
3163                unsigned long   base:26;                        /* RW */
3164                unsigned long   m_io:6;                         /* RW */
3165                unsigned long   n_io:4;
3166                unsigned long   undef_62:1;                     /* Undefined */
3167                unsigned long   enable:1;                       /* RW */
3168        } s;
3169
3170        /* UVYH common struct */
3171        struct uvyh_rh10_gam_mmioh_overlay_config0_s {
3172                unsigned long   rsvd_0_25:26;
3173                unsigned long   base:26;                        /* RW */
3174                unsigned long   m_io:6;                         /* RW */
3175                unsigned long   n_io:4;
3176                unsigned long   undef_62:1;                     /* Undefined */
3177                unsigned long   enable:1;                       /* RW */
3178        } sy;
3179
3180        /* UV5 unique struct */
3181        struct uv5h_rh10_gam_mmioh_overlay_config0_s {
3182                unsigned long   rsvd_0_25:26;
3183                unsigned long   base:26;                        /* RW */
3184                unsigned long   m_io:6;                         /* RW */
3185                unsigned long   n_io:4;
3186                unsigned long   undef_62:1;                     /* Undefined */
3187                unsigned long   enable:1;                       /* RW */
3188        } s5;
3189};
3190
3191/* ========================================================================= */
3192/*                    UVH_RH10_GAM_MMIOH_OVERLAY_CONFIG1                     */
3193/* ========================================================================= */
3194#define UVH_RH10_GAM_MMIOH_OVERLAY_CONFIG1 (                            \
3195        is_uv(UV5) ? 0x474000UL :                                       \
3196        0)
3197
3198
3199/* UVYH common defines */
3200#define UVYH_RH10_GAM_MMIOH_OVERLAY_CONFIG1_BASE_SHFT   26
3201#define UVYH_RH10_GAM_MMIOH_OVERLAY_CONFIG1_BASE_MASK   0x000ffffffc000000UL
3202#define UVYH_RH10_GAM_MMIOH_OVERLAY_CONFIG1_M_IO_SHFT   52
3203#define UVYH_RH10_GAM_MMIOH_OVERLAY_CONFIG1_M_IO_MASK   0x03f0000000000000UL
3204#define UVYH_RH10_GAM_MMIOH_OVERLAY_CONFIG1_ENABLE_SHFT 63
3205#define UVYH_RH10_GAM_MMIOH_OVERLAY_CONFIG1_ENABLE_MASK 0x8000000000000000UL
3206
3207#define UVH_RH10_GAM_MMIOH_OVERLAY_CONFIG1_BASE_MASK (                  \
3208        is_uv(UV5) ? 0x000ffffffc000000UL :                             \
3209        0)
3210#define UVH_RH10_GAM_MMIOH_OVERLAY_CONFIG1_BASE_SHFT (                  \
3211        is_uv(UV5) ? 26 :                                               \
3212        -1)
3213
3214union uvh_rh10_gam_mmioh_overlay_config1_u {
3215        unsigned long   v;
3216
3217        /* UVH common struct */
3218        struct uvh_rh10_gam_mmioh_overlay_config1_s {
3219                unsigned long   rsvd_0_25:26;
3220                unsigned long   base:26;                        /* RW */
3221                unsigned long   m_io:6;                         /* RW */
3222                unsigned long   n_io:4;
3223                unsigned long   undef_62:1;                     /* Undefined */
3224                unsigned long   enable:1;                       /* RW */
3225        } s;
3226
3227        /* UVYH common struct */
3228        struct uvyh_rh10_gam_mmioh_overlay_config1_s {
3229                unsigned long   rsvd_0_25:26;
3230                unsigned long   base:26;                        /* RW */
3231                unsigned long   m_io:6;                         /* RW */
3232                unsigned long   n_io:4;
3233                unsigned long   undef_62:1;                     /* Undefined */
3234                unsigned long   enable:1;                       /* RW */
3235        } sy;
3236
3237        /* UV5 unique struct */
3238        struct uv5h_rh10_gam_mmioh_overlay_config1_s {
3239                unsigned long   rsvd_0_25:26;
3240                unsigned long   base:26;                        /* RW */
3241                unsigned long   m_io:6;                         /* RW */
3242                unsigned long   n_io:4;
3243                unsigned long   undef_62:1;                     /* Undefined */
3244                unsigned long   enable:1;                       /* RW */
3245        } s5;
3246};
3247
3248/* ========================================================================= */
3249/*                   UVH_RH10_GAM_MMIOH_REDIRECT_CONFIG0                     */
3250/* ========================================================================= */
3251#define UVH_RH10_GAM_MMIOH_REDIRECT_CONFIG0 (                           \
3252        is_uv(UV5) ? 0x473800UL :                                       \
3253        0)
3254
3255#define UVH_RH10_GAM_MMIOH_REDIRECT_CONFIG0_DEPTH (                     \
3256        is_uv(UV5) ? 128 :                                              \
3257        0)
3258
3259
3260/* UVYH common defines */
3261#define UVYH_RH10_GAM_MMIOH_REDIRECT_CONFIG0_NASID_SHFT 0
3262#define UVYH_RH10_GAM_MMIOH_REDIRECT_CONFIG0_NASID_MASK 0x000000000000007fUL
3263
3264
3265union uvh_rh10_gam_mmioh_redirect_config0_u {
3266        unsigned long   v;
3267
3268        /* UVH common struct */
3269        struct uvh_rh10_gam_mmioh_redirect_config0_s {
3270                unsigned long   nasid:7;                        /* RW */
3271                unsigned long   rsvd_7_63:57;
3272        } s;
3273
3274        /* UVYH common struct */
3275        struct uvyh_rh10_gam_mmioh_redirect_config0_s {
3276                unsigned long   nasid:7;                        /* RW */
3277                unsigned long   rsvd_7_63:57;
3278        } sy;
3279
3280        /* UV5 unique struct */
3281        struct uv5h_rh10_gam_mmioh_redirect_config0_s {
3282                unsigned long   nasid:7;                        /* RW */
3283                unsigned long   rsvd_7_63:57;
3284        } s5;
3285};
3286
3287/* ========================================================================= */
3288/*                   UVH_RH10_GAM_MMIOH_REDIRECT_CONFIG1                     */
3289/* ========================================================================= */
3290#define UVH_RH10_GAM_MMIOH_REDIRECT_CONFIG1 (                           \
3291        is_uv(UV5) ? 0x474800UL :                                       \
3292        0)
3293
3294#define UVH_RH10_GAM_MMIOH_REDIRECT_CONFIG1_DEPTH (                     \
3295        is_uv(UV5) ? 128 :                                              \
3296        0)
3297
3298
3299/* UVYH common defines */
3300#define UVYH_RH10_GAM_MMIOH_REDIRECT_CONFIG1_NASID_SHFT 0
3301#define UVYH_RH10_GAM_MMIOH_REDIRECT_CONFIG1_NASID_MASK 0x000000000000007fUL
3302
3303
3304union uvh_rh10_gam_mmioh_redirect_config1_u {
3305        unsigned long   v;
3306
3307        /* UVH common struct */
3308        struct uvh_rh10_gam_mmioh_redirect_config1_s {
3309                unsigned long   nasid:7;                        /* RW */
3310                unsigned long   rsvd_7_63:57;
3311        } s;
3312
3313        /* UVYH common struct */
3314        struct uvyh_rh10_gam_mmioh_redirect_config1_s {
3315                unsigned long   nasid:7;                        /* RW */
3316                unsigned long   rsvd_7_63:57;
3317        } sy;
3318
3319        /* UV5 unique struct */
3320        struct uv5h_rh10_gam_mmioh_redirect_config1_s {
3321                unsigned long   nasid:7;                        /* RW */
3322                unsigned long   rsvd_7_63:57;
3323        } s5;
3324};
3325
3326/* ========================================================================= */
3327/*                     UVH_RH10_GAM_MMR_OVERLAY_CONFIG                       */
3328/* ========================================================================= */
3329#define UVH_RH10_GAM_MMR_OVERLAY_CONFIG (                               \
3330        is_uv(UV5) ? 0x470090UL :                                       \
3331        0)
3332
3333
3334/* UVYH common defines */
3335#define UVYH_RH10_GAM_MMR_OVERLAY_CONFIG_BASE_SHFT      25
3336#define UVYH_RH10_GAM_MMR_OVERLAY_CONFIG_BASE_MASK      0x000ffffffe000000UL
3337#define UVYH_RH10_GAM_MMR_OVERLAY_CONFIG_ENABLE_SHFT    63
3338#define UVYH_RH10_GAM_MMR_OVERLAY_CONFIG_ENABLE_MASK    0x8000000000000000UL
3339
3340#define UVH_RH10_GAM_MMR_OVERLAY_CONFIG_BASE_MASK (                     \
3341        is_uv(UV5) ? 0x000ffffffe000000UL :                             \
3342        0)
3343#define UVH_RH10_GAM_MMR_OVERLAY_CONFIG_BASE_SHFT (                     \
3344        is_uv(UV5) ? 25 :                                               \
3345        -1)
3346
3347union uvh_rh10_gam_mmr_overlay_config_u {
3348        unsigned long   v;
3349
3350        /* UVH common struct */
3351        struct uvh_rh10_gam_mmr_overlay_config_s {
3352                unsigned long   undef_0_24:25;                  /* Undefined */
3353                unsigned long   base:27;                        /* RW */
3354                unsigned long   undef_52_62:11;                 /* Undefined */
3355                unsigned long   enable:1;                       /* RW */
3356        } s;
3357
3358        /* UVYH common struct */
3359        struct uvyh_rh10_gam_mmr_overlay_config_s {
3360                unsigned long   undef_0_24:25;                  /* Undefined */
3361                unsigned long   base:27;                        /* RW */
3362                unsigned long   undef_52_62:11;                 /* Undefined */
3363                unsigned long   enable:1;                       /* RW */
3364        } sy;
3365
3366        /* UV5 unique struct */
3367        struct uv5h_rh10_gam_mmr_overlay_config_s {
3368                unsigned long   undef_0_24:25;                  /* Undefined */
3369                unsigned long   base:27;                        /* RW */
3370                unsigned long   undef_52_62:11;                 /* Undefined */
3371                unsigned long   enable:1;                       /* RW */
3372        } s5;
3373};
3374
3375/* ========================================================================= */
3376/*                        UVH_RH_GAM_ADDR_MAP_CONFIG                         */
3377/* ========================================================================= */
3378#define UVH_RH_GAM_ADDR_MAP_CONFIG (                                    \
3379        is_uv(UV4) ? 0x480000UL :                                       \
3380        is_uv(UV3) ? 0x1600000UL :                                      \
3381        is_uv(UV2) ? 0x1600000UL :                                      \
3382        0)
3383
3384
3385/* UVXH common defines */
3386#define UVXH_RH_GAM_ADDR_MAP_CONFIG_N_SKT_SHFT          6
3387#define UVXH_RH_GAM_ADDR_MAP_CONFIG_N_SKT_MASK          0x00000000000003c0UL
3388
3389/* UV3 unique defines */
3390#define UV3H_RH_GAM_ADDR_MAP_CONFIG_M_SKT_SHFT          0
3391#define UV3H_RH_GAM_ADDR_MAP_CONFIG_M_SKT_MASK          0x000000000000003fUL
3392
3393/* UV2 unique defines */
3394#define UV2H_RH_GAM_ADDR_MAP_CONFIG_M_SKT_SHFT          0
3395#define UV2H_RH_GAM_ADDR_MAP_CONFIG_M_SKT_MASK          0x000000000000003fUL
3396
3397
3398union uvh_rh_gam_addr_map_config_u {
3399        unsigned long   v;
3400
3401        /* UVH common struct */
3402        struct uvh_rh_gam_addr_map_config_s {
3403                unsigned long   rsvd_0_5:6;
3404                unsigned long   n_skt:4;                        /* RW */
3405                unsigned long   rsvd_10_63:54;
3406        } s;
3407
3408        /* UVXH common struct */
3409        struct uvxh_rh_gam_addr_map_config_s {
3410                unsigned long   rsvd_0_5:6;
3411                unsigned long   n_skt:4;                        /* RW */
3412                unsigned long   rsvd_10_63:54;
3413        } sx;
3414
3415        /* UV4 unique struct */
3416        struct uv4h_rh_gam_addr_map_config_s {
3417                unsigned long   rsvd_0_5:6;
3418                unsigned long   n_skt:4;                        /* RW */
3419                unsigned long   rsvd_10_63:54;
3420        } s4;
3421
3422        /* UV3 unique struct */
3423        struct uv3h_rh_gam_addr_map_config_s {
3424                unsigned long   m_skt:6;                        /* RW */
3425                unsigned long   n_skt:4;                        /* RW */
3426                unsigned long   rsvd_10_63:54;
3427        } s3;
3428
3429        /* UV2 unique struct */
3430        struct uv2h_rh_gam_addr_map_config_s {
3431                unsigned long   m_skt:6;                        /* RW */
3432                unsigned long   n_skt:4;                        /* RW */
3433                unsigned long   rsvd_10_63:54;
3434        } s2;
3435};
3436
3437/* ========================================================================= */
3438/*                    UVH_RH_GAM_ALIAS_0_OVERLAY_CONFIG                      */
3439/* ========================================================================= */
3440#define UVH_RH_GAM_ALIAS_0_OVERLAY_CONFIG (                             \
3441        is_uv(UV4) ? 0x4800c8UL :                                       \
3442        is_uv(UV3) ? 0x16000c8UL :                                      \
3443        is_uv(UV2) ? 0x16000c8UL :                                      \
3444        0)
3445
3446
3447/* UVXH common defines */
3448#define UVXH_RH_GAM_ALIAS_0_OVERLAY_CONFIG_BASE_SHFT    24
3449#define UVXH_RH_GAM_ALIAS_0_OVERLAY_CONFIG_BASE_MASK    0x00000000ff000000UL
3450#define UVXH_RH_GAM_ALIAS_0_OVERLAY_CONFIG_M_ALIAS_SHFT 48
3451#define UVXH_RH_GAM_ALIAS_0_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
3452#define UVXH_RH_GAM_ALIAS_0_OVERLAY_CONFIG_ENABLE_SHFT  63
3453#define UVXH_RH_GAM_ALIAS_0_OVERLAY_CONFIG_ENABLE_MASK  0x8000000000000000UL
3454
3455
3456union uvh_rh_gam_alias_0_overlay_config_u {
3457        unsigned long   v;
3458
3459        /* UVH common struct */
3460        struct uvh_rh_gam_alias_0_overlay_config_s {
3461                unsigned long   rsvd_0_23:24;
3462                unsigned long   base:8;                         /* RW */
3463                unsigned long   rsvd_32_47:16;
3464                unsigned long   m_alias:5;                      /* RW */
3465                unsigned long   rsvd_53_62:10;
3466                unsigned long   enable:1;                       /* RW */
3467        } s;
3468
3469        /* UVXH common struct */
3470        struct uvxh_rh_gam_alias_0_overlay_config_s {
3471                unsigned long   rsvd_0_23:24;
3472                unsigned long   base:8;                         /* RW */
3473                unsigned long   rsvd_32_47:16;
3474                unsigned long   m_alias:5;                      /* RW */
3475                unsigned long   rsvd_53_62:10;
3476                unsigned long   enable:1;                       /* RW */
3477        } sx;
3478
3479        /* UV4 unique struct */
3480        struct uv4h_rh_gam_alias_0_overlay_config_s {
3481                unsigned long   rsvd_0_23:24;
3482                unsigned long   base:8;                         /* RW */
3483                unsigned long   rsvd_32_47:16;
3484                unsigned long   m_alias:5;                      /* RW */
3485                unsigned long   rsvd_53_62:10;
3486                unsigned long   enable:1;                       /* RW */
3487        } s4;
3488
3489        /* UV3 unique struct */
3490        struct uv3h_rh_gam_alias_0_overlay_config_s {
3491                unsigned long   rsvd_0_23:24;
3492                unsigned long   base:8;                         /* RW */
3493                unsigned long   rsvd_32_47:16;
3494                unsigned long   m_alias:5;                      /* RW */
3495                unsigned long   rsvd_53_62:10;
3496                unsigned long   enable:1;                       /* RW */
3497        } s3;
3498
3499        /* UV2 unique struct */
3500        struct uv2h_rh_gam_alias_0_overlay_config_s {
3501                unsigned long   rsvd_0_23:24;
3502                unsigned long   base:8;                         /* RW */
3503                unsigned long   rsvd_32_47:16;
3504                unsigned long   m_alias:5;                      /* RW */
3505                unsigned long   rsvd_53_62:10;
3506                unsigned long   enable:1;                       /* RW */
3507        } s2;
3508};
3509
3510/* ========================================================================= */
3511/*                    UVH_RH_GAM_ALIAS_0_REDIRECT_CONFIG                     */
3512/* ========================================================================= */
3513#define UVH_RH_GAM_ALIAS_0_REDIRECT_CONFIG (                            \
3514        is_uv(UV4) ? 0x4800d0UL :                                       \
3515        is_uv(UV3) ? 0x16000d0UL :                                      \
3516        is_uv(UV2) ? 0x16000d0UL :                                      \
3517        0)
3518
3519
3520/* UVXH common defines */
3521#define UVXH_RH_GAM_ALIAS_0_REDIRECT_CONFIG_DEST_BASE_SHFT 24
3522#define UVXH_RH_GAM_ALIAS_0_REDIRECT_CONFIG_DEST_BASE_MASK 0x00003fffff000000UL
3523
3524
3525union uvh_rh_gam_alias_0_redirect_config_u {
3526        unsigned long   v;
3527
3528        /* UVH common struct */
3529        struct uvh_rh_gam_alias_0_redirect_config_s {
3530                unsigned long   rsvd_0_23:24;
3531                unsigned long   dest_base:22;                   /* RW */
3532                unsigned long   rsvd_46_63:18;
3533        } s;
3534
3535        /* UVXH common struct */
3536        struct uvxh_rh_gam_alias_0_redirect_config_s {
3537                unsigned long   rsvd_0_23:24;
3538                unsigned long   dest_base:22;                   /* RW */
3539                unsigned long   rsvd_46_63:18;
3540        } sx;
3541
3542        /* UV4 unique struct */
3543        struct uv4h_rh_gam_alias_0_redirect_config_s {
3544                unsigned long   rsvd_0_23:24;
3545                unsigned long   dest_base:22;                   /* RW */
3546                unsigned long   rsvd_46_63:18;
3547        } s4;
3548
3549        /* UV3 unique struct */
3550        struct uv3h_rh_gam_alias_0_redirect_config_s {
3551                unsigned long   rsvd_0_23:24;
3552                unsigned long   dest_base:22;                   /* RW */
3553                unsigned long   rsvd_46_63:18;
3554        } s3;
3555
3556        /* UV2 unique struct */
3557        struct uv2h_rh_gam_alias_0_redirect_config_s {
3558                unsigned long   rsvd_0_23:24;
3559                unsigned long   dest_base:22;                   /* RW */
3560                unsigned long   rsvd_46_63:18;
3561        } s2;
3562};
3563
3564/* ========================================================================= */
3565/*                    UVH_RH_GAM_ALIAS_1_OVERLAY_CONFIG                      */
3566/* ========================================================================= */
3567#define UVH_RH_GAM_ALIAS_1_OVERLAY_CONFIG (                             \
3568        is_uv(UV4) ? 0x4800d8UL :                                       \
3569        is_uv(UV3) ? 0x16000d8UL :                                      \
3570        is_uv(UV2) ? 0x16000d8UL :                                      \
3571        0)
3572
3573
3574/* UVXH common defines */
3575#define UVXH_RH_GAM_ALIAS_1_OVERLAY_CONFIG_BASE_SHFT    24
3576#define UVXH_RH_GAM_ALIAS_1_OVERLAY_CONFIG_BASE_MASK    0x00000000ff000000UL
3577#define UVXH_RH_GAM_ALIAS_1_OVERLAY_CONFIG_M_ALIAS_SHFT 48
3578#define UVXH_RH_GAM_ALIAS_1_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
3579#define UVXH_RH_GAM_ALIAS_1_OVERLAY_CONFIG_ENABLE_SHFT  63
3580#define UVXH_RH_GAM_ALIAS_1_OVERLAY_CONFIG_ENABLE_MASK  0x8000000000000000UL
3581
3582
3583union uvh_rh_gam_alias_1_overlay_config_u {
3584        unsigned long   v;
3585
3586        /* UVH common struct */
3587        struct uvh_rh_gam_alias_1_overlay_config_s {
3588                unsigned long   rsvd_0_23:24;
3589                unsigned long   base:8;                         /* RW */
3590                unsigned long   rsvd_32_47:16;
3591                unsigned long   m_alias:5;                      /* RW */
3592                unsigned long   rsvd_53_62:10;
3593                unsigned long   enable:1;                       /* RW */
3594        } s;
3595
3596        /* UVXH common struct */
3597        struct uvxh_rh_gam_alias_1_overlay_config_s {
3598                unsigned long   rsvd_0_23:24;
3599                unsigned long   base:8;                         /* RW */
3600                unsigned long   rsvd_32_47:16;
3601                unsigned long   m_alias:5;                      /* RW */
3602                unsigned long   rsvd_53_62:10;
3603                unsigned long   enable:1;                       /* RW */
3604        } sx;
3605
3606        /* UV4 unique struct */
3607        struct uv4h_rh_gam_alias_1_overlay_config_s {
3608                unsigned long   rsvd_0_23:24;
3609                unsigned long   base:8;                         /* RW */
3610                unsigned long   rsvd_32_47:16;
3611                unsigned long   m_alias:5;                      /* RW */
3612                unsigned long   rsvd_53_62:10;
3613                unsigned long   enable:1;                       /* RW */
3614        } s4;
3615
3616        /* UV3 unique struct */
3617        struct uv3h_rh_gam_alias_1_overlay_config_s {
3618                unsigned long   rsvd_0_23:24;
3619                unsigned long   base:8;                         /* RW */
3620                unsigned long   rsvd_32_47:16;
3621                unsigned long   m_alias:5;                      /* RW */
3622                unsigned long   rsvd_53_62:10;
3623                unsigned long   enable:1;                       /* RW */
3624        } s3;
3625
3626        /* UV2 unique struct */
3627        struct uv2h_rh_gam_alias_1_overlay_config_s {
3628                unsigned long   rsvd_0_23:24;
3629                unsigned long   base:8;                         /* RW */
3630                unsigned long   rsvd_32_47:16;
3631                unsigned long   m_alias:5;                      /* RW */
3632                unsigned long   rsvd_53_62:10;
3633                unsigned long   enable:1;                       /* RW */
3634        } s2;
3635};
3636
3637/* ========================================================================= */
3638/*                    UVH_RH_GAM_ALIAS_1_REDIRECT_CONFIG                     */
3639/* ========================================================================= */
3640#define UVH_RH_GAM_ALIAS_1_REDIRECT_CONFIG (                            \
3641        is_uv(UV4) ? 0x4800e0UL :                                       \
3642        is_uv(UV3) ? 0x16000e0UL :                                      \
3643        is_uv(UV2) ? 0x16000e0UL :                                      \
3644        0)
3645
3646
3647/* UVXH common defines */
3648#define UVXH_RH_GAM_ALIAS_1_REDIRECT_CONFIG_DEST_BASE_SHFT 24
3649#define UVXH_RH_GAM_ALIAS_1_REDIRECT_CONFIG_DEST_BASE_MASK 0x00003fffff000000UL
3650
3651
3652union uvh_rh_gam_alias_1_redirect_config_u {
3653        unsigned long   v;
3654
3655        /* UVH common struct */
3656        struct uvh_rh_gam_alias_1_redirect_config_s {
3657                unsigned long   rsvd_0_23:24;
3658                unsigned long   dest_base:22;                   /* RW */
3659                unsigned long   rsvd_46_63:18;
3660        } s;
3661
3662        /* UVXH common struct */
3663        struct uvxh_rh_gam_alias_1_redirect_config_s {
3664                unsigned long   rsvd_0_23:24;
3665                unsigned long   dest_base:22;                   /* RW */
3666                unsigned long   rsvd_46_63:18;
3667        } sx;
3668
3669        /* UV4 unique struct */
3670        struct uv4h_rh_gam_alias_1_redirect_config_s {
3671                unsigned long   rsvd_0_23:24;
3672                unsigned long   dest_base:22;                   /* RW */
3673                unsigned long   rsvd_46_63:18;
3674        } s4;
3675
3676        /* UV3 unique struct */
3677        struct uv3h_rh_gam_alias_1_redirect_config_s {
3678                unsigned long   rsvd_0_23:24;
3679                unsigned long   dest_base:22;                   /* RW */
3680                unsigned long   rsvd_46_63:18;
3681        } s3;
3682
3683        /* UV2 unique struct */
3684        struct uv2h_rh_gam_alias_1_redirect_config_s {
3685                unsigned long   rsvd_0_23:24;
3686                unsigned long   dest_base:22;                   /* RW */
3687                unsigned long   rsvd_46_63:18;
3688        } s2;
3689};
3690
3691/* ========================================================================= */
3692/*                    UVH_RH_GAM_ALIAS_2_OVERLAY_CONFIG                      */
3693/* ========================================================================= */
3694#define UVH_RH_GAM_ALIAS_2_OVERLAY_CONFIG (                             \
3695        is_uv(UV4) ? 0x4800e8UL :                                       \
3696        is_uv(UV3) ? 0x16000e8UL :                                      \
3697        is_uv(UV2) ? 0x16000e8UL :                                      \
3698        0)
3699
3700
3701/* UVXH common defines */
3702#define UVXH_RH_GAM_ALIAS_2_OVERLAY_CONFIG_BASE_SHFT    24
3703#define UVXH_RH_GAM_ALIAS_2_OVERLAY_CONFIG_BASE_MASK    0x00000000ff000000UL
3704#define UVXH_RH_GAM_ALIAS_2_OVERLAY_CONFIG_M_ALIAS_SHFT 48
3705#define UVXH_RH_GAM_ALIAS_2_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL
3706#define UVXH_RH_GAM_ALIAS_2_OVERLAY_CONFIG_ENABLE_SHFT  63
3707#define UVXH_RH_GAM_ALIAS_2_OVERLAY_CONFIG_ENABLE_MASK  0x8000000000000000UL
3708
3709
3710union uvh_rh_gam_alias_2_overlay_config_u {
3711        unsigned long   v;
3712
3713        /* UVH common struct */
3714        struct uvh_rh_gam_alias_2_overlay_config_s {
3715                unsigned long   rsvd_0_23:24;
3716                unsigned long   base:8;                         /* RW */
3717                unsigned long   rsvd_32_47:16;
3718                unsigned long   m_alias:5;                      /* RW */
3719                unsigned long   rsvd_53_62:10;
3720                unsigned long   enable:1;                       /* RW */
3721        } s;
3722
3723        /* UVXH common struct */
3724        struct uvxh_rh_gam_alias_2_overlay_config_s {
3725                unsigned long   rsvd_0_23:24;
3726                unsigned long   base:8;                         /* RW */
3727                unsigned long   rsvd_32_47:16;
3728                unsigned long   m_alias:5;                      /* RW */
3729                unsigned long   rsvd_53_62:10;
3730                unsigned long   enable:1;                       /* RW */
3731        } sx;
3732
3733        /* UV4 unique struct */
3734        struct uv4h_rh_gam_alias_2_overlay_config_s {
3735                unsigned long   rsvd_0_23:24;
3736                unsigned long   base:8;                         /* RW */
3737                unsigned long   rsvd_32_47:16;
3738                unsigned long   m_alias:5;                      /* RW */
3739                unsigned long   rsvd_53_62:10;
3740                unsigned long   enable:1;                       /* RW */
3741        } s4;
3742
3743        /* UV3 unique struct */
3744        struct uv3h_rh_gam_alias_2_overlay_config_s {
3745                unsigned long   rsvd_0_23:24;
3746                unsigned long   base:8;                         /* RW */
3747                unsigned long   rsvd_32_47:16;
3748                unsigned long   m_alias:5;                      /* RW */
3749                unsigned long   rsvd_53_62:10;
3750                unsigned long   enable:1;                       /* RW */
3751        } s3;
3752
3753        /* UV2 unique struct */
3754        struct uv2h_rh_gam_alias_2_overlay_config_s {
3755                unsigned long   rsvd_0_23:24;
3756                unsigned long   base:8;                         /* RW */
3757                unsigned long   rsvd_32_47:16;
3758                unsigned long   m_alias:5;                      /* RW */
3759                unsigned long   rsvd_53_62:10;
3760                unsigned long   enable:1;                       /* RW */
3761        } s2;
3762};
3763
3764/* ========================================================================= */
3765/*                    UVH_RH_GAM_ALIAS_2_REDIRECT_CONFIG                     */
3766/* ========================================================================= */
3767#define UVH_RH_GAM_ALIAS_2_REDIRECT_CONFIG (                            \
3768        is_uv(UV4) ? 0x4800f0UL :                                       \
3769        is_uv(UV3) ? 0x16000f0UL :                                      \
3770        is_uv(UV2) ? 0x16000f0UL :                                      \
3771        0)
3772
3773
3774/* UVXH common defines */
3775#define UVXH_RH_GAM_ALIAS_2_REDIRECT_CONFIG_DEST_BASE_SHFT 24
3776#define UVXH_RH_GAM_ALIAS_2_REDIRECT_CONFIG_DEST_BASE_MASK 0x00003fffff000000UL
3777
3778
3779union uvh_rh_gam_alias_2_redirect_config_u {
3780        unsigned long   v;
3781
3782        /* UVH common struct */
3783        struct uvh_rh_gam_alias_2_redirect_config_s {
3784                unsigned long   rsvd_0_23:24;
3785                unsigned long   dest_base:22;                   /* RW */
3786                unsigned long   rsvd_46_63:18;
3787        } s;
3788
3789        /* UVXH common struct */
3790        struct uvxh_rh_gam_alias_2_redirect_config_s {
3791                unsigned long   rsvd_0_23:24;
3792                unsigned long   dest_base:22;                   /* RW */
3793                unsigned long   rsvd_46_63:18;
3794        } sx;
3795
3796        /* UV4 unique struct */
3797        struct uv4h_rh_gam_alias_2_redirect_config_s {
3798                unsigned long   rsvd_0_23:24;
3799                unsigned long   dest_base:22;                   /* RW */
3800                unsigned long   rsvd_46_63:18;
3801        } s4;
3802
3803        /* UV3 unique struct */
3804        struct uv3h_rh_gam_alias_2_redirect_config_s {
3805                unsigned long   rsvd_0_23:24;
3806                unsigned long   dest_base:22;                   /* RW */
3807                unsigned long   rsvd_46_63:18;
3808        } s3;
3809
3810        /* UV2 unique struct */
3811        struct uv2h_rh_gam_alias_2_redirect_config_s {
3812                unsigned long   rsvd_0_23:24;
3813                unsigned long   dest_base:22;                   /* RW */
3814                unsigned long   rsvd_46_63:18;
3815        } s2;
3816};
3817
3818/* ========================================================================= */
3819/*                      UVH_RH_GAM_GRU_OVERLAY_CONFIG                        */
3820/* ========================================================================= */
3821#define UVH_RH_GAM_GRU_OVERLAY_CONFIG (                                 \
3822        is_uv(UV4) ? 0x480010UL :                                       \
3823        is_uv(UV3) ? 0x1600010UL :                                      \
3824        is_uv(UV2) ? 0x1600010UL :                                      \
3825        0)
3826
3827
3828/* UVXH common defines */
3829#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_N_GRU_SHFT       52
3830#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_N_GRU_MASK       0x00f0000000000000UL
3831#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_ENABLE_SHFT      63
3832#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_ENABLE_MASK      0x8000000000000000UL
3833
3834/* UV4A unique defines */
3835#define UV4AH_RH_GAM_GRU_OVERLAY_CONFIG_BASE_SHFT       26
3836#define UV4AH_RH_GAM_GRU_OVERLAY_CONFIG_BASE_MASK       0x000ffffffc000000UL
3837
3838/* UV4 unique defines */
3839#define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_BASE_SHFT        26
3840#define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_BASE_MASK        0x00003ffffc000000UL
3841
3842/* UV3 unique defines */
3843#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_BASE_SHFT        28
3844#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_BASE_MASK        0x00003ffff0000000UL
3845#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MODE_SHFT        62
3846#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MODE_MASK        0x4000000000000000UL
3847
3848/* UV2 unique defines */
3849#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_BASE_SHFT        28
3850#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_BASE_MASK        0x00003ffff0000000UL
3851
3852#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_BASE_MASK (                       \
3853        is_uv(UV4A) ? 0x000ffffffc000000UL :                            \
3854        is_uv(UV4) ? 0x00003ffffc000000UL :                             \
3855        is_uv(UV3) ? 0x00003ffff0000000UL :                             \
3856        is_uv(UV2) ? 0x00003ffff0000000UL :                             \
3857        0)
3858#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_BASE_SHFT (                       \
3859        is_uv(UV4) ? 26 :                                               \
3860        is_uv(UV3) ? 28 :                                               \
3861        is_uv(UV2) ? 28 :                                               \
3862        -1)
3863
3864union uvh_rh_gam_gru_overlay_config_u {
3865        unsigned long   v;
3866
3867        /* UVH common struct */
3868        struct uvh_rh_gam_gru_overlay_config_s {
3869                unsigned long   rsvd_0_45:46;
3870                unsigned long   rsvd_46_51:6;
3871                unsigned long   n_gru:4;                        /* RW */
3872                unsigned long   rsvd_56_62:7;
3873                unsigned long   enable:1;                       /* RW */
3874        } s;
3875
3876        /* UVXH common struct */
3877        struct uvxh_rh_gam_gru_overlay_config_s {
3878                unsigned long   rsvd_0_45:46;
3879                unsigned long   rsvd_46_51:6;
3880                unsigned long   n_gru:4;                        /* RW */
3881                unsigned long   rsvd_56_62:7;
3882                unsigned long   enable:1;                       /* RW */
3883        } sx;
3884
3885        /* UV4A unique struct */
3886        struct uv4ah_rh_gam_gru_overlay_config_s {
3887                unsigned long   rsvd_0_24:25;
3888                unsigned long   undef_25:1;                     /* Undefined */
3889                unsigned long   base:26;                        /* RW */
3890                unsigned long   n_gru:4;                        /* RW */
3891                unsigned long   rsvd_56_62:7;
3892                unsigned long   enable:1;                       /* RW */
3893        } s4a;
3894
3895        /* UV4 unique struct */
3896        struct uv4h_rh_gam_gru_overlay_config_s {
3897                unsigned long   rsvd_0_24:25;
3898                unsigned long   undef_25:1;                     /* Undefined */
3899                unsigned long   base:20;                        /* RW */
3900                unsigned long   rsvd_46_51:6;
3901                unsigned long   n_gru:4;                        /* RW */
3902                unsigned long   rsvd_56_62:7;
3903                unsigned long   enable:1;                       /* RW */
3904        } s4;
3905
3906        /* UV3 unique struct */
3907        struct uv3h_rh_gam_gru_overlay_config_s {
3908                unsigned long   rsvd_0_27:28;
3909                unsigned long   base:18;                        /* RW */
3910                unsigned long   rsvd_46_51:6;
3911                unsigned long   n_gru:4;                        /* RW */
3912                unsigned long   rsvd_56_61:6;
3913                unsigned long   mode:1;                         /* RW */
3914                unsigned long   enable:1;                       /* RW */
3915        } s3;
3916
3917        /* UV2 unique struct */
3918        struct uv2h_rh_gam_gru_overlay_config_s {
3919                unsigned long   rsvd_0_27:28;
3920                unsigned long   base:18;                        /* RW */
3921                unsigned long   rsvd_46_51:6;
3922                unsigned long   n_gru:4;                        /* RW */
3923                unsigned long   rsvd_56_62:7;
3924                unsigned long   enable:1;                       /* RW */
3925        } s2;
3926};
3927
3928/* ========================================================================= */
3929/*                     UVH_RH_GAM_MMIOH_OVERLAY_CONFIG                       */
3930/* ========================================================================= */
3931#define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG (                               \
3932        is_uv(UV2) ? 0x1600030UL :                                      \
3933        0)
3934
3935
3936
3937/* UV2 unique defines */
3938#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_BASE_SHFT      27
3939#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_BASE_MASK      0x00003ffff8000000UL
3940#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_M_IO_SHFT      46
3941#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_M_IO_MASK      0x000fc00000000000UL
3942#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_N_IO_SHFT      52
3943#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_N_IO_MASK      0x00f0000000000000UL
3944#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_ENABLE_SHFT    63
3945#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_ENABLE_MASK    0x8000000000000000UL
3946
3947#define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_BASE_SHFT (                     \
3948        is_uv(UV2) ? 27 :                                               \
3949        uv_undefined("UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_BASE_SHFT"))
3950
3951union uvh_rh_gam_mmioh_overlay_config_u {
3952        unsigned long   v;
3953
3954        /* UVH common struct */
3955        struct uvh_rh_gam_mmioh_overlay_config_s {
3956                unsigned long   rsvd_0_26:27;
3957                unsigned long   base:19;                        /* RW */
3958                unsigned long   m_io:6;                         /* RW */
3959                unsigned long   n_io:4;                         /* RW */
3960                unsigned long   rsvd_56_62:7;
3961                unsigned long   enable:1;                       /* RW */
3962        } s;
3963
3964        /* UVXH common struct */
3965        struct uvxh_rh_gam_mmioh_overlay_config_s {
3966                unsigned long   rsvd_0_26:27;
3967                unsigned long   base:19;                        /* RW */
3968                unsigned long   m_io:6;                         /* RW */
3969                unsigned long   n_io:4;                         /* RW */
3970                unsigned long   rsvd_56_62:7;
3971                unsigned long   enable:1;                       /* RW */
3972        } sx;
3973
3974        /* UV2 unique struct */
3975        struct uv2h_rh_gam_mmioh_overlay_config_s {
3976                unsigned long   rsvd_0_26:27;
3977                unsigned long   base:19;                        /* RW */
3978                unsigned long   m_io:6;                         /* RW */
3979                unsigned long   n_io:4;                         /* RW */
3980                unsigned long   rsvd_56_62:7;
3981                unsigned long   enable:1;                       /* RW */
3982        } s2;
3983};
3984
3985/* ========================================================================= */
3986/*                     UVH_RH_GAM_MMIOH_OVERLAY_CONFIG0                      */
3987/* ========================================================================= */
3988#define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG0 (                              \
3989        is_uv(UV4) ? 0x483000UL :                                       \
3990        is_uv(UV3) ? 0x1603000UL :                                      \
3991        0)
3992
3993/* UV4A unique defines */
3994#define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG0_BASE_SHFT    26
3995#define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG0_BASE_MASK    0x000ffffffc000000UL
3996#define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG0_M_IO_SHFT    52
3997#define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG0_M_IO_MASK    0x03f0000000000000UL
3998#define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG0_ENABLE_SHFT  63
3999#define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG0_ENABLE_MASK  0x8000000000000000UL
4000
4001/* UV4 unique defines */
4002#define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_BASE_SHFT     26
4003#define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_BASE_MASK     0x00003ffffc000000UL
4004#define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_M_IO_SHFT     46
4005#define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_M_IO_MASK     0x000fc00000000000UL
4006#define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_ENABLE_SHFT   63
4007#define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG0_ENABLE_MASK   0x8000000000000000UL
4008
4009/* UV3 unique defines */
4010#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_BASE_SHFT     26
4011#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_BASE_MASK     0x00003ffffc000000UL
4012#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_M_IO_SHFT     46
4013#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_M_IO_MASK     0x000fc00000000000UL
4014#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_ENABLE_SHFT   63
4015#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_ENABLE_MASK   0x8000000000000000UL
4016
4017#define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG0_BASE_MASK (                    \
4018        is_uv(UV4A) ? 0x000ffffffc000000UL :                            \
4019        is_uv(UV4) ? 0x00003ffffc000000UL :                             \
4020        is_uv(UV3) ? 0x00003ffffc000000UL :                             \
4021        0)
4022#define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG0_BASE_SHFT (                    \
4023        is_uv(UV4) ? 26 :                                               \
4024        is_uv(UV3) ? 26 :                                               \
4025        -1)
4026
4027union uvh_rh_gam_mmioh_overlay_config0_u {
4028        unsigned long   v;
4029
4030        /* UVH common struct */
4031        struct uvh_rh_gam_mmioh_overlay_config0_s {
4032                unsigned long   rsvd_0_25:26;
4033                unsigned long   base:20;                        /* RW */
4034                unsigned long   m_io:6;                         /* RW */
4035                unsigned long   n_io:4;
4036                unsigned long   rsvd_56_62:7;
4037                unsigned long   enable:1;                       /* RW */
4038        } s;
4039
4040        /* UVXH common struct */
4041        struct uvxh_rh_gam_mmioh_overlay_config0_s {
4042                unsigned long   rsvd_0_25:26;
4043                unsigned long   base:20;                        /* RW */
4044                unsigned long   m_io:6;                         /* RW */
4045                unsigned long   n_io:4;
4046                unsigned long   rsvd_56_62:7;
4047                unsigned long   enable:1;                       /* RW */
4048        } sx;
4049
4050        /* UV4A unique struct */
4051        struct uv4ah_rh_gam_mmioh_overlay_config0_mmr_s {
4052                unsigned long   rsvd_0_25:26;
4053                unsigned long   base:26;                        /* RW */
4054                unsigned long   m_io:6;                         /* RW */
4055                unsigned long   n_io:4;
4056                unsigned long   undef_62:1;                     /* Undefined */
4057                unsigned long   enable:1;                       /* RW */
4058        } s4a;
4059
4060        /* UV4 unique struct */
4061        struct uv4h_rh_gam_mmioh_overlay_config0_s {
4062                unsigned long   rsvd_0_25:26;
4063                unsigned long   base:20;                        /* RW */
4064                unsigned long   m_io:6;                         /* RW */
4065                unsigned long   n_io:4;
4066                unsigned long   rsvd_56_62:7;
4067                unsigned long   enable:1;                       /* RW */
4068        } s4;
4069
4070        /* UV3 unique struct */
4071        struct uv3h_rh_gam_mmioh_overlay_config0_s {
4072                unsigned long   rsvd_0_25:26;
4073                unsigned long   base:20;                        /* RW */
4074                unsigned long   m_io:6;                         /* RW */
4075                unsigned long   n_io:4;
4076                unsigned long   rsvd_56_62:7;
4077                unsigned long   enable:1;                       /* RW */
4078        } s3;
4079};
4080
4081/* ========================================================================= */
4082/*                     UVH_RH_GAM_MMIOH_OVERLAY_CONFIG1                      */
4083/* ========================================================================= */
4084#define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG1 (                              \
4085        is_uv(UV4) ? 0x484000UL :                                       \
4086        is_uv(UV3) ? 0x1604000UL :                                      \
4087        0)
4088
4089/* UV4A unique defines */
4090#define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG1_BASE_SHFT    26
4091#define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG1_BASE_MASK    0x000ffffffc000000UL
4092#define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG1_M_IO_SHFT    52
4093#define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG1_M_IO_MASK    0x03f0000000000000UL
4094#define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG1_ENABLE_SHFT  63
4095#define UV4AH_RH_GAM_MMIOH_OVERLAY_CONFIG1_ENABLE_MASK  0x8000000000000000UL
4096
4097/* UV4 unique defines */
4098#define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_BASE_SHFT     26
4099#define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_BASE_MASK     0x00003ffffc000000UL
4100#define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_M_IO_SHFT     46
4101#define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_M_IO_MASK     0x000fc00000000000UL
4102#define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_ENABLE_SHFT   63
4103#define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG1_ENABLE_MASK   0x8000000000000000UL
4104
4105/* UV3 unique defines */
4106#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_BASE_SHFT     26
4107#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_BASE_MASK     0x00003ffffc000000UL
4108#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_M_IO_SHFT     46
4109#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_M_IO_MASK     0x000fc00000000000UL
4110#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_ENABLE_SHFT   63
4111#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_ENABLE_MASK   0x8000000000000000UL
4112
4113#define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG1_BASE_MASK (                    \
4114        is_uv(UV4A) ? 0x000ffffffc000000UL : \
4115        is_uv(UV4) ? 0x00003ffffc000000UL :                             \
4116        is_uv(UV3) ? 0x00003ffffc000000UL :                             \
4117        0)
4118#define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG1_BASE_SHFT (                    \
4119        is_uv(UV4) ? 26 :                                               \
4120        is_uv(UV3) ? 26 :                                               \
4121        -1)
4122
4123union uvh_rh_gam_mmioh_overlay_config1_u {
4124        unsigned long   v;
4125
4126        /* UVH common struct */
4127        struct uvh_rh_gam_mmioh_overlay_config1_s {
4128                unsigned long   rsvd_0_25:26;
4129                unsigned long   base:20;                        /* RW */
4130                unsigned long   m_io:6;                         /* RW */
4131                unsigned long   n_io:4;
4132                unsigned long   rsvd_56_62:7;
4133                unsigned long   enable:1;                       /* RW */
4134        } s;
4135
4136        /* UVXH common struct */
4137        struct uvxh_rh_gam_mmioh_overlay_config1_s {
4138                unsigned long   rsvd_0_25:26;
4139                unsigned long   base:20;                        /* RW */
4140                unsigned long   m_io:6;                         /* RW */
4141                unsigned long   n_io:4;
4142                unsigned long   rsvd_56_62:7;
4143                unsigned long   enable:1;                       /* RW */
4144        } sx;
4145
4146        /* UV4A unique struct */
4147        struct uv4ah_rh_gam_mmioh_overlay_config1_mmr_s {
4148                unsigned long   rsvd_0_25:26;
4149                unsigned long   base:26;                        /* RW */
4150                unsigned long   m_io:6;                         /* RW */
4151                unsigned long   n_io:4;
4152                unsigned long   undef_62:1;                     /* Undefined */
4153                unsigned long   enable:1;                       /* RW */
4154        } s4a;
4155
4156        /* UV4 unique struct */
4157        struct uv4h_rh_gam_mmioh_overlay_config1_s {
4158                unsigned long   rsvd_0_25:26;
4159                unsigned long   base:20;                        /* RW */
4160                unsigned long   m_io:6;                         /* RW */
4161                unsigned long   n_io:4;
4162                unsigned long   rsvd_56_62:7;
4163                unsigned long   enable:1;                       /* RW */
4164        } s4;
4165
4166        /* UV3 unique struct */
4167        struct uv3h_rh_gam_mmioh_overlay_config1_s {
4168                unsigned long   rsvd_0_25:26;
4169                unsigned long   base:20;                        /* RW */
4170                unsigned long   m_io:6;                         /* RW */
4171                unsigned long   n_io:4;
4172                unsigned long   rsvd_56_62:7;
4173                unsigned long   enable:1;                       /* RW */
4174        } s3;
4175};
4176
4177/* ========================================================================= */
4178/*                    UVH_RH_GAM_MMIOH_REDIRECT_CONFIG0                      */
4179/* ========================================================================= */
4180#define UVH_RH_GAM_MMIOH_REDIRECT_CONFIG0 (                             \
4181        is_uv(UV4) ? 0x483800UL :                                       \
4182        is_uv(UV3) ? 0x1603800UL :                                      \
4183        0)
4184
4185#define UVH_RH_GAM_MMIOH_REDIRECT_CONFIG0_DEPTH (                       \
4186        is_uv(UV4) ? 128 :                                              \
4187        is_uv(UV3) ? 128 :                                              \
4188        0)
4189
4190/* UV4A unique defines */
4191#define UV4AH_RH_GAM_MMIOH_REDIRECT_CONFIG0_NASID_SHFT  0
4192#define UV4AH_RH_GAM_MMIOH_REDIRECT_CONFIG0_NASID_MASK  0x0000000000000fffUL
4193
4194/* UV4 unique defines */
4195#define UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG0_NASID_SHFT   0
4196#define UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG0_NASID_MASK   0x0000000000007fffUL
4197
4198/* UV3 unique defines */
4199#define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_NASID_SHFT   0
4200#define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_NASID_MASK   0x0000000000007fffUL
4201
4202
4203union uvh_rh_gam_mmioh_redirect_config0_u {
4204        unsigned long   v;
4205
4206        /* UVH common struct */
4207        struct uvh_rh_gam_mmioh_redirect_config0_s {
4208                unsigned long   nasid:15;                       /* RW */
4209                unsigned long   rsvd_15_63:49;
4210        } s;
4211
4212        /* UVXH common struct */
4213        struct uvxh_rh_gam_mmioh_redirect_config0_s {
4214                unsigned long   nasid:15;                       /* RW */
4215                unsigned long   rsvd_15_63:49;
4216        } sx;
4217
4218        struct uv4ah_rh_gam_mmioh_redirect_config0_s {
4219                unsigned long   nasid:12;                       /* RW */
4220                unsigned long   rsvd_12_63:52;
4221        } s4a;
4222
4223        /* UV4 unique struct */
4224        struct uv4h_rh_gam_mmioh_redirect_config0_s {
4225                unsigned long   nasid:15;                       /* RW */
4226                unsigned long   rsvd_15_63:49;
4227        } s4;
4228
4229        /* UV3 unique struct */
4230        struct uv3h_rh_gam_mmioh_redirect_config0_s {
4231                unsigned long   nasid:15;                       /* RW */
4232                unsigned long   rsvd_15_63:49;
4233        } s3;
4234};
4235
4236/* ========================================================================= */
4237/*                    UVH_RH_GAM_MMIOH_REDIRECT_CONFIG1                      */
4238/* ========================================================================= */
4239#define UVH_RH_GAM_MMIOH_REDIRECT_CONFIG1 (                             \
4240        is_uv(UV4) ? 0x484800UL :                                       \
4241        is_uv(UV3) ? 0x1604800UL :                                      \
4242        0)
4243
4244#define UVH_RH_GAM_MMIOH_REDIRECT_CONFIG1_DEPTH (                       \
4245        is_uv(UV4) ? 128 :                                              \
4246        is_uv(UV3) ? 128 :                                              \
4247        0)
4248
4249/* UV4A unique defines */
4250#define UV4AH_RH_GAM_MMIOH_REDIRECT_CONFIG0_NASID_SHFT  0
4251#define UV4AH_RH_GAM_MMIOH_REDIRECT_CONFIG0_NASID_MASK  0x0000000000000fffUL
4252
4253/* UV4 unique defines */
4254#define UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG1_NASID_SHFT   0
4255#define UV4H_RH_GAM_MMIOH_REDIRECT_CONFIG1_NASID_MASK   0x0000000000007fffUL
4256
4257/* UV3 unique defines */
4258#define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_NASID_SHFT   0
4259#define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_NASID_MASK   0x0000000000007fffUL
4260
4261
4262union uvh_rh_gam_mmioh_redirect_config1_u {
4263        unsigned long   v;
4264
4265        /* UVH common struct */
4266        struct uvh_rh_gam_mmioh_redirect_config1_s {
4267                unsigned long   nasid:15;                       /* RW */
4268                unsigned long   rsvd_15_63:49;
4269        } s;
4270
4271        /* UVXH common struct */
4272        struct uvxh_rh_gam_mmioh_redirect_config1_s {
4273                unsigned long   nasid:15;                       /* RW */
4274                unsigned long   rsvd_15_63:49;
4275        } sx;
4276
4277        struct uv4ah_rh_gam_mmioh_redirect_config1_s {
4278                unsigned long   nasid:12;                       /* RW */
4279                unsigned long   rsvd_12_63:52;
4280        } s4a;
4281
4282        /* UV4 unique struct */
4283        struct uv4h_rh_gam_mmioh_redirect_config1_s {
4284                unsigned long   nasid:15;                       /* RW */
4285                unsigned long   rsvd_15_63:49;
4286        } s4;
4287
4288        /* UV3 unique struct */
4289        struct uv3h_rh_gam_mmioh_redirect_config1_s {
4290                unsigned long   nasid:15;                       /* RW */
4291                unsigned long   rsvd_15_63:49;
4292        } s3;
4293};
4294
4295/* ========================================================================= */
4296/*                      UVH_RH_GAM_MMR_OVERLAY_CONFIG                        */
4297/* ========================================================================= */
4298#define UVH_RH_GAM_MMR_OVERLAY_CONFIG (                                 \
4299        is_uv(UV4) ? 0x480028UL :                                       \
4300        is_uv(UV3) ? 0x1600028UL :                                      \
4301        is_uv(UV2) ? 0x1600028UL :                                      \
4302        0)
4303
4304
4305/* UVXH common defines */
4306#define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_BASE_SHFT        26
4307#define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_BASE_MASK (                      \
4308        is_uv(UV4A) ? 0x000ffffffc000000UL :                            \
4309        is_uv(UV4) ? 0x00003ffffc000000UL :                             \
4310        is_uv(UV3) ? 0x00003ffffc000000UL :                             \
4311        is_uv(UV2) ? 0x00003ffffc000000UL :                             \
4312        0)
4313#define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_ENABLE_SHFT      63
4314#define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_ENABLE_MASK      0x8000000000000000UL
4315
4316/* UV4A unique defines */
4317#define UV4AH_RH_GAM_GRU_OVERLAY_CONFIG_BASE_SHFT       26
4318#define UV4AH_RH_GAM_GRU_OVERLAY_CONFIG_BASE_MASK       0x000ffffffc000000UL
4319
4320#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_BASE_MASK (                       \
4321        is_uv(UV4A) ? 0x000ffffffc000000UL :                            \
4322        is_uv(UV4) ? 0x00003ffffc000000UL :                             \
4323        is_uv(UV3) ? 0x00003ffffc000000UL :                             \
4324        is_uv(UV2) ? 0x00003ffffc000000UL :                             \
4325        0)
4326
4327#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_BASE_SHFT (                       \
4328        is_uv(UV4) ? 26 :                                               \
4329        is_uv(UV3) ? 26 :                                               \
4330        is_uv(UV2) ? 26 :                                               \
4331        -1)
4332
4333union uvh_rh_gam_mmr_overlay_config_u {
4334        unsigned long   v;
4335
4336        /* UVH common struct */
4337        struct uvh_rh_gam_mmr_overlay_config_s {
4338                unsigned long   rsvd_0_25:26;
4339                unsigned long   base:20;                        /* RW */
4340                unsigned long   rsvd_46_62:17;
4341                unsigned long   enable:1;                       /* RW */
4342        } s;
4343
4344        /* UVXH common struct */
4345        struct uvxh_rh_gam_mmr_overlay_config_s {
4346                unsigned long   rsvd_0_25:26;
4347                unsigned long   base:20;                        /* RW */
4348                unsigned long   rsvd_46_62:17;
4349                unsigned long   enable:1;                       /* RW */
4350        } sx;
4351
4352        /* UV4 unique struct */
4353        struct uv4h_rh_gam_mmr_overlay_config_s {
4354                unsigned long   rsvd_0_25:26;
4355                unsigned long   base:20;                        /* RW */
4356                unsigned long   rsvd_46_62:17;
4357                unsigned long   enable:1;                       /* RW */
4358        } s4;
4359
4360        /* UV3 unique struct */
4361        struct uv3h_rh_gam_mmr_overlay_config_s {
4362                unsigned long   rsvd_0_25:26;
4363                unsigned long   base:20;                        /* RW */
4364                unsigned long   rsvd_46_62:17;
4365                unsigned long   enable:1;                       /* RW */
4366        } s3;
4367
4368        /* UV2 unique struct */
4369        struct uv2h_rh_gam_mmr_overlay_config_s {
4370                unsigned long   rsvd_0_25:26;
4371                unsigned long   base:20;                        /* RW */
4372                unsigned long   rsvd_46_62:17;
4373                unsigned long   enable:1;                       /* RW */
4374        } s2;
4375};
4376
4377/* ========================================================================= */
4378/*                                 UVH_RTC                                   */
4379/* ========================================================================= */
4380#define UVH_RTC (                                                       \
4381        is_uv(UV5) ? 0xe0000UL :                                        \
4382        is_uv(UV4) ? 0xe0000UL :                                        \
4383        is_uv(UV3) ? 0x340000UL :                                       \
4384        is_uv(UV2) ? 0x340000UL :                                       \
4385        0)
4386
4387/* UVH common defines*/
4388#define UVH_RTC_REAL_TIME_CLOCK_SHFT                    0
4389#define UVH_RTC_REAL_TIME_CLOCK_MASK                    0x00ffffffffffffffUL
4390
4391
4392union uvh_rtc_u {
4393        unsigned long   v;
4394
4395        /* UVH common struct */
4396        struct uvh_rtc_s {
4397                unsigned long   real_time_clock:56;             /* RW */
4398                unsigned long   rsvd_56_63:8;
4399        } s;
4400
4401        /* UV5 unique struct */
4402        struct uv5h_rtc_s {
4403                unsigned long   real_time_clock:56;             /* RW */
4404                unsigned long   rsvd_56_63:8;
4405        } s5;
4406
4407        /* UV4 unique struct */
4408        struct uv4h_rtc_s {
4409                unsigned long   real_time_clock:56;             /* RW */
4410                unsigned long   rsvd_56_63:8;
4411        } s4;
4412
4413        /* UV3 unique struct */
4414        struct uv3h_rtc_s {
4415                unsigned long   real_time_clock:56;             /* RW */
4416                unsigned long   rsvd_56_63:8;
4417        } s3;
4418
4419        /* UV2 unique struct */
4420        struct uv2h_rtc_s {
4421                unsigned long   real_time_clock:56;             /* RW */
4422                unsigned long   rsvd_56_63:8;
4423        } s2;
4424};
4425
4426/* ========================================================================= */
4427/*                           UVH_RTC1_INT_CONFIG                             */
4428/* ========================================================================= */
4429#define UVH_RTC1_INT_CONFIG 0x615c0UL
4430
4431/* UVH common defines*/
4432#define UVH_RTC1_INT_CONFIG_VECTOR_SHFT                 0
4433#define UVH_RTC1_INT_CONFIG_VECTOR_MASK                 0x00000000000000ffUL
4434#define UVH_RTC1_INT_CONFIG_DM_SHFT                     8
4435#define UVH_RTC1_INT_CONFIG_DM_MASK                     0x0000000000000700UL
4436#define UVH_RTC1_INT_CONFIG_DESTMODE_SHFT               11
4437#define UVH_RTC1_INT_CONFIG_DESTMODE_MASK               0x0000000000000800UL
4438#define UVH_RTC1_INT_CONFIG_STATUS_SHFT                 12
4439#define UVH_RTC1_INT_CONFIG_STATUS_MASK                 0x0000000000001000UL
4440#define UVH_RTC1_INT_CONFIG_P_SHFT                      13
4441#define UVH_RTC1_INT_CONFIG_P_MASK                      0x0000000000002000UL
4442#define UVH_RTC1_INT_CONFIG_T_SHFT                      15
4443#define UVH_RTC1_INT_CONFIG_T_MASK                      0x0000000000008000UL
4444#define UVH_RTC1_INT_CONFIG_M_SHFT                      16
4445#define UVH_RTC1_INT_CONFIG_M_MASK                      0x0000000000010000UL
4446#define UVH_RTC1_INT_CONFIG_APIC_ID_SHFT                32
4447#define UVH_RTC1_INT_CONFIG_APIC_ID_MASK                0xffffffff00000000UL
4448
4449
4450union uvh_rtc1_int_config_u {
4451        unsigned long   v;
4452
4453        /* UVH common struct */
4454        struct uvh_rtc1_int_config_s {
4455                unsigned long   vector_:8;                      /* RW */
4456                unsigned long   dm:3;                           /* RW */
4457                unsigned long   destmode:1;                     /* RW */
4458                unsigned long   status:1;                       /* RO */
4459                unsigned long   p:1;                            /* RO */
4460                unsigned long   rsvd_14:1;
4461                unsigned long   t:1;                            /* RO */
4462                unsigned long   m:1;                            /* RW */
4463                unsigned long   rsvd_17_31:15;
4464                unsigned long   apic_id:32;                     /* RW */
4465        } s;
4466
4467        /* UV5 unique struct */
4468        struct uv5h_rtc1_int_config_s {
4469                unsigned long   vector_:8;                      /* RW */
4470                unsigned long   dm:3;                           /* RW */
4471                unsigned long   destmode:1;                     /* RW */
4472                unsigned long   status:1;                       /* RO */
4473                unsigned long   p:1;                            /* RO */
4474                unsigned long   rsvd_14:1;
4475                unsigned long   t:1;                            /* RO */
4476                unsigned long   m:1;                            /* RW */
4477                unsigned long   rsvd_17_31:15;
4478                unsigned long   apic_id:32;                     /* RW */
4479        } s5;
4480
4481        /* UV4 unique struct */
4482        struct uv4h_rtc1_int_config_s {
4483                unsigned long   vector_:8;                      /* RW */
4484                unsigned long   dm:3;                           /* RW */
4485                unsigned long   destmode:1;                     /* RW */
4486                unsigned long   status:1;                       /* RO */
4487                unsigned long   p:1;                            /* RO */
4488                unsigned long   rsvd_14:1;
4489                unsigned long   t:1;                            /* RO */
4490                unsigned long   m:1;                            /* RW */
4491                unsigned long   rsvd_17_31:15;
4492                unsigned long   apic_id:32;                     /* RW */
4493        } s4;
4494
4495        /* UV3 unique struct */
4496        struct uv3h_rtc1_int_config_s {
4497                unsigned long   vector_:8;                      /* RW */
4498                unsigned long   dm:3;                           /* RW */
4499                unsigned long   destmode:1;                     /* RW */
4500                unsigned long   status:1;                       /* RO */
4501                unsigned long   p:1;                            /* RO */
4502                unsigned long   rsvd_14:1;
4503                unsigned long   t:1;                            /* RO */
4504                unsigned long   m:1;                            /* RW */
4505                unsigned long   rsvd_17_31:15;
4506                unsigned long   apic_id:32;                     /* RW */
4507        } s3;
4508
4509        /* UV2 unique struct */
4510        struct uv2h_rtc1_int_config_s {
4511                unsigned long   vector_:8;                      /* RW */
4512                unsigned long   dm:3;                           /* RW */
4513                unsigned long   destmode:1;                     /* RW */
4514                unsigned long   status:1;                       /* RO */
4515                unsigned long   p:1;                            /* RO */
4516                unsigned long   rsvd_14:1;
4517                unsigned long   t:1;                            /* RO */
4518                unsigned long   m:1;                            /* RW */
4519                unsigned long   rsvd_17_31:15;
4520                unsigned long   apic_id:32;                     /* RW */
4521        } s2;
4522};
4523
4524/* ========================================================================= */
4525/*                               UVH_SCRATCH5                                */
4526/* ========================================================================= */
4527#define UVH_SCRATCH5 (                                                  \
4528        is_uv(UV5) ? 0xb0200UL :                                        \
4529        is_uv(UV4) ? 0xb0200UL :                                        \
4530        is_uv(UV3) ? 0x2d0200UL :                                       \
4531        is_uv(UV2) ? 0x2d0200UL :                                       \
4532        0)
4533#define UV5H_SCRATCH5 0xb0200UL
4534#define UV4H_SCRATCH5 0xb0200UL
4535#define UV3H_SCRATCH5 0x2d0200UL
4536#define UV2H_SCRATCH5 0x2d0200UL
4537
4538/* UVH common defines*/
4539#define UVH_SCRATCH5_SCRATCH5_SHFT                      0
4540#define UVH_SCRATCH5_SCRATCH5_MASK                      0xffffffffffffffffUL
4541
4542/* UVXH common defines */
4543#define UVXH_SCRATCH5_SCRATCH5_SHFT                     0
4544#define UVXH_SCRATCH5_SCRATCH5_MASK                     0xffffffffffffffffUL
4545
4546/* UVYH common defines */
4547#define UVYH_SCRATCH5_SCRATCH5_SHFT                     0
4548#define UVYH_SCRATCH5_SCRATCH5_MASK                     0xffffffffffffffffUL
4549
4550/* UV5 unique defines */
4551#define UV5H_SCRATCH5_SCRATCH5_SHFT                     0
4552#define UV5H_SCRATCH5_SCRATCH5_MASK                     0xffffffffffffffffUL
4553
4554/* UV4 unique defines */
4555#define UV4H_SCRATCH5_SCRATCH5_SHFT                     0
4556#define UV4H_SCRATCH5_SCRATCH5_MASK                     0xffffffffffffffffUL
4557
4558/* UV3 unique defines */
4559#define UV3H_SCRATCH5_SCRATCH5_SHFT                     0
4560#define UV3H_SCRATCH5_SCRATCH5_MASK                     0xffffffffffffffffUL
4561
4562/* UV2 unique defines */
4563#define UV2H_SCRATCH5_SCRATCH5_SHFT                     0
4564#define UV2H_SCRATCH5_SCRATCH5_MASK                     0xffffffffffffffffUL
4565
4566
4567union uvh_scratch5_u {
4568        unsigned long   v;
4569
4570        /* UVH common struct */
4571        struct uvh_scratch5_s {
4572                unsigned long   scratch5:64;                    /* RW */
4573        } s;
4574
4575        /* UVXH common struct */
4576        struct uvxh_scratch5_s {
4577                unsigned long   scratch5:64;                    /* RW */
4578        } sx;
4579
4580        /* UVYH common struct */
4581        struct uvyh_scratch5_s {
4582                unsigned long   scratch5:64;                    /* RW */
4583        } sy;
4584
4585        /* UV5 unique struct */
4586        struct uv5h_scratch5_s {
4587                unsigned long   scratch5:64;                    /* RW */
4588        } s5;
4589
4590        /* UV4 unique struct */
4591        struct uv4h_scratch5_s {
4592                unsigned long   scratch5:64;                    /* RW */
4593        } s4;
4594
4595        /* UV3 unique struct */
4596        struct uv3h_scratch5_s {
4597                unsigned long   scratch5:64;                    /* RW */
4598        } s3;
4599
4600        /* UV2 unique struct */
4601        struct uv2h_scratch5_s {
4602                unsigned long   scratch5:64;                    /* RW */
4603        } s2;
4604};
4605
4606/* ========================================================================= */
4607/*                            UVH_SCRATCH5_ALIAS                             */
4608/* ========================================================================= */
4609#define UVH_SCRATCH5_ALIAS (                                            \
4610        is_uv(UV5) ? 0xb0208UL :                                        \
4611        is_uv(UV4) ? 0xb0208UL :                                        \
4612        is_uv(UV3) ? 0x2d0208UL :                                       \
4613        is_uv(UV2) ? 0x2d0208UL :                                       \
4614        0)
4615#define UV5H_SCRATCH5_ALIAS 0xb0208UL
4616#define UV4H_SCRATCH5_ALIAS 0xb0208UL
4617#define UV3H_SCRATCH5_ALIAS 0x2d0208UL
4618#define UV2H_SCRATCH5_ALIAS 0x2d0208UL
4619
4620
4621/* ========================================================================= */
4622/*                           UVH_SCRATCH5_ALIAS_2                            */
4623/* ========================================================================= */
4624#define UVH_SCRATCH5_ALIAS_2 (                                          \
4625        is_uv(UV5) ? 0xb0210UL :                                        \
4626        is_uv(UV4) ? 0xb0210UL :                                        \
4627        is_uv(UV3) ? 0x2d0210UL :                                       \
4628        is_uv(UV2) ? 0x2d0210UL :                                       \
4629        0)
4630#define UV5H_SCRATCH5_ALIAS_2 0xb0210UL
4631#define UV4H_SCRATCH5_ALIAS_2 0xb0210UL
4632#define UV3H_SCRATCH5_ALIAS_2 0x2d0210UL
4633#define UV2H_SCRATCH5_ALIAS_2 0x2d0210UL
4634
4635
4636
4637#endif /* _ASM_X86_UV_UV_MMRS_H */
4638