cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

uv_mmrs.h (181798B)


      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 */