aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Travis <travis@sgi.com>2013-02-11 14:45:09 -0500
committerH. Peter Anvin <hpa@linux.intel.com>2013-02-11 20:17:33 -0500
commit60fe7be34d96c596d82e37cc0392e7bb546989d1 (patch)
treed0b14cba533c88e3e478c2c58a42958e7f6b0494
parent836dc9e3fbbab0c30aa6e664417225f5c1fb1c39 (diff)
x86, uv, uv3: Update MMR register definitions for SGI Ultraviolet System 3 (UV3)
This patch updates the MMR register definitions for the SGI UV3 system. Note that because these definitions are automatically generated from the RTL we cannot control the length of the names. Therefore there are lines that exceed 80 characters. All the new MMR definitions are added in this patch. The patches that follow then update the references. The last patch is a "trim" patch which reduces the size of the MMR definitions file by about a third. This keeps "bi-sectability" in place as the intermediate patches would not compile correctly if the trimmed MMR defines were done first. Signed-off-by: Mike Travis <travis@sgi.com> Link: http://lkml.kernel.org/r/20130211194508.326204556@gulag1.americas.sgi.com Acked-by: Russ Anderson <rja@sgi.com> Reviewed-by: Dimitri Sivanich <sivanich@sgi.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
-rw-r--r--arch/x86/include/asm/uv/uv_mmrs.h3474
1 files changed, 3366 insertions, 108 deletions
diff --git a/arch/x86/include/asm/uv/uv_mmrs.h b/arch/x86/include/asm/uv/uv_mmrs.h
index cf1d73643f60..e1fa870ce782 100644
--- a/arch/x86/include/asm/uv/uv_mmrs.h
+++ b/arch/x86/include/asm/uv/uv_mmrs.h
@@ -5,16 +5,25 @@
5 * 5 *
6 * SGI UV MMR definitions 6 * SGI UV MMR definitions
7 * 7 *
8 * Copyright (C) 2007-2011 Silicon Graphics, Inc. All rights reserved. 8 * Copyright (C) 2007-2013 Silicon Graphics, Inc. All rights reserved.
9 */ 9 */
10 10
11#ifndef _ASM_X86_UV_UV_MMRS_H 11#ifndef _ASM_X86_UV_UV_MMRS_H
12#define _ASM_X86_UV_UV_MMRS_H 12#define _ASM_X86_UV_UV_MMRS_H
13 13
14/* 14/*
15 * This file contains MMR definitions for both UV1 & UV2 hubs. 15 * This file contains MMR definitions for all UV hubs types.
16 * 16 *
17 * In general, MMR addresses and structures are identical on both hubs. 17 * To minimize coding differences between hub types, the symbols are
18 * grouped by architecture types.
19 *
20 * UVH - definitions common to all UV hub types.
21 * UVXH - definitions common to all UV eXtended hub types (currently 2 & 3).
22 * UV1H - definitions specific to UV type 1 hub.
23 * UV2H - definitions specific to UV type 2 hub.
24 * UV3H - definitions specific to UV type 3 hub.
25 *
26 * So in general, MMR addresses and structures are identical on all hubs types.
18 * These MMRs are identified as: 27 * These MMRs are identified as:
19 * #define UVH_xxx <address> 28 * #define UVH_xxx <address>
20 * union uvh_xxx { 29 * union uvh_xxx {
@@ -23,24 +32,36 @@
23 * } s; 32 * } s;
24 * }; 33 * };
25 * 34 *
26 * If the MMR exists on both hub type but has different addresses or 35 * If the MMR exists on all hub types but have different addresses:
27 * contents, the MMR definition is similar to: 36 * #define UV1Hxxx a
28 * #define UV1H_xxx <uv1 address> 37 * #define UV2Hxxx b
29 * #define UV2H_xxx <uv2address> 38 * #define UV3Hxxx c
30 * #define UVH_xxx (is_uv1_hub() ? UV1H_xxx : UV2H_xxx) 39 * #define UVHxxx (is_uv1_hub() ? UV1Hxxx :
40 * (is_uv2_hub() ? UV2Hxxx :
41 * UV3Hxxx))
42 *
43 * If the MMR exists on all hub types > 1 but have different addresses:
44 * #define UV2Hxxx b
45 * #define UV3Hxxx c
46 * #define UVXHxxx (is_uv2_hub() ? UV2Hxxx :
47 * UV3Hxxx))
48 *
31 * union uvh_xxx { 49 * union uvh_xxx {
32 * unsigned long v; 50 * unsigned long v;
33 * struct uv1h_int_cmpd_s { (Common fields only) 51 * struct uvh_xxx_s { # Common fields only
34 * } s; 52 * } s;
35 * struct uv1h_int_cmpd_s { (Full UV1 definition) 53 * struct uv1h_xxx_s { # Full UV1 definition (*)
36 * } s1; 54 * } s1;
37 * struct uv2h_int_cmpd_s { (Full UV2 definition) 55 * struct uv2h_xxx_s { # Full UV2 definition (*)
38 * } s2; 56 * } s2;
57 * struct uv3h_xxx_s { # Full UV3 definition (*)
58 * } s3;
39 * }; 59 * };
60 * (* - if present and different than the common struct)
40 * 61 *
41 * Only essential difference are enumerated. For example, if the address is 62 * Only essential differences are enumerated. For example, if the address is
42 * the same for both UV1 & UV2, only a single #define is generated. Likewise, 63 * the same for all UV's, only a single #define is generated. Likewise,
43 * if the contents is the same for both hubs, only the "s" structure is 64 * if the contents is the same for all hubs, only the "s" structure is
44 * generated. 65 * generated.
45 * 66 *
46 * If the MMR exists on ONLY 1 type of hub, no generic definition is 67 * If the MMR exists on ONLY 1 type of hub, no generic definition is
@@ -51,6 +72,8 @@
51 * struct uvh_int_cmpd_s { 72 * struct uvh_int_cmpd_s {
52 * } sn; 73 * } sn;
53 * }; 74 * };
75 *
76 * (GEN Flags: mflags_opt=c undefs=0 UV23=UVXH)
54 */ 77 */
55 78
56#define UV_MMR_ENABLE (1UL << 63) 79#define UV_MMR_ENABLE (1UL << 63)
@@ -58,32 +81,75 @@
58#define UV1_HUB_PART_NUMBER 0x88a5 81#define UV1_HUB_PART_NUMBER 0x88a5
59#define UV2_HUB_PART_NUMBER 0x8eb8 82#define UV2_HUB_PART_NUMBER 0x8eb8
60#define UV2_HUB_PART_NUMBER_X 0x1111 83#define UV2_HUB_PART_NUMBER_X 0x1111
84#define UV3_HUB_PART_NUMBER 0x9578
85#define UV3_HUB_PART_NUMBER_X 0x4321
61 86
62/* Compat: if this #define is present, UV headers support UV2 */ 87/* Compat: Indicate which UV Hubs are supported. */
63#define UV2_HUB_IS_SUPPORTED 1 88#define UV2_HUB_IS_SUPPORTED 1
89#define UV3_HUB_IS_SUPPORTED 1
64 90
65/* ========================================================================= */ 91/* ========================================================================= */
66/* UVH_BAU_DATA_BROADCAST */ 92/* UVH_BAU_DATA_BROADCAST */
67/* ========================================================================= */ 93/* ========================================================================= */
68#define UVH_BAU_DATA_BROADCAST 0x61688UL 94#define UVH_BAU_DATA_BROADCAST 0x61688UL
69#define UVH_BAU_DATA_BROADCAST_32 0x440 95#define UV1H_BAU_DATA_BROADCAST 0x61688UL
96#define UV2H_BAU_DATA_BROADCAST 0x61688UL
97#define UV3H_BAU_DATA_BROADCAST 0x61688UL
98#define UVH_BAU_DATA_BROADCAST_32 0x440
99#define UV1H_BAU_DATA_BROADCAST_32 0x61688UL
100#define UV2H_BAU_DATA_BROADCAST_32 0x61688UL
101#define UV3H_BAU_DATA_BROADCAST_32 0x61688UL
70 102
71#define UVH_BAU_DATA_BROADCAST_ENABLE_SHFT 0 103#define UVH_BAU_DATA_BROADCAST_ENABLE_SHFT 0
72#define UVH_BAU_DATA_BROADCAST_ENABLE_MASK 0x0000000000000001UL 104#define UVH_BAU_DATA_BROADCAST_ENABLE_MASK 0x0000000000000001UL
73 105
106#define UV1H_BAU_DATA_BROADCAST_ENABLE_SHFT 0
107#define UV1H_BAU_DATA_BROADCAST_ENABLE_MASK 0x0000000000000001UL
108
109#define UVXH_BAU_DATA_BROADCAST_ENABLE_SHFT 0
110#define UVXH_BAU_DATA_BROADCAST_ENABLE_MASK 0x0000000000000001UL
111
112#define UV2H_BAU_DATA_BROADCAST_ENABLE_SHFT 0
113#define UV2H_BAU_DATA_BROADCAST_ENABLE_MASK 0x0000000000000001UL
114
115#define UV3H_BAU_DATA_BROADCAST_ENABLE_SHFT 0
116#define UV3H_BAU_DATA_BROADCAST_ENABLE_MASK 0x0000000000000001UL
117
74union uvh_bau_data_broadcast_u { 118union uvh_bau_data_broadcast_u {
75 unsigned long v; 119 unsigned long v;
76 struct uvh_bau_data_broadcast_s { 120 struct uvh_bau_data_broadcast_s {
77 unsigned long enable:1; /* RW */ 121 unsigned long enable:1; /* RW */
78 unsigned long rsvd_1_63:63; 122 unsigned long rsvd_1_63:63;
79 } s; 123 } s;
124 struct uv1h_bau_data_broadcast_s {
125 unsigned long enable:1; /* RW */
126 unsigned long rsvd_1_63:63;
127 } s1;
128 struct uvxh_bau_data_broadcast_s {
129 unsigned long enable:1; /* RW */
130 unsigned long rsvd_1_63:63;
131 } sx;
132 struct uv2h_bau_data_broadcast_s {
133 unsigned long enable:1; /* RW */
134 unsigned long rsvd_1_63:63;
135 } s2;
136 struct uv3h_bau_data_broadcast_s {
137 unsigned long enable:1; /* RW */
138 unsigned long rsvd_1_63:63;
139 } s3;
80}; 140};
81 141
82/* ========================================================================= */ 142/* ========================================================================= */
83/* UVH_BAU_DATA_CONFIG */ 143/* UVH_BAU_DATA_CONFIG */
84/* ========================================================================= */ 144/* ========================================================================= */
85#define UVH_BAU_DATA_CONFIG 0x61680UL 145#define UVH_BAU_DATA_CONFIG 0x61680UL
86#define UVH_BAU_DATA_CONFIG_32 0x438 146#define UV1H_BAU_DATA_CONFIG 0x61680UL
147#define UV2H_BAU_DATA_CONFIG 0x61680UL
148#define UV3H_BAU_DATA_CONFIG 0x61680UL
149#define UVH_BAU_DATA_CONFIG_32 0x438
150#define UV1H_BAU_DATA_CONFIG_32 0x61680UL
151#define UV2H_BAU_DATA_CONFIG_32 0x61680UL
152#define UV3H_BAU_DATA_CONFIG_32 0x61680UL
87 153
88#define UVH_BAU_DATA_CONFIG_VECTOR_SHFT 0 154#define UVH_BAU_DATA_CONFIG_VECTOR_SHFT 0
89#define UVH_BAU_DATA_CONFIG_DM_SHFT 8 155#define UVH_BAU_DATA_CONFIG_DM_SHFT 8
@@ -102,6 +168,74 @@ union uvh_bau_data_broadcast_u {
102#define UVH_BAU_DATA_CONFIG_M_MASK 0x0000000000010000UL 168#define UVH_BAU_DATA_CONFIG_M_MASK 0x0000000000010000UL
103#define UVH_BAU_DATA_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 169#define UVH_BAU_DATA_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
104 170
171#define UV1H_BAU_DATA_CONFIG_VECTOR_SHFT 0
172#define UV1H_BAU_DATA_CONFIG_DM_SHFT 8
173#define UV1H_BAU_DATA_CONFIG_DESTMODE_SHFT 11
174#define UV1H_BAU_DATA_CONFIG_STATUS_SHFT 12
175#define UV1H_BAU_DATA_CONFIG_P_SHFT 13
176#define UV1H_BAU_DATA_CONFIG_T_SHFT 15
177#define UV1H_BAU_DATA_CONFIG_M_SHFT 16
178#define UV1H_BAU_DATA_CONFIG_APIC_ID_SHFT 32
179#define UV1H_BAU_DATA_CONFIG_VECTOR_MASK 0x00000000000000ffUL
180#define UV1H_BAU_DATA_CONFIG_DM_MASK 0x0000000000000700UL
181#define UV1H_BAU_DATA_CONFIG_DESTMODE_MASK 0x0000000000000800UL
182#define UV1H_BAU_DATA_CONFIG_STATUS_MASK 0x0000000000001000UL
183#define UV1H_BAU_DATA_CONFIG_P_MASK 0x0000000000002000UL
184#define UV1H_BAU_DATA_CONFIG_T_MASK 0x0000000000008000UL
185#define UV1H_BAU_DATA_CONFIG_M_MASK 0x0000000000010000UL
186#define UV1H_BAU_DATA_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
187
188#define UVXH_BAU_DATA_CONFIG_VECTOR_SHFT 0
189#define UVXH_BAU_DATA_CONFIG_DM_SHFT 8
190#define UVXH_BAU_DATA_CONFIG_DESTMODE_SHFT 11
191#define UVXH_BAU_DATA_CONFIG_STATUS_SHFT 12
192#define UVXH_BAU_DATA_CONFIG_P_SHFT 13
193#define UVXH_BAU_DATA_CONFIG_T_SHFT 15
194#define UVXH_BAU_DATA_CONFIG_M_SHFT 16
195#define UVXH_BAU_DATA_CONFIG_APIC_ID_SHFT 32
196#define UVXH_BAU_DATA_CONFIG_VECTOR_MASK 0x00000000000000ffUL
197#define UVXH_BAU_DATA_CONFIG_DM_MASK 0x0000000000000700UL
198#define UVXH_BAU_DATA_CONFIG_DESTMODE_MASK 0x0000000000000800UL
199#define UVXH_BAU_DATA_CONFIG_STATUS_MASK 0x0000000000001000UL
200#define UVXH_BAU_DATA_CONFIG_P_MASK 0x0000000000002000UL
201#define UVXH_BAU_DATA_CONFIG_T_MASK 0x0000000000008000UL
202#define UVXH_BAU_DATA_CONFIG_M_MASK 0x0000000000010000UL
203#define UVXH_BAU_DATA_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
204
205#define UV2H_BAU_DATA_CONFIG_VECTOR_SHFT 0
206#define UV2H_BAU_DATA_CONFIG_DM_SHFT 8
207#define UV2H_BAU_DATA_CONFIG_DESTMODE_SHFT 11
208#define UV2H_BAU_DATA_CONFIG_STATUS_SHFT 12
209#define UV2H_BAU_DATA_CONFIG_P_SHFT 13
210#define UV2H_BAU_DATA_CONFIG_T_SHFT 15
211#define UV2H_BAU_DATA_CONFIG_M_SHFT 16
212#define UV2H_BAU_DATA_CONFIG_APIC_ID_SHFT 32
213#define UV2H_BAU_DATA_CONFIG_VECTOR_MASK 0x00000000000000ffUL
214#define UV2H_BAU_DATA_CONFIG_DM_MASK 0x0000000000000700UL
215#define UV2H_BAU_DATA_CONFIG_DESTMODE_MASK 0x0000000000000800UL
216#define UV2H_BAU_DATA_CONFIG_STATUS_MASK 0x0000000000001000UL
217#define UV2H_BAU_DATA_CONFIG_P_MASK 0x0000000000002000UL
218#define UV2H_BAU_DATA_CONFIG_T_MASK 0x0000000000008000UL
219#define UV2H_BAU_DATA_CONFIG_M_MASK 0x0000000000010000UL
220#define UV2H_BAU_DATA_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
221
222#define UV3H_BAU_DATA_CONFIG_VECTOR_SHFT 0
223#define UV3H_BAU_DATA_CONFIG_DM_SHFT 8
224#define UV3H_BAU_DATA_CONFIG_DESTMODE_SHFT 11
225#define UV3H_BAU_DATA_CONFIG_STATUS_SHFT 12
226#define UV3H_BAU_DATA_CONFIG_P_SHFT 13
227#define UV3H_BAU_DATA_CONFIG_T_SHFT 15
228#define UV3H_BAU_DATA_CONFIG_M_SHFT 16
229#define UV3H_BAU_DATA_CONFIG_APIC_ID_SHFT 32
230#define UV3H_BAU_DATA_CONFIG_VECTOR_MASK 0x00000000000000ffUL
231#define UV3H_BAU_DATA_CONFIG_DM_MASK 0x0000000000000700UL
232#define UV3H_BAU_DATA_CONFIG_DESTMODE_MASK 0x0000000000000800UL
233#define UV3H_BAU_DATA_CONFIG_STATUS_MASK 0x0000000000001000UL
234#define UV3H_BAU_DATA_CONFIG_P_MASK 0x0000000000002000UL
235#define UV3H_BAU_DATA_CONFIG_T_MASK 0x0000000000008000UL
236#define UV3H_BAU_DATA_CONFIG_M_MASK 0x0000000000010000UL
237#define UV3H_BAU_DATA_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
238
105union uvh_bau_data_config_u { 239union uvh_bau_data_config_u {
106 unsigned long v; 240 unsigned long v;
107 struct uvh_bau_data_config_s { 241 struct uvh_bau_data_config_s {
@@ -116,13 +250,72 @@ union uvh_bau_data_config_u {
116 unsigned long rsvd_17_31:15; 250 unsigned long rsvd_17_31:15;
117 unsigned long apic_id:32; /* RW */ 251 unsigned long apic_id:32; /* RW */
118 } s; 252 } s;
253 struct uv1h_bau_data_config_s {
254 unsigned long vector_:8; /* RW */
255 unsigned long dm:3; /* RW */
256 unsigned long destmode:1; /* RW */
257 unsigned long status:1; /* RO */
258 unsigned long p:1; /* RO */
259 unsigned long rsvd_14:1;
260 unsigned long t:1; /* RO */
261 unsigned long m:1; /* RW */
262 unsigned long rsvd_17_31:15;
263 unsigned long apic_id:32; /* RW */
264 } s1;
265 struct uvxh_bau_data_config_s {
266 unsigned long vector_:8; /* RW */
267 unsigned long dm:3; /* RW */
268 unsigned long destmode:1; /* RW */
269 unsigned long status:1; /* RO */
270 unsigned long p:1; /* RO */
271 unsigned long rsvd_14:1;
272 unsigned long t:1; /* RO */
273 unsigned long m:1; /* RW */
274 unsigned long rsvd_17_31:15;
275 unsigned long apic_id:32; /* RW */
276 } sx;
277 struct uv2h_bau_data_config_s {
278 unsigned long vector_:8; /* RW */
279 unsigned long dm:3; /* RW */
280 unsigned long destmode:1; /* RW */
281 unsigned long status:1; /* RO */
282 unsigned long p:1; /* RO */
283 unsigned long rsvd_14:1;
284 unsigned long t:1; /* RO */
285 unsigned long m:1; /* RW */
286 unsigned long rsvd_17_31:15;
287 unsigned long apic_id:32; /* RW */
288 } s2;
289 struct uv3h_bau_data_config_s {
290 unsigned long vector_:8; /* RW */
291 unsigned long dm:3; /* RW */
292 unsigned long destmode:1; /* RW */
293 unsigned long status:1; /* RO */
294 unsigned long p:1; /* RO */
295 unsigned long rsvd_14:1;
296 unsigned long t:1; /* RO */
297 unsigned long m:1; /* RW */
298 unsigned long rsvd_17_31:15;
299 unsigned long apic_id:32; /* RW */
300 } s3;
119}; 301};
120 302
121/* ========================================================================= */ 303/* ========================================================================= */
122/* UVH_EVENT_OCCURRED0 */ 304/* UVH_EVENT_OCCURRED0 */
123/* ========================================================================= */ 305/* ========================================================================= */
124#define UVH_EVENT_OCCURRED0 0x70000UL 306#define UVH_EVENT_OCCURRED0 0x70000UL
125#define UVH_EVENT_OCCURRED0_32 0x5e8 307#define UV1H_EVENT_OCCURRED0 0x70000UL
308#define UV2H_EVENT_OCCURRED0 0x70000UL
309#define UV3H_EVENT_OCCURRED0 0x70000UL
310#define UVH_EVENT_OCCURRED0_32 0x5e8
311#define UV1H_EVENT_OCCURRED0_32 0x70000UL
312#define UV2H_EVENT_OCCURRED0_32 0x70000UL
313#define UV3H_EVENT_OCCURRED0_32 0x70000UL
314
315#define UVH_EVENT_OCCURRED0_LB_HCERR_SHFT 0
316#define UVH_EVENT_OCCURRED0_RH_AOERR0_SHFT 11
317#define UVH_EVENT_OCCURRED0_LB_HCERR_MASK 0x0000000000000001UL
318#define UVH_EVENT_OCCURRED0_RH_AOERR0_MASK 0x0000000000000800UL
126 319
127#define UV1H_EVENT_OCCURRED0_LB_HCERR_SHFT 0 320#define UV1H_EVENT_OCCURRED0_LB_HCERR_SHFT 0
128#define UV1H_EVENT_OCCURRED0_GR0_HCERR_SHFT 1 321#define UV1H_EVENT_OCCURRED0_GR0_HCERR_SHFT 1
@@ -239,6 +432,125 @@ union uvh_bau_data_config_u {
239#define UV1H_EVENT_OCCURRED0_BAU_DATA_MASK 0x0080000000000000UL 432#define UV1H_EVENT_OCCURRED0_BAU_DATA_MASK 0x0080000000000000UL
240#define UV1H_EVENT_OCCURRED0_POWER_MANAGEMENT_REQ_MASK 0x0100000000000000UL 433#define UV1H_EVENT_OCCURRED0_POWER_MANAGEMENT_REQ_MASK 0x0100000000000000UL
241 434
435#define UVXH_EVENT_OCCURRED0_LB_HCERR_SHFT 0
436#define UVXH_EVENT_OCCURRED0_QP_HCERR_SHFT 1
437#define UVXH_EVENT_OCCURRED0_RH_HCERR_SHFT 2
438#define UVXH_EVENT_OCCURRED0_LH0_HCERR_SHFT 3
439#define UVXH_EVENT_OCCURRED0_LH1_HCERR_SHFT 4
440#define UVXH_EVENT_OCCURRED0_GR0_HCERR_SHFT 5
441#define UVXH_EVENT_OCCURRED0_GR1_HCERR_SHFT 6
442#define UVXH_EVENT_OCCURRED0_NI0_HCERR_SHFT 7
443#define UVXH_EVENT_OCCURRED0_NI1_HCERR_SHFT 8
444#define UVXH_EVENT_OCCURRED0_LB_AOERR0_SHFT 9
445#define UVXH_EVENT_OCCURRED0_QP_AOERR0_SHFT 10
446#define UVXH_EVENT_OCCURRED0_RH_AOERR0_SHFT 11
447#define UVXH_EVENT_OCCURRED0_LH0_AOERR0_SHFT 12
448#define UVXH_EVENT_OCCURRED0_LH1_AOERR0_SHFT 13
449#define UVXH_EVENT_OCCURRED0_GR0_AOERR0_SHFT 14
450#define UVXH_EVENT_OCCURRED0_GR1_AOERR0_SHFT 15
451#define UVXH_EVENT_OCCURRED0_XB_AOERR0_SHFT 16
452#define UVXH_EVENT_OCCURRED0_RT_AOERR0_SHFT 17
453#define UVXH_EVENT_OCCURRED0_NI0_AOERR0_SHFT 18
454#define UVXH_EVENT_OCCURRED0_NI1_AOERR0_SHFT 19
455#define UVXH_EVENT_OCCURRED0_LB_AOERR1_SHFT 20
456#define UVXH_EVENT_OCCURRED0_QP_AOERR1_SHFT 21
457#define UVXH_EVENT_OCCURRED0_RH_AOERR1_SHFT 22
458#define UVXH_EVENT_OCCURRED0_LH0_AOERR1_SHFT 23
459#define UVXH_EVENT_OCCURRED0_LH1_AOERR1_SHFT 24
460#define UVXH_EVENT_OCCURRED0_GR0_AOERR1_SHFT 25
461#define UVXH_EVENT_OCCURRED0_GR1_AOERR1_SHFT 26
462#define UVXH_EVENT_OCCURRED0_XB_AOERR1_SHFT 27
463#define UVXH_EVENT_OCCURRED0_RT_AOERR1_SHFT 28
464#define UVXH_EVENT_OCCURRED0_NI0_AOERR1_SHFT 29
465#define UVXH_EVENT_OCCURRED0_NI1_AOERR1_SHFT 30
466#define UVXH_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT 31
467#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT 32
468#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT 33
469#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT 34
470#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT 35
471#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT 36
472#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT 37
473#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT 38
474#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT 39
475#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT 40
476#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT 41
477#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT 42
478#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT 43
479#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT 44
480#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT 45
481#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT 46
482#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT 47
483#define UVXH_EVENT_OCCURRED0_L1_NMI_INT_SHFT 48
484#define UVXH_EVENT_OCCURRED0_STOP_CLOCK_SHFT 49
485#define UVXH_EVENT_OCCURRED0_ASIC_TO_L1_SHFT 50
486#define UVXH_EVENT_OCCURRED0_L1_TO_ASIC_SHFT 51
487#define UVXH_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT 52
488#define UVXH_EVENT_OCCURRED0_IPI_INT_SHFT 53
489#define UVXH_EVENT_OCCURRED0_EXTIO_INT0_SHFT 54
490#define UVXH_EVENT_OCCURRED0_EXTIO_INT1_SHFT 55
491#define UVXH_EVENT_OCCURRED0_EXTIO_INT2_SHFT 56
492#define UVXH_EVENT_OCCURRED0_EXTIO_INT3_SHFT 57
493#define UVXH_EVENT_OCCURRED0_PROFILE_INT_SHFT 58
494#define UVXH_EVENT_OCCURRED0_LB_HCERR_MASK 0x0000000000000001UL
495#define UVXH_EVENT_OCCURRED0_QP_HCERR_MASK 0x0000000000000002UL
496#define UVXH_EVENT_OCCURRED0_RH_HCERR_MASK 0x0000000000000004UL
497#define UVXH_EVENT_OCCURRED0_LH0_HCERR_MASK 0x0000000000000008UL
498#define UVXH_EVENT_OCCURRED0_LH1_HCERR_MASK 0x0000000000000010UL
499#define UVXH_EVENT_OCCURRED0_GR0_HCERR_MASK 0x0000000000000020UL
500#define UVXH_EVENT_OCCURRED0_GR1_HCERR_MASK 0x0000000000000040UL
501#define UVXH_EVENT_OCCURRED0_NI0_HCERR_MASK 0x0000000000000080UL
502#define UVXH_EVENT_OCCURRED0_NI1_HCERR_MASK 0x0000000000000100UL
503#define UVXH_EVENT_OCCURRED0_LB_AOERR0_MASK 0x0000000000000200UL
504#define UVXH_EVENT_OCCURRED0_QP_AOERR0_MASK 0x0000000000000400UL
505#define UVXH_EVENT_OCCURRED0_RH_AOERR0_MASK 0x0000000000000800UL
506#define UVXH_EVENT_OCCURRED0_LH0_AOERR0_MASK 0x0000000000001000UL
507#define UVXH_EVENT_OCCURRED0_LH1_AOERR0_MASK 0x0000000000002000UL
508#define UVXH_EVENT_OCCURRED0_GR0_AOERR0_MASK 0x0000000000004000UL
509#define UVXH_EVENT_OCCURRED0_GR1_AOERR0_MASK 0x0000000000008000UL
510#define UVXH_EVENT_OCCURRED0_XB_AOERR0_MASK 0x0000000000010000UL
511#define UVXH_EVENT_OCCURRED0_RT_AOERR0_MASK 0x0000000000020000UL
512#define UVXH_EVENT_OCCURRED0_NI0_AOERR0_MASK 0x0000000000040000UL
513#define UVXH_EVENT_OCCURRED0_NI1_AOERR0_MASK 0x0000000000080000UL
514#define UVXH_EVENT_OCCURRED0_LB_AOERR1_MASK 0x0000000000100000UL
515#define UVXH_EVENT_OCCURRED0_QP_AOERR1_MASK 0x0000000000200000UL
516#define UVXH_EVENT_OCCURRED0_RH_AOERR1_MASK 0x0000000000400000UL
517#define UVXH_EVENT_OCCURRED0_LH0_AOERR1_MASK 0x0000000000800000UL
518#define UVXH_EVENT_OCCURRED0_LH1_AOERR1_MASK 0x0000000001000000UL
519#define UVXH_EVENT_OCCURRED0_GR0_AOERR1_MASK 0x0000000002000000UL
520#define UVXH_EVENT_OCCURRED0_GR1_AOERR1_MASK 0x0000000004000000UL
521#define UVXH_EVENT_OCCURRED0_XB_AOERR1_MASK 0x0000000008000000UL
522#define UVXH_EVENT_OCCURRED0_RT_AOERR1_MASK 0x0000000010000000UL
523#define UVXH_EVENT_OCCURRED0_NI0_AOERR1_MASK 0x0000000020000000UL
524#define UVXH_EVENT_OCCURRED0_NI1_AOERR1_MASK 0x0000000040000000UL
525#define UVXH_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK 0x0000000080000000UL
526#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK 0x0000000100000000UL
527#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK 0x0000000200000000UL
528#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK 0x0000000400000000UL
529#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK 0x0000000800000000UL
530#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK 0x0000001000000000UL
531#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK 0x0000002000000000UL
532#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK 0x0000004000000000UL
533#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK 0x0000008000000000UL
534#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK 0x0000010000000000UL
535#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK 0x0000020000000000UL
536#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK 0x0000040000000000UL
537#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK 0x0000080000000000UL
538#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK 0x0000100000000000UL
539#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK 0x0000200000000000UL
540#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK 0x0000400000000000UL
541#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK 0x0000800000000000UL
542#define UVXH_EVENT_OCCURRED0_L1_NMI_INT_MASK 0x0001000000000000UL
543#define UVXH_EVENT_OCCURRED0_STOP_CLOCK_MASK 0x0002000000000000UL
544#define UVXH_EVENT_OCCURRED0_ASIC_TO_L1_MASK 0x0004000000000000UL
545#define UVXH_EVENT_OCCURRED0_L1_TO_ASIC_MASK 0x0008000000000000UL
546#define UVXH_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK 0x0010000000000000UL
547#define UVXH_EVENT_OCCURRED0_IPI_INT_MASK 0x0020000000000000UL
548#define UVXH_EVENT_OCCURRED0_EXTIO_INT0_MASK 0x0040000000000000UL
549#define UVXH_EVENT_OCCURRED0_EXTIO_INT1_MASK 0x0080000000000000UL
550#define UVXH_EVENT_OCCURRED0_EXTIO_INT2_MASK 0x0100000000000000UL
551#define UVXH_EVENT_OCCURRED0_EXTIO_INT3_MASK 0x0200000000000000UL
552#define UVXH_EVENT_OCCURRED0_PROFILE_INT_MASK 0x0400000000000000UL
553
242#define UV2H_EVENT_OCCURRED0_LB_HCERR_SHFT 0 554#define UV2H_EVENT_OCCURRED0_LB_HCERR_SHFT 0
243#define UV2H_EVENT_OCCURRED0_QP_HCERR_SHFT 1 555#define UV2H_EVENT_OCCURRED0_QP_HCERR_SHFT 1
244#define UV2H_EVENT_OCCURRED0_RH_HCERR_SHFT 2 556#define UV2H_EVENT_OCCURRED0_RH_HCERR_SHFT 2
@@ -358,8 +670,133 @@ union uvh_bau_data_config_u {
358#define UV2H_EVENT_OCCURRED0_EXTIO_INT3_MASK 0x0200000000000000UL 670#define UV2H_EVENT_OCCURRED0_EXTIO_INT3_MASK 0x0200000000000000UL
359#define UV2H_EVENT_OCCURRED0_PROFILE_INT_MASK 0x0400000000000000UL 671#define UV2H_EVENT_OCCURRED0_PROFILE_INT_MASK 0x0400000000000000UL
360 672
673#define UV3H_EVENT_OCCURRED0_LB_HCERR_SHFT 0
674#define UV3H_EVENT_OCCURRED0_QP_HCERR_SHFT 1
675#define UV3H_EVENT_OCCURRED0_RH_HCERR_SHFT 2
676#define UV3H_EVENT_OCCURRED0_LH0_HCERR_SHFT 3
677#define UV3H_EVENT_OCCURRED0_LH1_HCERR_SHFT 4
678#define UV3H_EVENT_OCCURRED0_GR0_HCERR_SHFT 5
679#define UV3H_EVENT_OCCURRED0_GR1_HCERR_SHFT 6
680#define UV3H_EVENT_OCCURRED0_NI0_HCERR_SHFT 7
681#define UV3H_EVENT_OCCURRED0_NI1_HCERR_SHFT 8
682#define UV3H_EVENT_OCCURRED0_LB_AOERR0_SHFT 9
683#define UV3H_EVENT_OCCURRED0_QP_AOERR0_SHFT 10
684#define UV3H_EVENT_OCCURRED0_RH_AOERR0_SHFT 11
685#define UV3H_EVENT_OCCURRED0_LH0_AOERR0_SHFT 12
686#define UV3H_EVENT_OCCURRED0_LH1_AOERR0_SHFT 13
687#define UV3H_EVENT_OCCURRED0_GR0_AOERR0_SHFT 14
688#define UV3H_EVENT_OCCURRED0_GR1_AOERR0_SHFT 15
689#define UV3H_EVENT_OCCURRED0_XB_AOERR0_SHFT 16
690#define UV3H_EVENT_OCCURRED0_RT_AOERR0_SHFT 17
691#define UV3H_EVENT_OCCURRED0_NI0_AOERR0_SHFT 18
692#define UV3H_EVENT_OCCURRED0_NI1_AOERR0_SHFT 19
693#define UV3H_EVENT_OCCURRED0_LB_AOERR1_SHFT 20
694#define UV3H_EVENT_OCCURRED0_QP_AOERR1_SHFT 21
695#define UV3H_EVENT_OCCURRED0_RH_AOERR1_SHFT 22
696#define UV3H_EVENT_OCCURRED0_LH0_AOERR1_SHFT 23
697#define UV3H_EVENT_OCCURRED0_LH1_AOERR1_SHFT 24
698#define UV3H_EVENT_OCCURRED0_GR0_AOERR1_SHFT 25
699#define UV3H_EVENT_OCCURRED0_GR1_AOERR1_SHFT 26
700#define UV3H_EVENT_OCCURRED0_XB_AOERR1_SHFT 27
701#define UV3H_EVENT_OCCURRED0_RT_AOERR1_SHFT 28
702#define UV3H_EVENT_OCCURRED0_NI0_AOERR1_SHFT 29
703#define UV3H_EVENT_OCCURRED0_NI1_AOERR1_SHFT 30
704#define UV3H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT 31
705#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT 32
706#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT 33
707#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT 34
708#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT 35
709#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT 36
710#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT 37
711#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT 38
712#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT 39
713#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT 40
714#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT 41
715#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT 42
716#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT 43
717#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT 44
718#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT 45
719#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT 46
720#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT 47
721#define UV3H_EVENT_OCCURRED0_L1_NMI_INT_SHFT 48
722#define UV3H_EVENT_OCCURRED0_STOP_CLOCK_SHFT 49
723#define UV3H_EVENT_OCCURRED0_ASIC_TO_L1_SHFT 50
724#define UV3H_EVENT_OCCURRED0_L1_TO_ASIC_SHFT 51
725#define UV3H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT 52
726#define UV3H_EVENT_OCCURRED0_IPI_INT_SHFT 53
727#define UV3H_EVENT_OCCURRED0_EXTIO_INT0_SHFT 54
728#define UV3H_EVENT_OCCURRED0_EXTIO_INT1_SHFT 55
729#define UV3H_EVENT_OCCURRED0_EXTIO_INT2_SHFT 56
730#define UV3H_EVENT_OCCURRED0_EXTIO_INT3_SHFT 57
731#define UV3H_EVENT_OCCURRED0_PROFILE_INT_SHFT 58
732#define UV3H_EVENT_OCCURRED0_LB_HCERR_MASK 0x0000000000000001UL
733#define UV3H_EVENT_OCCURRED0_QP_HCERR_MASK 0x0000000000000002UL
734#define UV3H_EVENT_OCCURRED0_RH_HCERR_MASK 0x0000000000000004UL
735#define UV3H_EVENT_OCCURRED0_LH0_HCERR_MASK 0x0000000000000008UL
736#define UV3H_EVENT_OCCURRED0_LH1_HCERR_MASK 0x0000000000000010UL
737#define UV3H_EVENT_OCCURRED0_GR0_HCERR_MASK 0x0000000000000020UL
738#define UV3H_EVENT_OCCURRED0_GR1_HCERR_MASK 0x0000000000000040UL
739#define UV3H_EVENT_OCCURRED0_NI0_HCERR_MASK 0x0000000000000080UL
740#define UV3H_EVENT_OCCURRED0_NI1_HCERR_MASK 0x0000000000000100UL
741#define UV3H_EVENT_OCCURRED0_LB_AOERR0_MASK 0x0000000000000200UL
742#define UV3H_EVENT_OCCURRED0_QP_AOERR0_MASK 0x0000000000000400UL
743#define UV3H_EVENT_OCCURRED0_RH_AOERR0_MASK 0x0000000000000800UL
744#define UV3H_EVENT_OCCURRED0_LH0_AOERR0_MASK 0x0000000000001000UL
745#define UV3H_EVENT_OCCURRED0_LH1_AOERR0_MASK 0x0000000000002000UL
746#define UV3H_EVENT_OCCURRED0_GR0_AOERR0_MASK 0x0000000000004000UL
747#define UV3H_EVENT_OCCURRED0_GR1_AOERR0_MASK 0x0000000000008000UL
748#define UV3H_EVENT_OCCURRED0_XB_AOERR0_MASK 0x0000000000010000UL
749#define UV3H_EVENT_OCCURRED0_RT_AOERR0_MASK 0x0000000000020000UL
750#define UV3H_EVENT_OCCURRED0_NI0_AOERR0_MASK 0x0000000000040000UL
751#define UV3H_EVENT_OCCURRED0_NI1_AOERR0_MASK 0x0000000000080000UL
752#define UV3H_EVENT_OCCURRED0_LB_AOERR1_MASK 0x0000000000100000UL
753#define UV3H_EVENT_OCCURRED0_QP_AOERR1_MASK 0x0000000000200000UL
754#define UV3H_EVENT_OCCURRED0_RH_AOERR1_MASK 0x0000000000400000UL
755#define UV3H_EVENT_OCCURRED0_LH0_AOERR1_MASK 0x0000000000800000UL
756#define UV3H_EVENT_OCCURRED0_LH1_AOERR1_MASK 0x0000000001000000UL
757#define UV3H_EVENT_OCCURRED0_GR0_AOERR1_MASK 0x0000000002000000UL
758#define UV3H_EVENT_OCCURRED0_GR1_AOERR1_MASK 0x0000000004000000UL
759#define UV3H_EVENT_OCCURRED0_XB_AOERR1_MASK 0x0000000008000000UL
760#define UV3H_EVENT_OCCURRED0_RT_AOERR1_MASK 0x0000000010000000UL
761#define UV3H_EVENT_OCCURRED0_NI0_AOERR1_MASK 0x0000000020000000UL
762#define UV3H_EVENT_OCCURRED0_NI1_AOERR1_MASK 0x0000000040000000UL
763#define UV3H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK 0x0000000080000000UL
764#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK 0x0000000100000000UL
765#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK 0x0000000200000000UL
766#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK 0x0000000400000000UL
767#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK 0x0000000800000000UL
768#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK 0x0000001000000000UL
769#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK 0x0000002000000000UL
770#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK 0x0000004000000000UL
771#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK 0x0000008000000000UL
772#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK 0x0000010000000000UL
773#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK 0x0000020000000000UL
774#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK 0x0000040000000000UL
775#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK 0x0000080000000000UL
776#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK 0x0000100000000000UL
777#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK 0x0000200000000000UL
778#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK 0x0000400000000000UL
779#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK 0x0000800000000000UL
780#define UV3H_EVENT_OCCURRED0_L1_NMI_INT_MASK 0x0001000000000000UL
781#define UV3H_EVENT_OCCURRED0_STOP_CLOCK_MASK 0x0002000000000000UL
782#define UV3H_EVENT_OCCURRED0_ASIC_TO_L1_MASK 0x0004000000000000UL
783#define UV3H_EVENT_OCCURRED0_L1_TO_ASIC_MASK 0x0008000000000000UL
784#define UV3H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK 0x0010000000000000UL
785#define UV3H_EVENT_OCCURRED0_IPI_INT_MASK 0x0020000000000000UL
786#define UV3H_EVENT_OCCURRED0_EXTIO_INT0_MASK 0x0040000000000000UL
787#define UV3H_EVENT_OCCURRED0_EXTIO_INT1_MASK 0x0080000000000000UL
788#define UV3H_EVENT_OCCURRED0_EXTIO_INT2_MASK 0x0100000000000000UL
789#define UV3H_EVENT_OCCURRED0_EXTIO_INT3_MASK 0x0200000000000000UL
790#define UV3H_EVENT_OCCURRED0_PROFILE_INT_MASK 0x0400000000000000UL
791
361union uvh_event_occurred0_u { 792union uvh_event_occurred0_u {
362 unsigned long v; 793 unsigned long v;
794 struct uvh_event_occurred0_s {
795 unsigned long lb_hcerr:1; /* RW, W1C */
796 unsigned long rsvd_1_10:10;
797 unsigned long rh_aoerr0:1; /* RW, W1C */
798 unsigned long rsvd_12_63:52;
799 } s;
363 struct uv1h_event_occurred0_s { 800 struct uv1h_event_occurred0_s {
364 unsigned long lb_hcerr:1; /* RW, W1C */ 801 unsigned long lb_hcerr:1; /* RW, W1C */
365 unsigned long gr0_hcerr:1; /* RW, W1C */ 802 unsigned long gr0_hcerr:1; /* RW, W1C */
@@ -420,6 +857,68 @@ union uvh_event_occurred0_u {
420 unsigned long power_management_req:1; /* RW, W1C */ 857 unsigned long power_management_req:1; /* RW, W1C */
421 unsigned long rsvd_57_63:7; 858 unsigned long rsvd_57_63:7;
422 } s1; 859 } s1;
860 struct uvxh_event_occurred0_s {
861 unsigned long lb_hcerr:1; /* RW */
862 unsigned long qp_hcerr:1; /* RW */
863 unsigned long rh_hcerr:1; /* RW */
864 unsigned long lh0_hcerr:1; /* RW */
865 unsigned long lh1_hcerr:1; /* RW */
866 unsigned long gr0_hcerr:1; /* RW */
867 unsigned long gr1_hcerr:1; /* RW */
868 unsigned long ni0_hcerr:1; /* RW */
869 unsigned long ni1_hcerr:1; /* RW */
870 unsigned long lb_aoerr0:1; /* RW */
871 unsigned long qp_aoerr0:1; /* RW */
872 unsigned long rh_aoerr0:1; /* RW */
873 unsigned long lh0_aoerr0:1; /* RW */
874 unsigned long lh1_aoerr0:1; /* RW */
875 unsigned long gr0_aoerr0:1; /* RW */
876 unsigned long gr1_aoerr0:1; /* RW */
877 unsigned long xb_aoerr0:1; /* RW */
878 unsigned long rt_aoerr0:1; /* RW */
879 unsigned long ni0_aoerr0:1; /* RW */
880 unsigned long ni1_aoerr0:1; /* RW */
881 unsigned long lb_aoerr1:1; /* RW */
882 unsigned long qp_aoerr1:1; /* RW */
883 unsigned long rh_aoerr1:1; /* RW */
884 unsigned long lh0_aoerr1:1; /* RW */
885 unsigned long lh1_aoerr1:1; /* RW */
886 unsigned long gr0_aoerr1:1; /* RW */
887 unsigned long gr1_aoerr1:1; /* RW */
888 unsigned long xb_aoerr1:1; /* RW */
889 unsigned long rt_aoerr1:1; /* RW */
890 unsigned long ni0_aoerr1:1; /* RW */
891 unsigned long ni1_aoerr1:1; /* RW */
892 unsigned long system_shutdown_int:1; /* RW */
893 unsigned long lb_irq_int_0:1; /* RW */
894 unsigned long lb_irq_int_1:1; /* RW */
895 unsigned long lb_irq_int_2:1; /* RW */
896 unsigned long lb_irq_int_3:1; /* RW */
897 unsigned long lb_irq_int_4:1; /* RW */
898 unsigned long lb_irq_int_5:1; /* RW */
899 unsigned long lb_irq_int_6:1; /* RW */
900 unsigned long lb_irq_int_7:1; /* RW */
901 unsigned long lb_irq_int_8:1; /* RW */
902 unsigned long lb_irq_int_9:1; /* RW */
903 unsigned long lb_irq_int_10:1; /* RW */
904 unsigned long lb_irq_int_11:1; /* RW */
905 unsigned long lb_irq_int_12:1; /* RW */
906 unsigned long lb_irq_int_13:1; /* RW */
907 unsigned long lb_irq_int_14:1; /* RW */
908 unsigned long lb_irq_int_15:1; /* RW */
909 unsigned long l1_nmi_int:1; /* RW */
910 unsigned long stop_clock:1; /* RW */
911 unsigned long asic_to_l1:1; /* RW */
912 unsigned long l1_to_asic:1; /* RW */
913 unsigned long la_seq_trigger:1; /* RW */
914 unsigned long ipi_int:1; /* RW */
915 unsigned long extio_int0:1; /* RW */
916 unsigned long extio_int1:1; /* RW */
917 unsigned long extio_int2:1; /* RW */
918 unsigned long extio_int3:1; /* RW */
919 unsigned long profile_int:1; /* RW */
920 unsigned long rsvd_59_63:5;
921 } sx;
423 struct uv2h_event_occurred0_s { 922 struct uv2h_event_occurred0_s {
424 unsigned long lb_hcerr:1; /* RW */ 923 unsigned long lb_hcerr:1; /* RW */
425 unsigned long qp_hcerr:1; /* RW */ 924 unsigned long qp_hcerr:1; /* RW */
@@ -482,18 +981,90 @@ union uvh_event_occurred0_u {
482 unsigned long profile_int:1; /* RW */ 981 unsigned long profile_int:1; /* RW */
483 unsigned long rsvd_59_63:5; 982 unsigned long rsvd_59_63:5;
484 } s2; 983 } s2;
984 struct uv3h_event_occurred0_s {
985 unsigned long lb_hcerr:1; /* RW */
986 unsigned long qp_hcerr:1; /* RW */
987 unsigned long rh_hcerr:1; /* RW */
988 unsigned long lh0_hcerr:1; /* RW */
989 unsigned long lh1_hcerr:1; /* RW */
990 unsigned long gr0_hcerr:1; /* RW */
991 unsigned long gr1_hcerr:1; /* RW */
992 unsigned long ni0_hcerr:1; /* RW */
993 unsigned long ni1_hcerr:1; /* RW */
994 unsigned long lb_aoerr0:1; /* RW */
995 unsigned long qp_aoerr0:1; /* RW */
996 unsigned long rh_aoerr0:1; /* RW */
997 unsigned long lh0_aoerr0:1; /* RW */
998 unsigned long lh1_aoerr0:1; /* RW */
999 unsigned long gr0_aoerr0:1; /* RW */
1000 unsigned long gr1_aoerr0:1; /* RW */
1001 unsigned long xb_aoerr0:1; /* RW */
1002 unsigned long rt_aoerr0:1; /* RW */
1003 unsigned long ni0_aoerr0:1; /* RW */
1004 unsigned long ni1_aoerr0:1; /* RW */
1005 unsigned long lb_aoerr1:1; /* RW */
1006 unsigned long qp_aoerr1:1; /* RW */
1007 unsigned long rh_aoerr1:1; /* RW */
1008 unsigned long lh0_aoerr1:1; /* RW */
1009 unsigned long lh1_aoerr1:1; /* RW */
1010 unsigned long gr0_aoerr1:1; /* RW */
1011 unsigned long gr1_aoerr1:1; /* RW */
1012 unsigned long xb_aoerr1:1; /* RW */
1013 unsigned long rt_aoerr1:1; /* RW */
1014 unsigned long ni0_aoerr1:1; /* RW */
1015 unsigned long ni1_aoerr1:1; /* RW */
1016 unsigned long system_shutdown_int:1; /* RW */
1017 unsigned long lb_irq_int_0:1; /* RW */
1018 unsigned long lb_irq_int_1:1; /* RW */
1019 unsigned long lb_irq_int_2:1; /* RW */
1020 unsigned long lb_irq_int_3:1; /* RW */
1021 unsigned long lb_irq_int_4:1; /* RW */
1022 unsigned long lb_irq_int_5:1; /* RW */
1023 unsigned long lb_irq_int_6:1; /* RW */
1024 unsigned long lb_irq_int_7:1; /* RW */
1025 unsigned long lb_irq_int_8:1; /* RW */
1026 unsigned long lb_irq_int_9:1; /* RW */
1027 unsigned long lb_irq_int_10:1; /* RW */
1028 unsigned long lb_irq_int_11:1; /* RW */
1029 unsigned long lb_irq_int_12:1; /* RW */
1030 unsigned long lb_irq_int_13:1; /* RW */
1031 unsigned long lb_irq_int_14:1; /* RW */
1032 unsigned long lb_irq_int_15:1; /* RW */
1033 unsigned long l1_nmi_int:1; /* RW */
1034 unsigned long stop_clock:1; /* RW */
1035 unsigned long asic_to_l1:1; /* RW */
1036 unsigned long l1_to_asic:1; /* RW */
1037 unsigned long la_seq_trigger:1; /* RW */
1038 unsigned long ipi_int:1; /* RW */
1039 unsigned long extio_int0:1; /* RW */
1040 unsigned long extio_int1:1; /* RW */
1041 unsigned long extio_int2:1; /* RW */
1042 unsigned long extio_int3:1; /* RW */
1043 unsigned long profile_int:1; /* RW */
1044 unsigned long rsvd_59_63:5;
1045 } s3;
485}; 1046};
486 1047
487/* ========================================================================= */ 1048/* ========================================================================= */
488/* UVH_EVENT_OCCURRED0_ALIAS */ 1049/* UVH_EVENT_OCCURRED0_ALIAS */
489/* ========================================================================= */ 1050/* ========================================================================= */
490#define UVH_EVENT_OCCURRED0_ALIAS 0x0000000000070008UL 1051#define UVH_EVENT_OCCURRED0_ALIAS 0x70008UL
491#define UVH_EVENT_OCCURRED0_ALIAS_32 0x5f0 1052#define UV1H_EVENT_OCCURRED0_ALIAS 0x70008UL
1053#define UV2H_EVENT_OCCURRED0_ALIAS 0x70008UL
1054#define UV3H_EVENT_OCCURRED0_ALIAS 0x70008UL
1055#define UVH_EVENT_OCCURRED0_ALIAS_32 0x5f0
1056#define UV1H_EVENT_OCCURRED0_ALIAS_32 0x70008UL
1057#define UV2H_EVENT_OCCURRED0_ALIAS_32 0x70008UL
1058#define UV3H_EVENT_OCCURRED0_ALIAS_32 0x70008UL
1059
492 1060
493/* ========================================================================= */ 1061/* ========================================================================= */
494/* UVH_GR0_TLB_INT0_CONFIG */ 1062/* UVH_GR0_TLB_INT0_CONFIG */
495/* ========================================================================= */ 1063/* ========================================================================= */
496#define UVH_GR0_TLB_INT0_CONFIG 0x61b00UL 1064#define UVH_GR0_TLB_INT0_CONFIG 0x61b00UL
1065#define UV1H_GR0_TLB_INT0_CONFIG 0x61b00UL
1066#define UV2H_GR0_TLB_INT0_CONFIG 0x61b00UL
1067#define UV3H_GR0_TLB_INT0_CONFIG 0x61b00UL
497 1068
498#define UVH_GR0_TLB_INT0_CONFIG_VECTOR_SHFT 0 1069#define UVH_GR0_TLB_INT0_CONFIG_VECTOR_SHFT 0
499#define UVH_GR0_TLB_INT0_CONFIG_DM_SHFT 8 1070#define UVH_GR0_TLB_INT0_CONFIG_DM_SHFT 8
@@ -512,6 +1083,74 @@ union uvh_event_occurred0_u {
512#define UVH_GR0_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL 1083#define UVH_GR0_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL
513#define UVH_GR0_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 1084#define UVH_GR0_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
514 1085
1086#define UV1H_GR0_TLB_INT0_CONFIG_VECTOR_SHFT 0
1087#define UV1H_GR0_TLB_INT0_CONFIG_DM_SHFT 8
1088#define UV1H_GR0_TLB_INT0_CONFIG_DESTMODE_SHFT 11
1089#define UV1H_GR0_TLB_INT0_CONFIG_STATUS_SHFT 12
1090#define UV1H_GR0_TLB_INT0_CONFIG_P_SHFT 13
1091#define UV1H_GR0_TLB_INT0_CONFIG_T_SHFT 15
1092#define UV1H_GR0_TLB_INT0_CONFIG_M_SHFT 16
1093#define UV1H_GR0_TLB_INT0_CONFIG_APIC_ID_SHFT 32
1094#define UV1H_GR0_TLB_INT0_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1095#define UV1H_GR0_TLB_INT0_CONFIG_DM_MASK 0x0000000000000700UL
1096#define UV1H_GR0_TLB_INT0_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1097#define UV1H_GR0_TLB_INT0_CONFIG_STATUS_MASK 0x0000000000001000UL
1098#define UV1H_GR0_TLB_INT0_CONFIG_P_MASK 0x0000000000002000UL
1099#define UV1H_GR0_TLB_INT0_CONFIG_T_MASK 0x0000000000008000UL
1100#define UV1H_GR0_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL
1101#define UV1H_GR0_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1102
1103#define UVXH_GR0_TLB_INT0_CONFIG_VECTOR_SHFT 0
1104#define UVXH_GR0_TLB_INT0_CONFIG_DM_SHFT 8
1105#define UVXH_GR0_TLB_INT0_CONFIG_DESTMODE_SHFT 11
1106#define UVXH_GR0_TLB_INT0_CONFIG_STATUS_SHFT 12
1107#define UVXH_GR0_TLB_INT0_CONFIG_P_SHFT 13
1108#define UVXH_GR0_TLB_INT0_CONFIG_T_SHFT 15
1109#define UVXH_GR0_TLB_INT0_CONFIG_M_SHFT 16
1110#define UVXH_GR0_TLB_INT0_CONFIG_APIC_ID_SHFT 32
1111#define UVXH_GR0_TLB_INT0_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1112#define UVXH_GR0_TLB_INT0_CONFIG_DM_MASK 0x0000000000000700UL
1113#define UVXH_GR0_TLB_INT0_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1114#define UVXH_GR0_TLB_INT0_CONFIG_STATUS_MASK 0x0000000000001000UL
1115#define UVXH_GR0_TLB_INT0_CONFIG_P_MASK 0x0000000000002000UL
1116#define UVXH_GR0_TLB_INT0_CONFIG_T_MASK 0x0000000000008000UL
1117#define UVXH_GR0_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL
1118#define UVXH_GR0_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1119
1120#define UV2H_GR0_TLB_INT0_CONFIG_VECTOR_SHFT 0
1121#define UV2H_GR0_TLB_INT0_CONFIG_DM_SHFT 8
1122#define UV2H_GR0_TLB_INT0_CONFIG_DESTMODE_SHFT 11
1123#define UV2H_GR0_TLB_INT0_CONFIG_STATUS_SHFT 12
1124#define UV2H_GR0_TLB_INT0_CONFIG_P_SHFT 13
1125#define UV2H_GR0_TLB_INT0_CONFIG_T_SHFT 15
1126#define UV2H_GR0_TLB_INT0_CONFIG_M_SHFT 16
1127#define UV2H_GR0_TLB_INT0_CONFIG_APIC_ID_SHFT 32
1128#define UV2H_GR0_TLB_INT0_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1129#define UV2H_GR0_TLB_INT0_CONFIG_DM_MASK 0x0000000000000700UL
1130#define UV2H_GR0_TLB_INT0_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1131#define UV2H_GR0_TLB_INT0_CONFIG_STATUS_MASK 0x0000000000001000UL
1132#define UV2H_GR0_TLB_INT0_CONFIG_P_MASK 0x0000000000002000UL
1133#define UV2H_GR0_TLB_INT0_CONFIG_T_MASK 0x0000000000008000UL
1134#define UV2H_GR0_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL
1135#define UV2H_GR0_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1136
1137#define UV3H_GR0_TLB_INT0_CONFIG_VECTOR_SHFT 0
1138#define UV3H_GR0_TLB_INT0_CONFIG_DM_SHFT 8
1139#define UV3H_GR0_TLB_INT0_CONFIG_DESTMODE_SHFT 11
1140#define UV3H_GR0_TLB_INT0_CONFIG_STATUS_SHFT 12
1141#define UV3H_GR0_TLB_INT0_CONFIG_P_SHFT 13
1142#define UV3H_GR0_TLB_INT0_CONFIG_T_SHFT 15
1143#define UV3H_GR0_TLB_INT0_CONFIG_M_SHFT 16
1144#define UV3H_GR0_TLB_INT0_CONFIG_APIC_ID_SHFT 32
1145#define UV3H_GR0_TLB_INT0_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1146#define UV3H_GR0_TLB_INT0_CONFIG_DM_MASK 0x0000000000000700UL
1147#define UV3H_GR0_TLB_INT0_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1148#define UV3H_GR0_TLB_INT0_CONFIG_STATUS_MASK 0x0000000000001000UL
1149#define UV3H_GR0_TLB_INT0_CONFIG_P_MASK 0x0000000000002000UL
1150#define UV3H_GR0_TLB_INT0_CONFIG_T_MASK 0x0000000000008000UL
1151#define UV3H_GR0_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL
1152#define UV3H_GR0_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1153
515union uvh_gr0_tlb_int0_config_u { 1154union uvh_gr0_tlb_int0_config_u {
516 unsigned long v; 1155 unsigned long v;
517 struct uvh_gr0_tlb_int0_config_s { 1156 struct uvh_gr0_tlb_int0_config_s {
@@ -526,12 +1165,63 @@ union uvh_gr0_tlb_int0_config_u {
526 unsigned long rsvd_17_31:15; 1165 unsigned long rsvd_17_31:15;
527 unsigned long apic_id:32; /* RW */ 1166 unsigned long apic_id:32; /* RW */
528 } s; 1167 } s;
1168 struct uv1h_gr0_tlb_int0_config_s {
1169 unsigned long vector_:8; /* RW */
1170 unsigned long dm:3; /* RW */
1171 unsigned long destmode:1; /* RW */
1172 unsigned long status:1; /* RO */
1173 unsigned long p:1; /* RO */
1174 unsigned long rsvd_14:1;
1175 unsigned long t:1; /* RO */
1176 unsigned long m:1; /* RW */
1177 unsigned long rsvd_17_31:15;
1178 unsigned long apic_id:32; /* RW */
1179 } s1;
1180 struct uvxh_gr0_tlb_int0_config_s {
1181 unsigned long vector_:8; /* RW */
1182 unsigned long dm:3; /* RW */
1183 unsigned long destmode:1; /* RW */
1184 unsigned long status:1; /* RO */
1185 unsigned long p:1; /* RO */
1186 unsigned long rsvd_14:1;
1187 unsigned long t:1; /* RO */
1188 unsigned long m:1; /* RW */
1189 unsigned long rsvd_17_31:15;
1190 unsigned long apic_id:32; /* RW */
1191 } sx;
1192 struct uv2h_gr0_tlb_int0_config_s {
1193 unsigned long vector_:8; /* RW */
1194 unsigned long dm:3; /* RW */
1195 unsigned long destmode:1; /* RW */
1196 unsigned long status:1; /* RO */
1197 unsigned long p:1; /* RO */
1198 unsigned long rsvd_14:1;
1199 unsigned long t:1; /* RO */
1200 unsigned long m:1; /* RW */
1201 unsigned long rsvd_17_31:15;
1202 unsigned long apic_id:32; /* RW */
1203 } s2;
1204 struct uv3h_gr0_tlb_int0_config_s {
1205 unsigned long vector_:8; /* RW */
1206 unsigned long dm:3; /* RW */
1207 unsigned long destmode:1; /* RW */
1208 unsigned long status:1; /* RO */
1209 unsigned long p:1; /* RO */
1210 unsigned long rsvd_14:1;
1211 unsigned long t:1; /* RO */
1212 unsigned long m:1; /* RW */
1213 unsigned long rsvd_17_31:15;
1214 unsigned long apic_id:32; /* RW */
1215 } s3;
529}; 1216};
530 1217
531/* ========================================================================= */ 1218/* ========================================================================= */
532/* UVH_GR0_TLB_INT1_CONFIG */ 1219/* UVH_GR0_TLB_INT1_CONFIG */
533/* ========================================================================= */ 1220/* ========================================================================= */
534#define UVH_GR0_TLB_INT1_CONFIG 0x61b40UL 1221#define UVH_GR0_TLB_INT1_CONFIG 0x61b40UL
1222#define UV1H_GR0_TLB_INT1_CONFIG 0x61b40UL
1223#define UV2H_GR0_TLB_INT1_CONFIG 0x61b40UL
1224#define UV3H_GR0_TLB_INT1_CONFIG 0x61b40UL
535 1225
536#define UVH_GR0_TLB_INT1_CONFIG_VECTOR_SHFT 0 1226#define UVH_GR0_TLB_INT1_CONFIG_VECTOR_SHFT 0
537#define UVH_GR0_TLB_INT1_CONFIG_DM_SHFT 8 1227#define UVH_GR0_TLB_INT1_CONFIG_DM_SHFT 8
@@ -550,6 +1240,74 @@ union uvh_gr0_tlb_int0_config_u {
550#define UVH_GR0_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL 1240#define UVH_GR0_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL
551#define UVH_GR0_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 1241#define UVH_GR0_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
552 1242
1243#define UV1H_GR0_TLB_INT1_CONFIG_VECTOR_SHFT 0
1244#define UV1H_GR0_TLB_INT1_CONFIG_DM_SHFT 8
1245#define UV1H_GR0_TLB_INT1_CONFIG_DESTMODE_SHFT 11
1246#define UV1H_GR0_TLB_INT1_CONFIG_STATUS_SHFT 12
1247#define UV1H_GR0_TLB_INT1_CONFIG_P_SHFT 13
1248#define UV1H_GR0_TLB_INT1_CONFIG_T_SHFT 15
1249#define UV1H_GR0_TLB_INT1_CONFIG_M_SHFT 16
1250#define UV1H_GR0_TLB_INT1_CONFIG_APIC_ID_SHFT 32
1251#define UV1H_GR0_TLB_INT1_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1252#define UV1H_GR0_TLB_INT1_CONFIG_DM_MASK 0x0000000000000700UL
1253#define UV1H_GR0_TLB_INT1_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1254#define UV1H_GR0_TLB_INT1_CONFIG_STATUS_MASK 0x0000000000001000UL
1255#define UV1H_GR0_TLB_INT1_CONFIG_P_MASK 0x0000000000002000UL
1256#define UV1H_GR0_TLB_INT1_CONFIG_T_MASK 0x0000000000008000UL
1257#define UV1H_GR0_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL
1258#define UV1H_GR0_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1259
1260#define UVXH_GR0_TLB_INT1_CONFIG_VECTOR_SHFT 0
1261#define UVXH_GR0_TLB_INT1_CONFIG_DM_SHFT 8
1262#define UVXH_GR0_TLB_INT1_CONFIG_DESTMODE_SHFT 11
1263#define UVXH_GR0_TLB_INT1_CONFIG_STATUS_SHFT 12
1264#define UVXH_GR0_TLB_INT1_CONFIG_P_SHFT 13
1265#define UVXH_GR0_TLB_INT1_CONFIG_T_SHFT 15
1266#define UVXH_GR0_TLB_INT1_CONFIG_M_SHFT 16
1267#define UVXH_GR0_TLB_INT1_CONFIG_APIC_ID_SHFT 32
1268#define UVXH_GR0_TLB_INT1_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1269#define UVXH_GR0_TLB_INT1_CONFIG_DM_MASK 0x0000000000000700UL
1270#define UVXH_GR0_TLB_INT1_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1271#define UVXH_GR0_TLB_INT1_CONFIG_STATUS_MASK 0x0000000000001000UL
1272#define UVXH_GR0_TLB_INT1_CONFIG_P_MASK 0x0000000000002000UL
1273#define UVXH_GR0_TLB_INT1_CONFIG_T_MASK 0x0000000000008000UL
1274#define UVXH_GR0_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL
1275#define UVXH_GR0_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1276
1277#define UV2H_GR0_TLB_INT1_CONFIG_VECTOR_SHFT 0
1278#define UV2H_GR0_TLB_INT1_CONFIG_DM_SHFT 8
1279#define UV2H_GR0_TLB_INT1_CONFIG_DESTMODE_SHFT 11
1280#define UV2H_GR0_TLB_INT1_CONFIG_STATUS_SHFT 12
1281#define UV2H_GR0_TLB_INT1_CONFIG_P_SHFT 13
1282#define UV2H_GR0_TLB_INT1_CONFIG_T_SHFT 15
1283#define UV2H_GR0_TLB_INT1_CONFIG_M_SHFT 16
1284#define UV2H_GR0_TLB_INT1_CONFIG_APIC_ID_SHFT 32
1285#define UV2H_GR0_TLB_INT1_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1286#define UV2H_GR0_TLB_INT1_CONFIG_DM_MASK 0x0000000000000700UL
1287#define UV2H_GR0_TLB_INT1_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1288#define UV2H_GR0_TLB_INT1_CONFIG_STATUS_MASK 0x0000000000001000UL
1289#define UV2H_GR0_TLB_INT1_CONFIG_P_MASK 0x0000000000002000UL
1290#define UV2H_GR0_TLB_INT1_CONFIG_T_MASK 0x0000000000008000UL
1291#define UV2H_GR0_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL
1292#define UV2H_GR0_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1293
1294#define UV3H_GR0_TLB_INT1_CONFIG_VECTOR_SHFT 0
1295#define UV3H_GR0_TLB_INT1_CONFIG_DM_SHFT 8
1296#define UV3H_GR0_TLB_INT1_CONFIG_DESTMODE_SHFT 11
1297#define UV3H_GR0_TLB_INT1_CONFIG_STATUS_SHFT 12
1298#define UV3H_GR0_TLB_INT1_CONFIG_P_SHFT 13
1299#define UV3H_GR0_TLB_INT1_CONFIG_T_SHFT 15
1300#define UV3H_GR0_TLB_INT1_CONFIG_M_SHFT 16
1301#define UV3H_GR0_TLB_INT1_CONFIG_APIC_ID_SHFT 32
1302#define UV3H_GR0_TLB_INT1_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1303#define UV3H_GR0_TLB_INT1_CONFIG_DM_MASK 0x0000000000000700UL
1304#define UV3H_GR0_TLB_INT1_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1305#define UV3H_GR0_TLB_INT1_CONFIG_STATUS_MASK 0x0000000000001000UL
1306#define UV3H_GR0_TLB_INT1_CONFIG_P_MASK 0x0000000000002000UL
1307#define UV3H_GR0_TLB_INT1_CONFIG_T_MASK 0x0000000000008000UL
1308#define UV3H_GR0_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL
1309#define UV3H_GR0_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1310
553union uvh_gr0_tlb_int1_config_u { 1311union uvh_gr0_tlb_int1_config_u {
554 unsigned long v; 1312 unsigned long v;
555 struct uvh_gr0_tlb_int1_config_s { 1313 struct uvh_gr0_tlb_int1_config_s {
@@ -564,6 +1322,54 @@ union uvh_gr0_tlb_int1_config_u {
564 unsigned long rsvd_17_31:15; 1322 unsigned long rsvd_17_31:15;
565 unsigned long apic_id:32; /* RW */ 1323 unsigned long apic_id:32; /* RW */
566 } s; 1324 } s;
1325 struct uv1h_gr0_tlb_int1_config_s {
1326 unsigned long vector_:8; /* RW */
1327 unsigned long dm:3; /* RW */
1328 unsigned long destmode:1; /* RW */
1329 unsigned long status:1; /* RO */
1330 unsigned long p:1; /* RO */
1331 unsigned long rsvd_14:1;
1332 unsigned long t:1; /* RO */
1333 unsigned long m:1; /* RW */
1334 unsigned long rsvd_17_31:15;
1335 unsigned long apic_id:32; /* RW */
1336 } s1;
1337 struct uvxh_gr0_tlb_int1_config_s {
1338 unsigned long vector_:8; /* RW */
1339 unsigned long dm:3; /* RW */
1340 unsigned long destmode:1; /* RW */
1341 unsigned long status:1; /* RO */
1342 unsigned long p:1; /* RO */
1343 unsigned long rsvd_14:1;
1344 unsigned long t:1; /* RO */
1345 unsigned long m:1; /* RW */
1346 unsigned long rsvd_17_31:15;
1347 unsigned long apic_id:32; /* RW */
1348 } sx;
1349 struct uv2h_gr0_tlb_int1_config_s {
1350 unsigned long vector_:8; /* RW */
1351 unsigned long dm:3; /* RW */
1352 unsigned long destmode:1; /* RW */
1353 unsigned long status:1; /* RO */
1354 unsigned long p:1; /* RO */
1355 unsigned long rsvd_14:1;
1356 unsigned long t:1; /* RO */
1357 unsigned long m:1; /* RW */
1358 unsigned long rsvd_17_31:15;
1359 unsigned long apic_id:32; /* RW */
1360 } s2;
1361 struct uv3h_gr0_tlb_int1_config_s {
1362 unsigned long vector_:8; /* RW */
1363 unsigned long dm:3; /* RW */
1364 unsigned long destmode:1; /* RW */
1365 unsigned long status:1; /* RO */
1366 unsigned long p:1; /* RO */
1367 unsigned long rsvd_14:1;
1368 unsigned long t:1; /* RO */
1369 unsigned long m:1; /* RW */
1370 unsigned long rsvd_17_31:15;
1371 unsigned long apic_id:32; /* RW */
1372 } s3;
567}; 1373};
568 1374
569/* ========================================================================= */ 1375/* ========================================================================= */
@@ -571,9 +1377,11 @@ union uvh_gr0_tlb_int1_config_u {
571/* ========================================================================= */ 1377/* ========================================================================= */
572#define UV1H_GR0_TLB_MMR_CONTROL 0x401080UL 1378#define UV1H_GR0_TLB_MMR_CONTROL 0x401080UL
573#define UV2H_GR0_TLB_MMR_CONTROL 0xc01080UL 1379#define UV2H_GR0_TLB_MMR_CONTROL 0xc01080UL
574#define UVH_GR0_TLB_MMR_CONTROL (is_uv1_hub() ? \ 1380#define UV3H_GR0_TLB_MMR_CONTROL 0xc01080UL
575 UV1H_GR0_TLB_MMR_CONTROL : \ 1381#define UVH_GR0_TLB_MMR_CONTROL \
576 UV2H_GR0_TLB_MMR_CONTROL) 1382 (is_uv1_hub() ? UV1H_GR0_TLB_MMR_CONTROL : \
1383 (is_uv2_hub() ? UV2H_GR0_TLB_MMR_CONTROL : \
1384 UV3H_GR0_TLB_MMR_CONTROL))
577 1385
578#define UVH_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0 1386#define UVH_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0
579#define UVH_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 1387#define UVH_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 12
@@ -611,6 +1419,21 @@ union uvh_gr0_tlb_int1_config_u {
611#define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBRREG_MASK 0x0100000000000000UL 1419#define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBRREG_MASK 0x0100000000000000UL
612#define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_MASK 0x1000000000000000UL 1420#define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_MASK 0x1000000000000000UL
613 1421
1422#define UVXH_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0
1423#define UVXH_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 12
1424#define UVXH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16
1425#define UVXH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
1426#define UVXH_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30
1427#define UVXH_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT 31
1428#define UVXH_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT 32
1429#define UVXH_GR0_TLB_MMR_CONTROL_INDEX_MASK 0x0000000000000fffUL
1430#define UVXH_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK 0x0000000000003000UL
1431#define UVXH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL
1432#define UVXH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
1433#define UVXH_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL
1434#define UVXH_GR0_TLB_MMR_CONTROL_MMR_READ_MASK 0x0000000080000000UL
1435#define UVXH_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_MASK 0x0000000100000000UL
1436
614#define UV2H_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0 1437#define UV2H_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0
615#define UV2H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 1438#define UV2H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 12
616#define UV2H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16 1439#define UV2H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16
@@ -630,6 +1453,23 @@ union uvh_gr0_tlb_int1_config_u {
630#define UV2H_GR0_TLB_MMR_CONTROL_MMR_INJ_CON_MASK 0x0001000000000000UL 1453#define UV2H_GR0_TLB_MMR_CONTROL_MMR_INJ_CON_MASK 0x0001000000000000UL
631#define UV2H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_MASK 0x0010000000000000UL 1454#define UV2H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_MASK 0x0010000000000000UL
632 1455
1456#define UV3H_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0
1457#define UV3H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 12
1458#define UV3H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16
1459#define UV3H_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
1460#define UV3H_GR0_TLB_MMR_CONTROL_ECC_SEL_SHFT 21
1461#define UV3H_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30
1462#define UV3H_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT 31
1463#define UV3H_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT 32
1464#define UV3H_GR0_TLB_MMR_CONTROL_INDEX_MASK 0x0000000000000fffUL
1465#define UV3H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK 0x0000000000003000UL
1466#define UV3H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL
1467#define UV3H_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
1468#define UV3H_GR0_TLB_MMR_CONTROL_ECC_SEL_MASK 0x0000000000200000UL
1469#define UV3H_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL
1470#define UV3H_GR0_TLB_MMR_CONTROL_MMR_READ_MASK 0x0000000080000000UL
1471#define UV3H_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_MASK 0x0000000100000000UL
1472
633union uvh_gr0_tlb_mmr_control_u { 1473union uvh_gr0_tlb_mmr_control_u {
634 unsigned long v; 1474 unsigned long v;
635 struct uvh_gr0_tlb_mmr_control_s { 1475 struct uvh_gr0_tlb_mmr_control_s {
@@ -642,7 +1482,9 @@ union uvh_gr0_tlb_mmr_control_u {
642 unsigned long rsvd_21_29:9; 1482 unsigned long rsvd_21_29:9;
643 unsigned long mmr_write:1; /* WP */ 1483 unsigned long mmr_write:1; /* WP */
644 unsigned long mmr_read:1; /* WP */ 1484 unsigned long mmr_read:1; /* WP */
645 unsigned long rsvd_32_63:32; 1485 unsigned long rsvd_32_48:17;
1486 unsigned long rsvd_49_51:3;
1487 unsigned long rsvd_52_63:12;
646 } s; 1488 } s;
647 struct uv1h_gr0_tlb_mmr_control_s { 1489 struct uv1h_gr0_tlb_mmr_control_s {
648 unsigned long index:12; /* RW */ 1490 unsigned long index:12; /* RW */
@@ -666,6 +1508,23 @@ union uvh_gr0_tlb_mmr_control_u {
666 unsigned long mmr_inj_tlblruv:1; /* RW */ 1508 unsigned long mmr_inj_tlblruv:1; /* RW */
667 unsigned long rsvd_61_63:3; 1509 unsigned long rsvd_61_63:3;
668 } s1; 1510 } s1;
1511 struct uvxh_gr0_tlb_mmr_control_s {
1512 unsigned long index:12; /* RW */
1513 unsigned long mem_sel:2; /* RW */
1514 unsigned long rsvd_14_15:2;
1515 unsigned long auto_valid_en:1; /* RW */
1516 unsigned long rsvd_17_19:3;
1517 unsigned long mmr_hash_index_en:1; /* RW */
1518 unsigned long rsvd_21_29:9;
1519 unsigned long mmr_write:1; /* WP */
1520 unsigned long mmr_read:1; /* WP */
1521 unsigned long mmr_op_done:1; /* RW */
1522 unsigned long rsvd_33_47:15;
1523 unsigned long rsvd_48:1;
1524 unsigned long rsvd_49_51:3;
1525 unsigned long rsvd_52:1;
1526 unsigned long rsvd_53_63:11;
1527 } sx;
669 struct uv2h_gr0_tlb_mmr_control_s { 1528 struct uv2h_gr0_tlb_mmr_control_s {
670 unsigned long index:12; /* RW */ 1529 unsigned long index:12; /* RW */
671 unsigned long mem_sel:2; /* RW */ 1530 unsigned long mem_sel:2; /* RW */
@@ -683,6 +1542,24 @@ union uvh_gr0_tlb_mmr_control_u {
683 unsigned long mmr_inj_tlbram:1; /* RW */ 1542 unsigned long mmr_inj_tlbram:1; /* RW */
684 unsigned long rsvd_53_63:11; 1543 unsigned long rsvd_53_63:11;
685 } s2; 1544 } s2;
1545 struct uv3h_gr0_tlb_mmr_control_s {
1546 unsigned long index:12; /* RW */
1547 unsigned long mem_sel:2; /* RW */
1548 unsigned long rsvd_14_15:2;
1549 unsigned long auto_valid_en:1; /* RW */
1550 unsigned long rsvd_17_19:3;
1551 unsigned long mmr_hash_index_en:1; /* RW */
1552 unsigned long ecc_sel:1; /* RW */
1553 unsigned long rsvd_22_29:8;
1554 unsigned long mmr_write:1; /* WP */
1555 unsigned long mmr_read:1; /* WP */
1556 unsigned long mmr_op_done:1; /* RW */
1557 unsigned long rsvd_33_47:15;
1558 unsigned long undef_48:1; /* Undefined */
1559 unsigned long rsvd_49_51:3;
1560 unsigned long undef_52:1; /* Undefined */
1561 unsigned long rsvd_53_63:11;
1562 } s3;
686}; 1563};
687 1564
688/* ========================================================================= */ 1565/* ========================================================================= */
@@ -690,9 +1567,11 @@ union uvh_gr0_tlb_mmr_control_u {
690/* ========================================================================= */ 1567/* ========================================================================= */
691#define UV1H_GR0_TLB_MMR_READ_DATA_HI 0x4010a0UL 1568#define UV1H_GR0_TLB_MMR_READ_DATA_HI 0x4010a0UL
692#define UV2H_GR0_TLB_MMR_READ_DATA_HI 0xc010a0UL 1569#define UV2H_GR0_TLB_MMR_READ_DATA_HI 0xc010a0UL
693#define UVH_GR0_TLB_MMR_READ_DATA_HI (is_uv1_hub() ? \ 1570#define UV3H_GR0_TLB_MMR_READ_DATA_HI 0xc010a0UL
694 UV1H_GR0_TLB_MMR_READ_DATA_HI : \ 1571#define UVH_GR0_TLB_MMR_READ_DATA_HI \
695 UV2H_GR0_TLB_MMR_READ_DATA_HI) 1572 (is_uv1_hub() ? UV1H_GR0_TLB_MMR_READ_DATA_HI : \
1573 (is_uv2_hub() ? UV2H_GR0_TLB_MMR_READ_DATA_HI : \
1574 UV3H_GR0_TLB_MMR_READ_DATA_HI))
696 1575
697#define UVH_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 1576#define UVH_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
698#define UVH_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 1577#define UVH_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
@@ -703,6 +1582,46 @@ union uvh_gr0_tlb_mmr_control_u {
703#define UVH_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL 1582#define UVH_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL
704#define UVH_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL 1583#define UVH_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
705 1584
1585#define UV1H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
1586#define UV1H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
1587#define UV1H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43
1588#define UV1H_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44
1589#define UV1H_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL
1590#define UV1H_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL
1591#define UV1H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL
1592#define UV1H_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
1593
1594#define UVXH_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
1595#define UVXH_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
1596#define UVXH_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43
1597#define UVXH_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44
1598#define UVXH_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL
1599#define UVXH_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL
1600#define UVXH_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL
1601#define UVXH_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
1602
1603#define UV2H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
1604#define UV2H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
1605#define UV2H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43
1606#define UV2H_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44
1607#define UV2H_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL
1608#define UV2H_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL
1609#define UV2H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL
1610#define UV2H_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
1611
1612#define UV3H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
1613#define UV3H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
1614#define UV3H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43
1615#define UV3H_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44
1616#define UV3H_GR0_TLB_MMR_READ_DATA_HI_AA_EXT_SHFT 45
1617#define UV3H_GR0_TLB_MMR_READ_DATA_HI_WAY_ECC_SHFT 55
1618#define UV3H_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL
1619#define UV3H_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL
1620#define UV3H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL
1621#define UV3H_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
1622#define UV3H_GR0_TLB_MMR_READ_DATA_HI_AA_EXT_MASK 0x0000200000000000UL
1623#define UV3H_GR0_TLB_MMR_READ_DATA_HI_WAY_ECC_MASK 0xff80000000000000UL
1624
706union uvh_gr0_tlb_mmr_read_data_hi_u { 1625union uvh_gr0_tlb_mmr_read_data_hi_u {
707 unsigned long v; 1626 unsigned long v;
708 struct uvh_gr0_tlb_mmr_read_data_hi_s { 1627 struct uvh_gr0_tlb_mmr_read_data_hi_s {
@@ -712,6 +1631,36 @@ union uvh_gr0_tlb_mmr_read_data_hi_u {
712 unsigned long larger:1; /* RO */ 1631 unsigned long larger:1; /* RO */
713 unsigned long rsvd_45_63:19; 1632 unsigned long rsvd_45_63:19;
714 } s; 1633 } s;
1634 struct uv1h_gr0_tlb_mmr_read_data_hi_s {
1635 unsigned long pfn:41; /* RO */
1636 unsigned long gaa:2; /* RO */
1637 unsigned long dirty:1; /* RO */
1638 unsigned long larger:1; /* RO */
1639 unsigned long rsvd_45_63:19;
1640 } s1;
1641 struct uvxh_gr0_tlb_mmr_read_data_hi_s {
1642 unsigned long pfn:41; /* RO */
1643 unsigned long gaa:2; /* RO */
1644 unsigned long dirty:1; /* RO */
1645 unsigned long larger:1; /* RO */
1646 unsigned long rsvd_45_63:19;
1647 } sx;
1648 struct uv2h_gr0_tlb_mmr_read_data_hi_s {
1649 unsigned long pfn:41; /* RO */
1650 unsigned long gaa:2; /* RO */
1651 unsigned long dirty:1; /* RO */
1652 unsigned long larger:1; /* RO */
1653 unsigned long rsvd_45_63:19;
1654 } s2;
1655 struct uv3h_gr0_tlb_mmr_read_data_hi_s {
1656 unsigned long pfn:41; /* RO */
1657 unsigned long gaa:2; /* RO */
1658 unsigned long dirty:1; /* RO */
1659 unsigned long larger:1; /* RO */
1660 unsigned long aa_ext:1; /* RO */
1661 unsigned long undef_46_54:9; /* Undefined */
1662 unsigned long way_ecc:9; /* RO */
1663 } s3;
715}; 1664};
716 1665
717/* ========================================================================= */ 1666/* ========================================================================= */
@@ -719,9 +1668,11 @@ union uvh_gr0_tlb_mmr_read_data_hi_u {
719/* ========================================================================= */ 1668/* ========================================================================= */
720#define UV1H_GR0_TLB_MMR_READ_DATA_LO 0x4010a8UL 1669#define UV1H_GR0_TLB_MMR_READ_DATA_LO 0x4010a8UL
721#define UV2H_GR0_TLB_MMR_READ_DATA_LO 0xc010a8UL 1670#define UV2H_GR0_TLB_MMR_READ_DATA_LO 0xc010a8UL
722#define UVH_GR0_TLB_MMR_READ_DATA_LO (is_uv1_hub() ? \ 1671#define UV3H_GR0_TLB_MMR_READ_DATA_LO 0xc010a8UL
723 UV1H_GR0_TLB_MMR_READ_DATA_LO : \ 1672#define UVH_GR0_TLB_MMR_READ_DATA_LO \
724 UV2H_GR0_TLB_MMR_READ_DATA_LO) 1673 (is_uv1_hub() ? UV1H_GR0_TLB_MMR_READ_DATA_LO : \
1674 (is_uv2_hub() ? UV2H_GR0_TLB_MMR_READ_DATA_LO : \
1675 UV3H_GR0_TLB_MMR_READ_DATA_LO))
725 1676
726#define UVH_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 1677#define UVH_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0
727#define UVH_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 1678#define UVH_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39
@@ -730,6 +1681,34 @@ union uvh_gr0_tlb_mmr_read_data_hi_u {
730#define UVH_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL 1681#define UVH_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL
731#define UVH_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL 1682#define UVH_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL
732 1683
1684#define UV1H_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0
1685#define UV1H_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39
1686#define UV1H_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT 63
1687#define UV1H_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL
1688#define UV1H_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL
1689#define UV1H_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL
1690
1691#define UVXH_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0
1692#define UVXH_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39
1693#define UVXH_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT 63
1694#define UVXH_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL
1695#define UVXH_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL
1696#define UVXH_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL
1697
1698#define UV2H_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0
1699#define UV2H_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39
1700#define UV2H_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT 63
1701#define UV2H_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL
1702#define UV2H_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL
1703#define UV2H_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL
1704
1705#define UV3H_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0
1706#define UV3H_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39
1707#define UV3H_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT 63
1708#define UV3H_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL
1709#define UV3H_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL
1710#define UV3H_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL
1711
733union uvh_gr0_tlb_mmr_read_data_lo_u { 1712union uvh_gr0_tlb_mmr_read_data_lo_u {
734 unsigned long v; 1713 unsigned long v;
735 struct uvh_gr0_tlb_mmr_read_data_lo_s { 1714 struct uvh_gr0_tlb_mmr_read_data_lo_s {
@@ -737,12 +1716,35 @@ union uvh_gr0_tlb_mmr_read_data_lo_u {
737 unsigned long asid:24; /* RO */ 1716 unsigned long asid:24; /* RO */
738 unsigned long valid:1; /* RO */ 1717 unsigned long valid:1; /* RO */
739 } s; 1718 } s;
1719 struct uv1h_gr0_tlb_mmr_read_data_lo_s {
1720 unsigned long vpn:39; /* RO */
1721 unsigned long asid:24; /* RO */
1722 unsigned long valid:1; /* RO */
1723 } s1;
1724 struct uvxh_gr0_tlb_mmr_read_data_lo_s {
1725 unsigned long vpn:39; /* RO */
1726 unsigned long asid:24; /* RO */
1727 unsigned long valid:1; /* RO */
1728 } sx;
1729 struct uv2h_gr0_tlb_mmr_read_data_lo_s {
1730 unsigned long vpn:39; /* RO */
1731 unsigned long asid:24; /* RO */
1732 unsigned long valid:1; /* RO */
1733 } s2;
1734 struct uv3h_gr0_tlb_mmr_read_data_lo_s {
1735 unsigned long vpn:39; /* RO */
1736 unsigned long asid:24; /* RO */
1737 unsigned long valid:1; /* RO */
1738 } s3;
740}; 1739};
741 1740
742/* ========================================================================= */ 1741/* ========================================================================= */
743/* UVH_GR1_TLB_INT0_CONFIG */ 1742/* UVH_GR1_TLB_INT0_CONFIG */
744/* ========================================================================= */ 1743/* ========================================================================= */
745#define UVH_GR1_TLB_INT0_CONFIG 0x61f00UL 1744#define UVH_GR1_TLB_INT0_CONFIG 0x61f00UL
1745#define UV1H_GR1_TLB_INT0_CONFIG 0x61f00UL
1746#define UV2H_GR1_TLB_INT0_CONFIG 0x61f00UL
1747#define UV3H_GR1_TLB_INT0_CONFIG 0x61f00UL
746 1748
747#define UVH_GR1_TLB_INT0_CONFIG_VECTOR_SHFT 0 1749#define UVH_GR1_TLB_INT0_CONFIG_VECTOR_SHFT 0
748#define UVH_GR1_TLB_INT0_CONFIG_DM_SHFT 8 1750#define UVH_GR1_TLB_INT0_CONFIG_DM_SHFT 8
@@ -761,6 +1763,74 @@ union uvh_gr0_tlb_mmr_read_data_lo_u {
761#define UVH_GR1_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL 1763#define UVH_GR1_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL
762#define UVH_GR1_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 1764#define UVH_GR1_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
763 1765
1766#define UV1H_GR1_TLB_INT0_CONFIG_VECTOR_SHFT 0
1767#define UV1H_GR1_TLB_INT0_CONFIG_DM_SHFT 8
1768#define UV1H_GR1_TLB_INT0_CONFIG_DESTMODE_SHFT 11
1769#define UV1H_GR1_TLB_INT0_CONFIG_STATUS_SHFT 12
1770#define UV1H_GR1_TLB_INT0_CONFIG_P_SHFT 13
1771#define UV1H_GR1_TLB_INT0_CONFIG_T_SHFT 15
1772#define UV1H_GR1_TLB_INT0_CONFIG_M_SHFT 16
1773#define UV1H_GR1_TLB_INT0_CONFIG_APIC_ID_SHFT 32
1774#define UV1H_GR1_TLB_INT0_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1775#define UV1H_GR1_TLB_INT0_CONFIG_DM_MASK 0x0000000000000700UL
1776#define UV1H_GR1_TLB_INT0_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1777#define UV1H_GR1_TLB_INT0_CONFIG_STATUS_MASK 0x0000000000001000UL
1778#define UV1H_GR1_TLB_INT0_CONFIG_P_MASK 0x0000000000002000UL
1779#define UV1H_GR1_TLB_INT0_CONFIG_T_MASK 0x0000000000008000UL
1780#define UV1H_GR1_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL
1781#define UV1H_GR1_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1782
1783#define UVXH_GR1_TLB_INT0_CONFIG_VECTOR_SHFT 0
1784#define UVXH_GR1_TLB_INT0_CONFIG_DM_SHFT 8
1785#define UVXH_GR1_TLB_INT0_CONFIG_DESTMODE_SHFT 11
1786#define UVXH_GR1_TLB_INT0_CONFIG_STATUS_SHFT 12
1787#define UVXH_GR1_TLB_INT0_CONFIG_P_SHFT 13
1788#define UVXH_GR1_TLB_INT0_CONFIG_T_SHFT 15
1789#define UVXH_GR1_TLB_INT0_CONFIG_M_SHFT 16
1790#define UVXH_GR1_TLB_INT0_CONFIG_APIC_ID_SHFT 32
1791#define UVXH_GR1_TLB_INT0_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1792#define UVXH_GR1_TLB_INT0_CONFIG_DM_MASK 0x0000000000000700UL
1793#define UVXH_GR1_TLB_INT0_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1794#define UVXH_GR1_TLB_INT0_CONFIG_STATUS_MASK 0x0000000000001000UL
1795#define UVXH_GR1_TLB_INT0_CONFIG_P_MASK 0x0000000000002000UL
1796#define UVXH_GR1_TLB_INT0_CONFIG_T_MASK 0x0000000000008000UL
1797#define UVXH_GR1_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL
1798#define UVXH_GR1_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1799
1800#define UV2H_GR1_TLB_INT0_CONFIG_VECTOR_SHFT 0
1801#define UV2H_GR1_TLB_INT0_CONFIG_DM_SHFT 8
1802#define UV2H_GR1_TLB_INT0_CONFIG_DESTMODE_SHFT 11
1803#define UV2H_GR1_TLB_INT0_CONFIG_STATUS_SHFT 12
1804#define UV2H_GR1_TLB_INT0_CONFIG_P_SHFT 13
1805#define UV2H_GR1_TLB_INT0_CONFIG_T_SHFT 15
1806#define UV2H_GR1_TLB_INT0_CONFIG_M_SHFT 16
1807#define UV2H_GR1_TLB_INT0_CONFIG_APIC_ID_SHFT 32
1808#define UV2H_GR1_TLB_INT0_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1809#define UV2H_GR1_TLB_INT0_CONFIG_DM_MASK 0x0000000000000700UL
1810#define UV2H_GR1_TLB_INT0_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1811#define UV2H_GR1_TLB_INT0_CONFIG_STATUS_MASK 0x0000000000001000UL
1812#define UV2H_GR1_TLB_INT0_CONFIG_P_MASK 0x0000000000002000UL
1813#define UV2H_GR1_TLB_INT0_CONFIG_T_MASK 0x0000000000008000UL
1814#define UV2H_GR1_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL
1815#define UV2H_GR1_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1816
1817#define UV3H_GR1_TLB_INT0_CONFIG_VECTOR_SHFT 0
1818#define UV3H_GR1_TLB_INT0_CONFIG_DM_SHFT 8
1819#define UV3H_GR1_TLB_INT0_CONFIG_DESTMODE_SHFT 11
1820#define UV3H_GR1_TLB_INT0_CONFIG_STATUS_SHFT 12
1821#define UV3H_GR1_TLB_INT0_CONFIG_P_SHFT 13
1822#define UV3H_GR1_TLB_INT0_CONFIG_T_SHFT 15
1823#define UV3H_GR1_TLB_INT0_CONFIG_M_SHFT 16
1824#define UV3H_GR1_TLB_INT0_CONFIG_APIC_ID_SHFT 32
1825#define UV3H_GR1_TLB_INT0_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1826#define UV3H_GR1_TLB_INT0_CONFIG_DM_MASK 0x0000000000000700UL
1827#define UV3H_GR1_TLB_INT0_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1828#define UV3H_GR1_TLB_INT0_CONFIG_STATUS_MASK 0x0000000000001000UL
1829#define UV3H_GR1_TLB_INT0_CONFIG_P_MASK 0x0000000000002000UL
1830#define UV3H_GR1_TLB_INT0_CONFIG_T_MASK 0x0000000000008000UL
1831#define UV3H_GR1_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL
1832#define UV3H_GR1_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1833
764union uvh_gr1_tlb_int0_config_u { 1834union uvh_gr1_tlb_int0_config_u {
765 unsigned long v; 1835 unsigned long v;
766 struct uvh_gr1_tlb_int0_config_s { 1836 struct uvh_gr1_tlb_int0_config_s {
@@ -775,12 +1845,63 @@ union uvh_gr1_tlb_int0_config_u {
775 unsigned long rsvd_17_31:15; 1845 unsigned long rsvd_17_31:15;
776 unsigned long apic_id:32; /* RW */ 1846 unsigned long apic_id:32; /* RW */
777 } s; 1847 } s;
1848 struct uv1h_gr1_tlb_int0_config_s {
1849 unsigned long vector_:8; /* RW */
1850 unsigned long dm:3; /* RW */
1851 unsigned long destmode:1; /* RW */
1852 unsigned long status:1; /* RO */
1853 unsigned long p:1; /* RO */
1854 unsigned long rsvd_14:1;
1855 unsigned long t:1; /* RO */
1856 unsigned long m:1; /* RW */
1857 unsigned long rsvd_17_31:15;
1858 unsigned long apic_id:32; /* RW */
1859 } s1;
1860 struct uvxh_gr1_tlb_int0_config_s {
1861 unsigned long vector_:8; /* RW */
1862 unsigned long dm:3; /* RW */
1863 unsigned long destmode:1; /* RW */
1864 unsigned long status:1; /* RO */
1865 unsigned long p:1; /* RO */
1866 unsigned long rsvd_14:1;
1867 unsigned long t:1; /* RO */
1868 unsigned long m:1; /* RW */
1869 unsigned long rsvd_17_31:15;
1870 unsigned long apic_id:32; /* RW */
1871 } sx;
1872 struct uv2h_gr1_tlb_int0_config_s {
1873 unsigned long vector_:8; /* RW */
1874 unsigned long dm:3; /* RW */
1875 unsigned long destmode:1; /* RW */
1876 unsigned long status:1; /* RO */
1877 unsigned long p:1; /* RO */
1878 unsigned long rsvd_14:1;
1879 unsigned long t:1; /* RO */
1880 unsigned long m:1; /* RW */
1881 unsigned long rsvd_17_31:15;
1882 unsigned long apic_id:32; /* RW */
1883 } s2;
1884 struct uv3h_gr1_tlb_int0_config_s {
1885 unsigned long vector_:8; /* RW */
1886 unsigned long dm:3; /* RW */
1887 unsigned long destmode:1; /* RW */
1888 unsigned long status:1; /* RO */
1889 unsigned long p:1; /* RO */
1890 unsigned long rsvd_14:1;
1891 unsigned long t:1; /* RO */
1892 unsigned long m:1; /* RW */
1893 unsigned long rsvd_17_31:15;
1894 unsigned long apic_id:32; /* RW */
1895 } s3;
778}; 1896};
779 1897
780/* ========================================================================= */ 1898/* ========================================================================= */
781/* UVH_GR1_TLB_INT1_CONFIG */ 1899/* UVH_GR1_TLB_INT1_CONFIG */
782/* ========================================================================= */ 1900/* ========================================================================= */
783#define UVH_GR1_TLB_INT1_CONFIG 0x61f40UL 1901#define UVH_GR1_TLB_INT1_CONFIG 0x61f40UL
1902#define UV1H_GR1_TLB_INT1_CONFIG 0x61f40UL
1903#define UV2H_GR1_TLB_INT1_CONFIG 0x61f40UL
1904#define UV3H_GR1_TLB_INT1_CONFIG 0x61f40UL
784 1905
785#define UVH_GR1_TLB_INT1_CONFIG_VECTOR_SHFT 0 1906#define UVH_GR1_TLB_INT1_CONFIG_VECTOR_SHFT 0
786#define UVH_GR1_TLB_INT1_CONFIG_DM_SHFT 8 1907#define UVH_GR1_TLB_INT1_CONFIG_DM_SHFT 8
@@ -799,6 +1920,74 @@ union uvh_gr1_tlb_int0_config_u {
799#define UVH_GR1_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL 1920#define UVH_GR1_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL
800#define UVH_GR1_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 1921#define UVH_GR1_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
801 1922
1923#define UV1H_GR1_TLB_INT1_CONFIG_VECTOR_SHFT 0
1924#define UV1H_GR1_TLB_INT1_CONFIG_DM_SHFT 8
1925#define UV1H_GR1_TLB_INT1_CONFIG_DESTMODE_SHFT 11
1926#define UV1H_GR1_TLB_INT1_CONFIG_STATUS_SHFT 12
1927#define UV1H_GR1_TLB_INT1_CONFIG_P_SHFT 13
1928#define UV1H_GR1_TLB_INT1_CONFIG_T_SHFT 15
1929#define UV1H_GR1_TLB_INT1_CONFIG_M_SHFT 16
1930#define UV1H_GR1_TLB_INT1_CONFIG_APIC_ID_SHFT 32
1931#define UV1H_GR1_TLB_INT1_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1932#define UV1H_GR1_TLB_INT1_CONFIG_DM_MASK 0x0000000000000700UL
1933#define UV1H_GR1_TLB_INT1_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1934#define UV1H_GR1_TLB_INT1_CONFIG_STATUS_MASK 0x0000000000001000UL
1935#define UV1H_GR1_TLB_INT1_CONFIG_P_MASK 0x0000000000002000UL
1936#define UV1H_GR1_TLB_INT1_CONFIG_T_MASK 0x0000000000008000UL
1937#define UV1H_GR1_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL
1938#define UV1H_GR1_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1939
1940#define UVXH_GR1_TLB_INT1_CONFIG_VECTOR_SHFT 0
1941#define UVXH_GR1_TLB_INT1_CONFIG_DM_SHFT 8
1942#define UVXH_GR1_TLB_INT1_CONFIG_DESTMODE_SHFT 11
1943#define UVXH_GR1_TLB_INT1_CONFIG_STATUS_SHFT 12
1944#define UVXH_GR1_TLB_INT1_CONFIG_P_SHFT 13
1945#define UVXH_GR1_TLB_INT1_CONFIG_T_SHFT 15
1946#define UVXH_GR1_TLB_INT1_CONFIG_M_SHFT 16
1947#define UVXH_GR1_TLB_INT1_CONFIG_APIC_ID_SHFT 32
1948#define UVXH_GR1_TLB_INT1_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1949#define UVXH_GR1_TLB_INT1_CONFIG_DM_MASK 0x0000000000000700UL
1950#define UVXH_GR1_TLB_INT1_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1951#define UVXH_GR1_TLB_INT1_CONFIG_STATUS_MASK 0x0000000000001000UL
1952#define UVXH_GR1_TLB_INT1_CONFIG_P_MASK 0x0000000000002000UL
1953#define UVXH_GR1_TLB_INT1_CONFIG_T_MASK 0x0000000000008000UL
1954#define UVXH_GR1_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL
1955#define UVXH_GR1_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1956
1957#define UV2H_GR1_TLB_INT1_CONFIG_VECTOR_SHFT 0
1958#define UV2H_GR1_TLB_INT1_CONFIG_DM_SHFT 8
1959#define UV2H_GR1_TLB_INT1_CONFIG_DESTMODE_SHFT 11
1960#define UV2H_GR1_TLB_INT1_CONFIG_STATUS_SHFT 12
1961#define UV2H_GR1_TLB_INT1_CONFIG_P_SHFT 13
1962#define UV2H_GR1_TLB_INT1_CONFIG_T_SHFT 15
1963#define UV2H_GR1_TLB_INT1_CONFIG_M_SHFT 16
1964#define UV2H_GR1_TLB_INT1_CONFIG_APIC_ID_SHFT 32
1965#define UV2H_GR1_TLB_INT1_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1966#define UV2H_GR1_TLB_INT1_CONFIG_DM_MASK 0x0000000000000700UL
1967#define UV2H_GR1_TLB_INT1_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1968#define UV2H_GR1_TLB_INT1_CONFIG_STATUS_MASK 0x0000000000001000UL
1969#define UV2H_GR1_TLB_INT1_CONFIG_P_MASK 0x0000000000002000UL
1970#define UV2H_GR1_TLB_INT1_CONFIG_T_MASK 0x0000000000008000UL
1971#define UV2H_GR1_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL
1972#define UV2H_GR1_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1973
1974#define UV3H_GR1_TLB_INT1_CONFIG_VECTOR_SHFT 0
1975#define UV3H_GR1_TLB_INT1_CONFIG_DM_SHFT 8
1976#define UV3H_GR1_TLB_INT1_CONFIG_DESTMODE_SHFT 11
1977#define UV3H_GR1_TLB_INT1_CONFIG_STATUS_SHFT 12
1978#define UV3H_GR1_TLB_INT1_CONFIG_P_SHFT 13
1979#define UV3H_GR1_TLB_INT1_CONFIG_T_SHFT 15
1980#define UV3H_GR1_TLB_INT1_CONFIG_M_SHFT 16
1981#define UV3H_GR1_TLB_INT1_CONFIG_APIC_ID_SHFT 32
1982#define UV3H_GR1_TLB_INT1_CONFIG_VECTOR_MASK 0x00000000000000ffUL
1983#define UV3H_GR1_TLB_INT1_CONFIG_DM_MASK 0x0000000000000700UL
1984#define UV3H_GR1_TLB_INT1_CONFIG_DESTMODE_MASK 0x0000000000000800UL
1985#define UV3H_GR1_TLB_INT1_CONFIG_STATUS_MASK 0x0000000000001000UL
1986#define UV3H_GR1_TLB_INT1_CONFIG_P_MASK 0x0000000000002000UL
1987#define UV3H_GR1_TLB_INT1_CONFIG_T_MASK 0x0000000000008000UL
1988#define UV3H_GR1_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL
1989#define UV3H_GR1_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1990
802union uvh_gr1_tlb_int1_config_u { 1991union uvh_gr1_tlb_int1_config_u {
803 unsigned long v; 1992 unsigned long v;
804 struct uvh_gr1_tlb_int1_config_s { 1993 struct uvh_gr1_tlb_int1_config_s {
@@ -813,6 +2002,54 @@ union uvh_gr1_tlb_int1_config_u {
813 unsigned long rsvd_17_31:15; 2002 unsigned long rsvd_17_31:15;
814 unsigned long apic_id:32; /* RW */ 2003 unsigned long apic_id:32; /* RW */
815 } s; 2004 } s;
2005 struct uv1h_gr1_tlb_int1_config_s {
2006 unsigned long vector_:8; /* RW */
2007 unsigned long dm:3; /* RW */
2008 unsigned long destmode:1; /* RW */
2009 unsigned long status:1; /* RO */
2010 unsigned long p:1; /* RO */
2011 unsigned long rsvd_14:1;
2012 unsigned long t:1; /* RO */
2013 unsigned long m:1; /* RW */
2014 unsigned long rsvd_17_31:15;
2015 unsigned long apic_id:32; /* RW */
2016 } s1;
2017 struct uvxh_gr1_tlb_int1_config_s {
2018 unsigned long vector_:8; /* RW */
2019 unsigned long dm:3; /* RW */
2020 unsigned long destmode:1; /* RW */
2021 unsigned long status:1; /* RO */
2022 unsigned long p:1; /* RO */
2023 unsigned long rsvd_14:1;
2024 unsigned long t:1; /* RO */
2025 unsigned long m:1; /* RW */
2026 unsigned long rsvd_17_31:15;
2027 unsigned long apic_id:32; /* RW */
2028 } sx;
2029 struct uv2h_gr1_tlb_int1_config_s {
2030 unsigned long vector_:8; /* RW */
2031 unsigned long dm:3; /* RW */
2032 unsigned long destmode:1; /* RW */
2033 unsigned long status:1; /* RO */
2034 unsigned long p:1; /* RO */
2035 unsigned long rsvd_14:1;
2036 unsigned long t:1; /* RO */
2037 unsigned long m:1; /* RW */
2038 unsigned long rsvd_17_31:15;
2039 unsigned long apic_id:32; /* RW */
2040 } s2;
2041 struct uv3h_gr1_tlb_int1_config_s {
2042 unsigned long vector_:8; /* RW */
2043 unsigned long dm:3; /* RW */
2044 unsigned long destmode:1; /* RW */
2045 unsigned long status:1; /* RO */
2046 unsigned long p:1; /* RO */
2047 unsigned long rsvd_14:1;
2048 unsigned long t:1; /* RO */
2049 unsigned long m:1; /* RW */
2050 unsigned long rsvd_17_31:15;
2051 unsigned long apic_id:32; /* RW */
2052 } s3;
816}; 2053};
817 2054
818/* ========================================================================= */ 2055/* ========================================================================= */
@@ -820,9 +2057,11 @@ union uvh_gr1_tlb_int1_config_u {
820/* ========================================================================= */ 2057/* ========================================================================= */
821#define UV1H_GR1_TLB_MMR_CONTROL 0x801080UL 2058#define UV1H_GR1_TLB_MMR_CONTROL 0x801080UL
822#define UV2H_GR1_TLB_MMR_CONTROL 0x1001080UL 2059#define UV2H_GR1_TLB_MMR_CONTROL 0x1001080UL
823#define UVH_GR1_TLB_MMR_CONTROL (is_uv1_hub() ? \ 2060#define UV3H_GR1_TLB_MMR_CONTROL 0x1001080UL
824 UV1H_GR1_TLB_MMR_CONTROL : \ 2061#define UVH_GR1_TLB_MMR_CONTROL \
825 UV2H_GR1_TLB_MMR_CONTROL) 2062 (is_uv1_hub() ? UV1H_GR1_TLB_MMR_CONTROL : \
2063 (is_uv2_hub() ? UV2H_GR1_TLB_MMR_CONTROL : \
2064 UV3H_GR1_TLB_MMR_CONTROL))
826 2065
827#define UVH_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0 2066#define UVH_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0
828#define UVH_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 2067#define UVH_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 12
@@ -860,6 +2099,21 @@ union uvh_gr1_tlb_int1_config_u {
860#define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBRREG_MASK 0x0100000000000000UL 2099#define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBRREG_MASK 0x0100000000000000UL
861#define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_MASK 0x1000000000000000UL 2100#define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_MASK 0x1000000000000000UL
862 2101
2102#define UVXH_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0
2103#define UVXH_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 12
2104#define UVXH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16
2105#define UVXH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
2106#define UVXH_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30
2107#define UVXH_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT 31
2108#define UVXH_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT 32
2109#define UVXH_GR1_TLB_MMR_CONTROL_INDEX_MASK 0x0000000000000fffUL
2110#define UVXH_GR1_TLB_MMR_CONTROL_MEM_SEL_MASK 0x0000000000003000UL
2111#define UVXH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL
2112#define UVXH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
2113#define UVXH_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL
2114#define UVXH_GR1_TLB_MMR_CONTROL_MMR_READ_MASK 0x0000000080000000UL
2115#define UVXH_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_MASK 0x0000000100000000UL
2116
863#define UV2H_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0 2117#define UV2H_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0
864#define UV2H_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 2118#define UV2H_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 12
865#define UV2H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16 2119#define UV2H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16
@@ -879,6 +2133,23 @@ union uvh_gr1_tlb_int1_config_u {
879#define UV2H_GR1_TLB_MMR_CONTROL_MMR_INJ_CON_MASK 0x0001000000000000UL 2133#define UV2H_GR1_TLB_MMR_CONTROL_MMR_INJ_CON_MASK 0x0001000000000000UL
880#define UV2H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_MASK 0x0010000000000000UL 2134#define UV2H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_MASK 0x0010000000000000UL
881 2135
2136#define UV3H_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0
2137#define UV3H_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 12
2138#define UV3H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16
2139#define UV3H_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
2140#define UV3H_GR1_TLB_MMR_CONTROL_ECC_SEL_SHFT 21
2141#define UV3H_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30
2142#define UV3H_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT 31
2143#define UV3H_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT 32
2144#define UV3H_GR1_TLB_MMR_CONTROL_INDEX_MASK 0x0000000000000fffUL
2145#define UV3H_GR1_TLB_MMR_CONTROL_MEM_SEL_MASK 0x0000000000003000UL
2146#define UV3H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL
2147#define UV3H_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
2148#define UV3H_GR1_TLB_MMR_CONTROL_ECC_SEL_MASK 0x0000000000200000UL
2149#define UV3H_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL
2150#define UV3H_GR1_TLB_MMR_CONTROL_MMR_READ_MASK 0x0000000080000000UL
2151#define UV3H_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_MASK 0x0000000100000000UL
2152
882union uvh_gr1_tlb_mmr_control_u { 2153union uvh_gr1_tlb_mmr_control_u {
883 unsigned long v; 2154 unsigned long v;
884 struct uvh_gr1_tlb_mmr_control_s { 2155 struct uvh_gr1_tlb_mmr_control_s {
@@ -891,7 +2162,9 @@ union uvh_gr1_tlb_mmr_control_u {
891 unsigned long rsvd_21_29:9; 2162 unsigned long rsvd_21_29:9;
892 unsigned long mmr_write:1; /* WP */ 2163 unsigned long mmr_write:1; /* WP */
893 unsigned long mmr_read:1; /* WP */ 2164 unsigned long mmr_read:1; /* WP */
894 unsigned long rsvd_32_63:32; 2165 unsigned long rsvd_32_48:17;
2166 unsigned long rsvd_49_51:3;
2167 unsigned long rsvd_52_63:12;
895 } s; 2168 } s;
896 struct uv1h_gr1_tlb_mmr_control_s { 2169 struct uv1h_gr1_tlb_mmr_control_s {
897 unsigned long index:12; /* RW */ 2170 unsigned long index:12; /* RW */
@@ -915,6 +2188,23 @@ union uvh_gr1_tlb_mmr_control_u {
915 unsigned long mmr_inj_tlblruv:1; /* RW */ 2188 unsigned long mmr_inj_tlblruv:1; /* RW */
916 unsigned long rsvd_61_63:3; 2189 unsigned long rsvd_61_63:3;
917 } s1; 2190 } s1;
2191 struct uvxh_gr1_tlb_mmr_control_s {
2192 unsigned long index:12; /* RW */
2193 unsigned long mem_sel:2; /* RW */
2194 unsigned long rsvd_14_15:2;
2195 unsigned long auto_valid_en:1; /* RW */
2196 unsigned long rsvd_17_19:3;
2197 unsigned long mmr_hash_index_en:1; /* RW */
2198 unsigned long rsvd_21_29:9;
2199 unsigned long mmr_write:1; /* WP */
2200 unsigned long mmr_read:1; /* WP */
2201 unsigned long mmr_op_done:1; /* RW */
2202 unsigned long rsvd_33_47:15;
2203 unsigned long rsvd_48:1;
2204 unsigned long rsvd_49_51:3;
2205 unsigned long rsvd_52:1;
2206 unsigned long rsvd_53_63:11;
2207 } sx;
918 struct uv2h_gr1_tlb_mmr_control_s { 2208 struct uv2h_gr1_tlb_mmr_control_s {
919 unsigned long index:12; /* RW */ 2209 unsigned long index:12; /* RW */
920 unsigned long mem_sel:2; /* RW */ 2210 unsigned long mem_sel:2; /* RW */
@@ -932,6 +2222,24 @@ union uvh_gr1_tlb_mmr_control_u {
932 unsigned long mmr_inj_tlbram:1; /* RW */ 2222 unsigned long mmr_inj_tlbram:1; /* RW */
933 unsigned long rsvd_53_63:11; 2223 unsigned long rsvd_53_63:11;
934 } s2; 2224 } s2;
2225 struct uv3h_gr1_tlb_mmr_control_s {
2226 unsigned long index:12; /* RW */
2227 unsigned long mem_sel:2; /* RW */
2228 unsigned long rsvd_14_15:2;
2229 unsigned long auto_valid_en:1; /* RW */
2230 unsigned long rsvd_17_19:3;
2231 unsigned long mmr_hash_index_en:1; /* RW */
2232 unsigned long ecc_sel:1; /* RW */
2233 unsigned long rsvd_22_29:8;
2234 unsigned long mmr_write:1; /* WP */
2235 unsigned long mmr_read:1; /* WP */
2236 unsigned long mmr_op_done:1; /* RW */
2237 unsigned long rsvd_33_47:15;
2238 unsigned long undef_48:1; /* Undefined */
2239 unsigned long rsvd_49_51:3;
2240 unsigned long undef_52:1; /* Undefined */
2241 unsigned long rsvd_53_63:11;
2242 } s3;
935}; 2243};
936 2244
937/* ========================================================================= */ 2245/* ========================================================================= */
@@ -939,9 +2247,11 @@ union uvh_gr1_tlb_mmr_control_u {
939/* ========================================================================= */ 2247/* ========================================================================= */
940#define UV1H_GR1_TLB_MMR_READ_DATA_HI 0x8010a0UL 2248#define UV1H_GR1_TLB_MMR_READ_DATA_HI 0x8010a0UL
941#define UV2H_GR1_TLB_MMR_READ_DATA_HI 0x10010a0UL 2249#define UV2H_GR1_TLB_MMR_READ_DATA_HI 0x10010a0UL
942#define UVH_GR1_TLB_MMR_READ_DATA_HI (is_uv1_hub() ? \ 2250#define UV3H_GR1_TLB_MMR_READ_DATA_HI 0x10010a0UL
943 UV1H_GR1_TLB_MMR_READ_DATA_HI : \ 2251#define UVH_GR1_TLB_MMR_READ_DATA_HI \
944 UV2H_GR1_TLB_MMR_READ_DATA_HI) 2252 (is_uv1_hub() ? UV1H_GR1_TLB_MMR_READ_DATA_HI : \
2253 (is_uv2_hub() ? UV2H_GR1_TLB_MMR_READ_DATA_HI : \
2254 UV3H_GR1_TLB_MMR_READ_DATA_HI))
945 2255
946#define UVH_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 2256#define UVH_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
947#define UVH_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 2257#define UVH_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
@@ -952,6 +2262,46 @@ union uvh_gr1_tlb_mmr_control_u {
952#define UVH_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL 2262#define UVH_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL
953#define UVH_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL 2263#define UVH_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
954 2264
2265#define UV1H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
2266#define UV1H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
2267#define UV1H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43
2268#define UV1H_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44
2269#define UV1H_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL
2270#define UV1H_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL
2271#define UV1H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL
2272#define UV1H_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
2273
2274#define UVXH_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
2275#define UVXH_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
2276#define UVXH_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43
2277#define UVXH_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44
2278#define UVXH_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL
2279#define UVXH_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL
2280#define UVXH_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL
2281#define UVXH_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
2282
2283#define UV2H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
2284#define UV2H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
2285#define UV2H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43
2286#define UV2H_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44
2287#define UV2H_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL
2288#define UV2H_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL
2289#define UV2H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL
2290#define UV2H_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
2291
2292#define UV3H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
2293#define UV3H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
2294#define UV3H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43
2295#define UV3H_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44
2296#define UV3H_GR1_TLB_MMR_READ_DATA_HI_AA_EXT_SHFT 45
2297#define UV3H_GR1_TLB_MMR_READ_DATA_HI_WAY_ECC_SHFT 55
2298#define UV3H_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL
2299#define UV3H_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL
2300#define UV3H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL
2301#define UV3H_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
2302#define UV3H_GR1_TLB_MMR_READ_DATA_HI_AA_EXT_MASK 0x0000200000000000UL
2303#define UV3H_GR1_TLB_MMR_READ_DATA_HI_WAY_ECC_MASK 0xff80000000000000UL
2304
955union uvh_gr1_tlb_mmr_read_data_hi_u { 2305union uvh_gr1_tlb_mmr_read_data_hi_u {
956 unsigned long v; 2306 unsigned long v;
957 struct uvh_gr1_tlb_mmr_read_data_hi_s { 2307 struct uvh_gr1_tlb_mmr_read_data_hi_s {
@@ -961,6 +2311,36 @@ union uvh_gr1_tlb_mmr_read_data_hi_u {
961 unsigned long larger:1; /* RO */ 2311 unsigned long larger:1; /* RO */
962 unsigned long rsvd_45_63:19; 2312 unsigned long rsvd_45_63:19;
963 } s; 2313 } s;
2314 struct uv1h_gr1_tlb_mmr_read_data_hi_s {
2315 unsigned long pfn:41; /* RO */
2316 unsigned long gaa:2; /* RO */
2317 unsigned long dirty:1; /* RO */
2318 unsigned long larger:1; /* RO */
2319 unsigned long rsvd_45_63:19;
2320 } s1;
2321 struct uvxh_gr1_tlb_mmr_read_data_hi_s {
2322 unsigned long pfn:41; /* RO */
2323 unsigned long gaa:2; /* RO */
2324 unsigned long dirty:1; /* RO */
2325 unsigned long larger:1; /* RO */
2326 unsigned long rsvd_45_63:19;
2327 } sx;
2328 struct uv2h_gr1_tlb_mmr_read_data_hi_s {
2329 unsigned long pfn:41; /* RO */
2330 unsigned long gaa:2; /* RO */
2331 unsigned long dirty:1; /* RO */
2332 unsigned long larger:1; /* RO */
2333 unsigned long rsvd_45_63:19;
2334 } s2;
2335 struct uv3h_gr1_tlb_mmr_read_data_hi_s {
2336 unsigned long pfn:41; /* RO */
2337 unsigned long gaa:2; /* RO */
2338 unsigned long dirty:1; /* RO */
2339 unsigned long larger:1; /* RO */
2340 unsigned long aa_ext:1; /* RO */
2341 unsigned long undef_46_54:9; /* Undefined */
2342 unsigned long way_ecc:9; /* RO */
2343 } s3;
964}; 2344};
965 2345
966/* ========================================================================= */ 2346/* ========================================================================= */
@@ -968,9 +2348,11 @@ union uvh_gr1_tlb_mmr_read_data_hi_u {
968/* ========================================================================= */ 2348/* ========================================================================= */
969#define UV1H_GR1_TLB_MMR_READ_DATA_LO 0x8010a8UL 2349#define UV1H_GR1_TLB_MMR_READ_DATA_LO 0x8010a8UL
970#define UV2H_GR1_TLB_MMR_READ_DATA_LO 0x10010a8UL 2350#define UV2H_GR1_TLB_MMR_READ_DATA_LO 0x10010a8UL
971#define UVH_GR1_TLB_MMR_READ_DATA_LO (is_uv1_hub() ? \ 2351#define UV3H_GR1_TLB_MMR_READ_DATA_LO 0x10010a8UL
972 UV1H_GR1_TLB_MMR_READ_DATA_LO : \ 2352#define UVH_GR1_TLB_MMR_READ_DATA_LO \
973 UV2H_GR1_TLB_MMR_READ_DATA_LO) 2353 (is_uv1_hub() ? UV1H_GR1_TLB_MMR_READ_DATA_LO : \
2354 (is_uv2_hub() ? UV2H_GR1_TLB_MMR_READ_DATA_LO : \
2355 UV3H_GR1_TLB_MMR_READ_DATA_LO))
974 2356
975#define UVH_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 2357#define UVH_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0
976#define UVH_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 2358#define UVH_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39
@@ -979,6 +2361,34 @@ union uvh_gr1_tlb_mmr_read_data_hi_u {
979#define UVH_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL 2361#define UVH_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL
980#define UVH_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL 2362#define UVH_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL
981 2363
2364#define UV1H_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0
2365#define UV1H_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39
2366#define UV1H_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT 63
2367#define UV1H_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL
2368#define UV1H_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL
2369#define UV1H_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL
2370
2371#define UVXH_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0
2372#define UVXH_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39
2373#define UVXH_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT 63
2374#define UVXH_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL
2375#define UVXH_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL
2376#define UVXH_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL
2377
2378#define UV2H_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0
2379#define UV2H_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39
2380#define UV2H_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT 63
2381#define UV2H_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL
2382#define UV2H_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL
2383#define UV2H_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL
2384
2385#define UV3H_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0
2386#define UV3H_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39
2387#define UV3H_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT 63
2388#define UV3H_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL
2389#define UV3H_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL
2390#define UV3H_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL
2391
982union uvh_gr1_tlb_mmr_read_data_lo_u { 2392union uvh_gr1_tlb_mmr_read_data_lo_u {
983 unsigned long v; 2393 unsigned long v;
984 struct uvh_gr1_tlb_mmr_read_data_lo_s { 2394 struct uvh_gr1_tlb_mmr_read_data_lo_s {
@@ -986,31 +2396,94 @@ union uvh_gr1_tlb_mmr_read_data_lo_u {
986 unsigned long asid:24; /* RO */ 2396 unsigned long asid:24; /* RO */
987 unsigned long valid:1; /* RO */ 2397 unsigned long valid:1; /* RO */
988 } s; 2398 } s;
2399 struct uv1h_gr1_tlb_mmr_read_data_lo_s {
2400 unsigned long vpn:39; /* RO */
2401 unsigned long asid:24; /* RO */
2402 unsigned long valid:1; /* RO */
2403 } s1;
2404 struct uvxh_gr1_tlb_mmr_read_data_lo_s {
2405 unsigned long vpn:39; /* RO */
2406 unsigned long asid:24; /* RO */
2407 unsigned long valid:1; /* RO */
2408 } sx;
2409 struct uv2h_gr1_tlb_mmr_read_data_lo_s {
2410 unsigned long vpn:39; /* RO */
2411 unsigned long asid:24; /* RO */
2412 unsigned long valid:1; /* RO */
2413 } s2;
2414 struct uv3h_gr1_tlb_mmr_read_data_lo_s {
2415 unsigned long vpn:39; /* RO */
2416 unsigned long asid:24; /* RO */
2417 unsigned long valid:1; /* RO */
2418 } s3;
989}; 2419};
990 2420
991/* ========================================================================= */ 2421/* ========================================================================= */
992/* UVH_INT_CMPB */ 2422/* UVH_INT_CMPB */
993/* ========================================================================= */ 2423/* ========================================================================= */
994#define UVH_INT_CMPB 0x22080UL 2424#define UVH_INT_CMPB 0x22080UL
2425#define UV1H_INT_CMPB 0x22080UL
2426#define UV2H_INT_CMPB 0x22080UL
2427#define UV3H_INT_CMPB 0x22080UL
995 2428
996#define UVH_INT_CMPB_REAL_TIME_CMPB_SHFT 0 2429#define UVH_INT_CMPB_REAL_TIME_CMPB_SHFT 0
997#define UVH_INT_CMPB_REAL_TIME_CMPB_MASK 0x00ffffffffffffffUL 2430#define UVH_INT_CMPB_REAL_TIME_CMPB_MASK 0x00ffffffffffffffUL
998 2431
2432#define UV1H_INT_CMPB_REAL_TIME_CMPB_SHFT 0
2433#define UV1H_INT_CMPB_REAL_TIME_CMPB_MASK 0x00ffffffffffffffUL
2434
2435#define UVXH_INT_CMPB_REAL_TIME_CMPB_SHFT 0
2436#define UVXH_INT_CMPB_REAL_TIME_CMPB_MASK 0x00ffffffffffffffUL
2437
2438#define UV2H_INT_CMPB_REAL_TIME_CMPB_SHFT 0
2439#define UV2H_INT_CMPB_REAL_TIME_CMPB_MASK 0x00ffffffffffffffUL
2440
2441#define UV3H_INT_CMPB_REAL_TIME_CMPB_SHFT 0
2442#define UV3H_INT_CMPB_REAL_TIME_CMPB_MASK 0x00ffffffffffffffUL
2443
999union uvh_int_cmpb_u { 2444union uvh_int_cmpb_u {
1000 unsigned long v; 2445 unsigned long v;
1001 struct uvh_int_cmpb_s { 2446 struct uvh_int_cmpb_s {
1002 unsigned long real_time_cmpb:56; /* RW */ 2447 unsigned long real_time_cmpb:56; /* RW */
1003 unsigned long rsvd_56_63:8; 2448 unsigned long rsvd_56_63:8;
1004 } s; 2449 } s;
2450 struct uv1h_int_cmpb_s {
2451 unsigned long real_time_cmpb:56; /* RW */
2452 unsigned long rsvd_56_63:8;
2453 } s1;
2454 struct uvxh_int_cmpb_s {
2455 unsigned long real_time_cmpb:56; /* RW */
2456 unsigned long rsvd_56_63:8;
2457 } sx;
2458 struct uv2h_int_cmpb_s {
2459 unsigned long real_time_cmpb:56; /* RW */
2460 unsigned long rsvd_56_63:8;
2461 } s2;
2462 struct uv3h_int_cmpb_s {
2463 unsigned long real_time_cmpb:56; /* RW */
2464 unsigned long rsvd_56_63:8;
2465 } s3;
1005}; 2466};
1006 2467
1007/* ========================================================================= */ 2468/* ========================================================================= */
1008/* UVH_INT_CMPC */ 2469/* UVH_INT_CMPC */
1009/* ========================================================================= */ 2470/* ========================================================================= */
1010#define UVH_INT_CMPC 0x22100UL 2471#define UVH_INT_CMPC 0x22100UL
2472#define UV1H_INT_CMPC 0x22100UL
2473#define UV2H_INT_CMPC 0x22100UL
2474#define UV3H_INT_CMPC 0x22100UL
1011 2475
1012#define UVH_INT_CMPC_REAL_TIME_CMPC_SHFT 0 2476#define UV1H_INT_CMPC_REAL_TIME_CMPC_SHFT 0
1013#define UVH_INT_CMPC_REAL_TIME_CMPC_MASK 0xffffffffffffffUL 2477#define UV1H_INT_CMPC_REAL_TIME_CMPC_MASK 0x00ffffffffffffffUL
2478
2479#define UVXH_INT_CMPC_REAL_TIME_CMP_2_SHFT 0
2480#define UVXH_INT_CMPC_REAL_TIME_CMP_2_MASK 0x00ffffffffffffffUL
2481
2482#define UV2H_INT_CMPC_REAL_TIME_CMP_2_SHFT 0
2483#define UV2H_INT_CMPC_REAL_TIME_CMP_2_MASK 0x00ffffffffffffffUL
2484
2485#define UV3H_INT_CMPC_REAL_TIME_CMP_2_SHFT 0
2486#define UV3H_INT_CMPC_REAL_TIME_CMP_2_MASK 0x00ffffffffffffffUL
1014 2487
1015union uvh_int_cmpc_u { 2488union uvh_int_cmpc_u {
1016 unsigned long v; 2489 unsigned long v;
@@ -1018,15 +2491,43 @@ union uvh_int_cmpc_u {
1018 unsigned long real_time_cmpc:56; /* RW */ 2491 unsigned long real_time_cmpc:56; /* RW */
1019 unsigned long rsvd_56_63:8; 2492 unsigned long rsvd_56_63:8;
1020 } s; 2493 } s;
2494 struct uv1h_int_cmpc_s {
2495 unsigned long real_time_cmpc:56; /* RW */
2496 unsigned long rsvd_56_63:8;
2497 } s1;
2498 struct uvxh_int_cmpc_s {
2499 unsigned long real_time_cmpc:56; /* RW */
2500 unsigned long rsvd_56_63:8;
2501 } sx;
2502 struct uv2h_int_cmpc_s {
2503 unsigned long real_time_cmpc:56; /* RW */
2504 unsigned long rsvd_56_63:8;
2505 } s2;
2506 struct uv3h_int_cmpc_s {
2507 unsigned long real_time_cmpc:56; /* RW */
2508 unsigned long rsvd_56_63:8;
2509 } s3;
1021}; 2510};
1022 2511
1023/* ========================================================================= */ 2512/* ========================================================================= */
1024/* UVH_INT_CMPD */ 2513/* UVH_INT_CMPD */
1025/* ========================================================================= */ 2514/* ========================================================================= */
1026#define UVH_INT_CMPD 0x22180UL 2515#define UVH_INT_CMPD 0x22180UL
2516#define UV1H_INT_CMPD 0x22180UL
2517#define UV2H_INT_CMPD 0x22180UL
2518#define UV3H_INT_CMPD 0x22180UL
1027 2519
1028#define UVH_INT_CMPD_REAL_TIME_CMPD_SHFT 0 2520#define UV1H_INT_CMPD_REAL_TIME_CMPD_SHFT 0
1029#define UVH_INT_CMPD_REAL_TIME_CMPD_MASK 0xffffffffffffffUL 2521#define UV1H_INT_CMPD_REAL_TIME_CMPD_MASK 0x00ffffffffffffffUL
2522
2523#define UVXH_INT_CMPD_REAL_TIME_CMP_3_SHFT 0
2524#define UVXH_INT_CMPD_REAL_TIME_CMP_3_MASK 0x00ffffffffffffffUL
2525
2526#define UV2H_INT_CMPD_REAL_TIME_CMP_3_SHFT 0
2527#define UV2H_INT_CMPD_REAL_TIME_CMP_3_MASK 0x00ffffffffffffffUL
2528
2529#define UV3H_INT_CMPD_REAL_TIME_CMP_3_SHFT 0
2530#define UV3H_INT_CMPD_REAL_TIME_CMP_3_MASK 0x00ffffffffffffffUL
1030 2531
1031union uvh_int_cmpd_u { 2532union uvh_int_cmpd_u {
1032 unsigned long v; 2533 unsigned long v;
@@ -1034,13 +2535,35 @@ union uvh_int_cmpd_u {
1034 unsigned long real_time_cmpd:56; /* RW */ 2535 unsigned long real_time_cmpd:56; /* RW */
1035 unsigned long rsvd_56_63:8; 2536 unsigned long rsvd_56_63:8;
1036 } s; 2537 } s;
2538 struct uv1h_int_cmpd_s {
2539 unsigned long real_time_cmpd:56; /* RW */
2540 unsigned long rsvd_56_63:8;
2541 } s1;
2542 struct uvxh_int_cmpd_s {
2543 unsigned long real_time_cmpd:56; /* RW */
2544 unsigned long rsvd_56_63:8;
2545 } sx;
2546 struct uv2h_int_cmpd_s {
2547 unsigned long real_time_cmpd:56; /* RW */
2548 unsigned long rsvd_56_63:8;
2549 } s2;
2550 struct uv3h_int_cmpd_s {
2551 unsigned long real_time_cmpd:56; /* RW */
2552 unsigned long rsvd_56_63:8;
2553 } s3;
1037}; 2554};
1038 2555
1039/* ========================================================================= */ 2556/* ========================================================================= */
1040/* UVH_IPI_INT */ 2557/* UVH_IPI_INT */
1041/* ========================================================================= */ 2558/* ========================================================================= */
1042#define UVH_IPI_INT 0x60500UL 2559#define UVH_IPI_INT 0x60500UL
1043#define UVH_IPI_INT_32 0x348 2560#define UV1H_IPI_INT 0x60500UL
2561#define UV2H_IPI_INT 0x60500UL
2562#define UV3H_IPI_INT 0x60500UL
2563#define UVH_IPI_INT_32 0x348
2564#define UV1H_IPI_INT_32 0x60500UL
2565#define UV2H_IPI_INT_32 0x60500UL
2566#define UV3H_IPI_INT_32 0x60500UL
1044 2567
1045#define UVH_IPI_INT_VECTOR_SHFT 0 2568#define UVH_IPI_INT_VECTOR_SHFT 0
1046#define UVH_IPI_INT_DELIVERY_MODE_SHFT 8 2569#define UVH_IPI_INT_DELIVERY_MODE_SHFT 8
@@ -1053,6 +2576,50 @@ union uvh_int_cmpd_u {
1053#define UVH_IPI_INT_APIC_ID_MASK 0x0000ffffffff0000UL 2576#define UVH_IPI_INT_APIC_ID_MASK 0x0000ffffffff0000UL
1054#define UVH_IPI_INT_SEND_MASK 0x8000000000000000UL 2577#define UVH_IPI_INT_SEND_MASK 0x8000000000000000UL
1055 2578
2579#define UV1H_IPI_INT_VECTOR_SHFT 0
2580#define UV1H_IPI_INT_DELIVERY_MODE_SHFT 8
2581#define UV1H_IPI_INT_DESTMODE_SHFT 11
2582#define UV1H_IPI_INT_APIC_ID_SHFT 16
2583#define UV1H_IPI_INT_SEND_SHFT 63
2584#define UV1H_IPI_INT_VECTOR_MASK 0x00000000000000ffUL
2585#define UV1H_IPI_INT_DELIVERY_MODE_MASK 0x0000000000000700UL
2586#define UV1H_IPI_INT_DESTMODE_MASK 0x0000000000000800UL
2587#define UV1H_IPI_INT_APIC_ID_MASK 0x0000ffffffff0000UL
2588#define UV1H_IPI_INT_SEND_MASK 0x8000000000000000UL
2589
2590#define UVXH_IPI_INT_VECTOR_SHFT 0
2591#define UVXH_IPI_INT_DELIVERY_MODE_SHFT 8
2592#define UVXH_IPI_INT_DESTMODE_SHFT 11
2593#define UVXH_IPI_INT_APIC_ID_SHFT 16
2594#define UVXH_IPI_INT_SEND_SHFT 63
2595#define UVXH_IPI_INT_VECTOR_MASK 0x00000000000000ffUL
2596#define UVXH_IPI_INT_DELIVERY_MODE_MASK 0x0000000000000700UL
2597#define UVXH_IPI_INT_DESTMODE_MASK 0x0000000000000800UL
2598#define UVXH_IPI_INT_APIC_ID_MASK 0x0000ffffffff0000UL
2599#define UVXH_IPI_INT_SEND_MASK 0x8000000000000000UL
2600
2601#define UV2H_IPI_INT_VECTOR_SHFT 0
2602#define UV2H_IPI_INT_DELIVERY_MODE_SHFT 8
2603#define UV2H_IPI_INT_DESTMODE_SHFT 11
2604#define UV2H_IPI_INT_APIC_ID_SHFT 16
2605#define UV2H_IPI_INT_SEND_SHFT 63
2606#define UV2H_IPI_INT_VECTOR_MASK 0x00000000000000ffUL
2607#define UV2H_IPI_INT_DELIVERY_MODE_MASK 0x0000000000000700UL
2608#define UV2H_IPI_INT_DESTMODE_MASK 0x0000000000000800UL
2609#define UV2H_IPI_INT_APIC_ID_MASK 0x0000ffffffff0000UL
2610#define UV2H_IPI_INT_SEND_MASK 0x8000000000000000UL
2611
2612#define UV3H_IPI_INT_VECTOR_SHFT 0
2613#define UV3H_IPI_INT_DELIVERY_MODE_SHFT 8
2614#define UV3H_IPI_INT_DESTMODE_SHFT 11
2615#define UV3H_IPI_INT_APIC_ID_SHFT 16
2616#define UV3H_IPI_INT_SEND_SHFT 63
2617#define UV3H_IPI_INT_VECTOR_MASK 0x00000000000000ffUL
2618#define UV3H_IPI_INT_DELIVERY_MODE_MASK 0x0000000000000700UL
2619#define UV3H_IPI_INT_DESTMODE_MASK 0x0000000000000800UL
2620#define UV3H_IPI_INT_APIC_ID_MASK 0x0000ffffffff0000UL
2621#define UV3H_IPI_INT_SEND_MASK 0x8000000000000000UL
2622
1056union uvh_ipi_int_u { 2623union uvh_ipi_int_u {
1057 unsigned long v; 2624 unsigned long v;
1058 struct uvh_ipi_int_s { 2625 struct uvh_ipi_int_s {
@@ -1064,19 +2631,81 @@ union uvh_ipi_int_u {
1064 unsigned long rsvd_48_62:15; 2631 unsigned long rsvd_48_62:15;
1065 unsigned long send:1; /* WP */ 2632 unsigned long send:1; /* WP */
1066 } s; 2633 } s;
2634 struct uv1h_ipi_int_s {
2635 unsigned long vector_:8; /* RW */
2636 unsigned long delivery_mode:3; /* RW */
2637 unsigned long destmode:1; /* RW */
2638 unsigned long rsvd_12_15:4;
2639 unsigned long apic_id:32; /* RW */
2640 unsigned long rsvd_48_62:15;
2641 unsigned long send:1; /* WP */
2642 } s1;
2643 struct uvxh_ipi_int_s {
2644 unsigned long vector_:8; /* RW */
2645 unsigned long delivery_mode:3; /* RW */
2646 unsigned long destmode:1; /* RW */
2647 unsigned long rsvd_12_15:4;
2648 unsigned long apic_id:32; /* RW */
2649 unsigned long rsvd_48_62:15;
2650 unsigned long send:1; /* WP */
2651 } sx;
2652 struct uv2h_ipi_int_s {
2653 unsigned long vector_:8; /* RW */
2654 unsigned long delivery_mode:3; /* RW */
2655 unsigned long destmode:1; /* RW */
2656 unsigned long rsvd_12_15:4;
2657 unsigned long apic_id:32; /* RW */
2658 unsigned long rsvd_48_62:15;
2659 unsigned long send:1; /* WP */
2660 } s2;
2661 struct uv3h_ipi_int_s {
2662 unsigned long vector_:8; /* RW */
2663 unsigned long delivery_mode:3; /* RW */
2664 unsigned long destmode:1; /* RW */
2665 unsigned long rsvd_12_15:4;
2666 unsigned long apic_id:32; /* RW */
2667 unsigned long rsvd_48_62:15;
2668 unsigned long send:1; /* WP */
2669 } s3;
1067}; 2670};
1068 2671
1069/* ========================================================================= */ 2672/* ========================================================================= */
1070/* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST */ 2673/* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST */
1071/* ========================================================================= */ 2674/* ========================================================================= */
1072#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL 2675#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL
1073#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_32 0x9c0 2676#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL
2677#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL
2678#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL
2679#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_32 0x9c0
2680#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_32 0x320050UL
2681#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_32 0x320050UL
2682#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_32 0x320050UL
1074 2683
1075#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4 2684#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4
1076#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49 2685#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49
1077#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_MASK 0x000007fffffffff0UL 2686#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_MASK 0x000007fffffffff0UL
1078#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_MASK 0x7ffe000000000000UL 2687#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_MASK 0x7ffe000000000000UL
1079 2688
2689#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4
2690#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49
2691#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_MASK 0x000007fffffffff0UL
2692#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_MASK 0x7ffe000000000000UL
2693
2694#define UVXH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4
2695#define UVXH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49
2696#define UVXH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_MASK 0x000007fffffffff0UL
2697#define UVXH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_MASK 0x7ffe000000000000UL
2698
2699#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4
2700#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49
2701#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_MASK 0x000007fffffffff0UL
2702#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_MASK 0x7ffe000000000000UL
2703
2704#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4
2705#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49
2706#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_MASK 0x000007fffffffff0UL
2707#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_MASK 0x7ffe000000000000UL
2708
1080union uvh_lb_bau_intd_payload_queue_first_u { 2709union uvh_lb_bau_intd_payload_queue_first_u {
1081 unsigned long v; 2710 unsigned long v;
1082 struct uvh_lb_bau_intd_payload_queue_first_s { 2711 struct uvh_lb_bau_intd_payload_queue_first_s {
@@ -1086,17 +2715,63 @@ union uvh_lb_bau_intd_payload_queue_first_u {
1086 unsigned long node_id:14; /* RW */ 2715 unsigned long node_id:14; /* RW */
1087 unsigned long rsvd_63:1; 2716 unsigned long rsvd_63:1;
1088 } s; 2717 } s;
2718 struct uv1h_lb_bau_intd_payload_queue_first_s {
2719 unsigned long rsvd_0_3:4;
2720 unsigned long address:39; /* RW */
2721 unsigned long rsvd_43_48:6;
2722 unsigned long node_id:14; /* RW */
2723 unsigned long rsvd_63:1;
2724 } s1;
2725 struct uvxh_lb_bau_intd_payload_queue_first_s {
2726 unsigned long rsvd_0_3:4;
2727 unsigned long address:39; /* RW */
2728 unsigned long rsvd_43_48:6;
2729 unsigned long node_id:14; /* RW */
2730 unsigned long rsvd_63:1;
2731 } sx;
2732 struct uv2h_lb_bau_intd_payload_queue_first_s {
2733 unsigned long rsvd_0_3:4;
2734 unsigned long address:39; /* RW */
2735 unsigned long rsvd_43_48:6;
2736 unsigned long node_id:14; /* RW */
2737 unsigned long rsvd_63:1;
2738 } s2;
2739 struct uv3h_lb_bau_intd_payload_queue_first_s {
2740 unsigned long rsvd_0_3:4;
2741 unsigned long address:39; /* RW */
2742 unsigned long rsvd_43_48:6;
2743 unsigned long node_id:14; /* RW */
2744 unsigned long rsvd_63:1;
2745 } s3;
1089}; 2746};
1090 2747
1091/* ========================================================================= */ 2748/* ========================================================================= */
1092/* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST */ 2749/* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST */
1093/* ========================================================================= */ 2750/* ========================================================================= */
1094#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL 2751#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL
1095#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_32 0x9c8 2752#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL
2753#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL
2754#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL
2755#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_32 0x9c8
2756#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_32 0x320060UL
2757#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_32 0x320060UL
2758#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_32 0x320060UL
1096 2759
1097#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4 2760#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4
1098#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL 2761#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL
1099 2762
2763#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4
2764#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL
2765
2766#define UVXH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4
2767#define UVXH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL
2768
2769#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4
2770#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL
2771
2772#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4
2773#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL
2774
1100union uvh_lb_bau_intd_payload_queue_last_u { 2775union uvh_lb_bau_intd_payload_queue_last_u {
1101 unsigned long v; 2776 unsigned long v;
1102 struct uvh_lb_bau_intd_payload_queue_last_s { 2777 struct uvh_lb_bau_intd_payload_queue_last_s {
@@ -1104,17 +2779,55 @@ union uvh_lb_bau_intd_payload_queue_last_u {
1104 unsigned long address:39; /* RW */ 2779 unsigned long address:39; /* RW */
1105 unsigned long rsvd_43_63:21; 2780 unsigned long rsvd_43_63:21;
1106 } s; 2781 } s;
2782 struct uv1h_lb_bau_intd_payload_queue_last_s {
2783 unsigned long rsvd_0_3:4;
2784 unsigned long address:39; /* RW */
2785 unsigned long rsvd_43_63:21;
2786 } s1;
2787 struct uvxh_lb_bau_intd_payload_queue_last_s {
2788 unsigned long rsvd_0_3:4;
2789 unsigned long address:39; /* RW */
2790 unsigned long rsvd_43_63:21;
2791 } sx;
2792 struct uv2h_lb_bau_intd_payload_queue_last_s {
2793 unsigned long rsvd_0_3:4;
2794 unsigned long address:39; /* RW */
2795 unsigned long rsvd_43_63:21;
2796 } s2;
2797 struct uv3h_lb_bau_intd_payload_queue_last_s {
2798 unsigned long rsvd_0_3:4;
2799 unsigned long address:39; /* RW */
2800 unsigned long rsvd_43_63:21;
2801 } s3;
1107}; 2802};
1108 2803
1109/* ========================================================================= */ 2804/* ========================================================================= */
1110/* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL */ 2805/* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL */
1111/* ========================================================================= */ 2806/* ========================================================================= */
1112#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL 2807#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL
1113#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_32 0x9d0 2808#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL
2809#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL
2810#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL
2811#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_32 0x9d0
2812#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_32 0x320070UL
2813#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_32 0x320070UL
2814#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_32 0x320070UL
1114 2815
1115#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4 2816#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4
1116#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL 2817#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL
1117 2818
2819#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4
2820#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL
2821
2822#define UVXH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4
2823#define UVXH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL
2824
2825#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4
2826#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL
2827
2828#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4
2829#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL
2830
1118union uvh_lb_bau_intd_payload_queue_tail_u { 2831union uvh_lb_bau_intd_payload_queue_tail_u {
1119 unsigned long v; 2832 unsigned long v;
1120 struct uvh_lb_bau_intd_payload_queue_tail_s { 2833 struct uvh_lb_bau_intd_payload_queue_tail_s {
@@ -1122,13 +2835,39 @@ union uvh_lb_bau_intd_payload_queue_tail_u {
1122 unsigned long address:39; /* RW */ 2835 unsigned long address:39; /* RW */
1123 unsigned long rsvd_43_63:21; 2836 unsigned long rsvd_43_63:21;
1124 } s; 2837 } s;
2838 struct uv1h_lb_bau_intd_payload_queue_tail_s {
2839 unsigned long rsvd_0_3:4;
2840 unsigned long address:39; /* RW */
2841 unsigned long rsvd_43_63:21;
2842 } s1;
2843 struct uvxh_lb_bau_intd_payload_queue_tail_s {
2844 unsigned long rsvd_0_3:4;
2845 unsigned long address:39; /* RW */
2846 unsigned long rsvd_43_63:21;
2847 } sx;
2848 struct uv2h_lb_bau_intd_payload_queue_tail_s {
2849 unsigned long rsvd_0_3:4;
2850 unsigned long address:39; /* RW */
2851 unsigned long rsvd_43_63:21;
2852 } s2;
2853 struct uv3h_lb_bau_intd_payload_queue_tail_s {
2854 unsigned long rsvd_0_3:4;
2855 unsigned long address:39; /* RW */
2856 unsigned long rsvd_43_63:21;
2857 } s3;
1125}; 2858};
1126 2859
1127/* ========================================================================= */ 2860/* ========================================================================= */
1128/* UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE */ 2861/* UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE */
1129/* ========================================================================= */ 2862/* ========================================================================= */
1130#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL 2863#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL
1131#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_32 0xa68 2864#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL
2865#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL
2866#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL
2867#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_32 0xa68
2868#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_32 0x320080UL
2869#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_32 0x320080UL
2870#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_32 0x320080UL
1132 2871
1133#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0 2872#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0
1134#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1 2873#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1
@@ -1163,6 +2902,138 @@ union uvh_lb_bau_intd_payload_queue_tail_u {
1163#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_MASK 0x0000000000004000UL 2902#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_MASK 0x0000000000004000UL
1164#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_MASK 0x0000000000008000UL 2903#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_MASK 0x0000000000008000UL
1165 2904
2905#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0
2906#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1
2907#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_SHFT 2
2908#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_SHFT 3
2909#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_SHFT 4
2910#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_SHFT 5
2911#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_SHFT 6
2912#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_SHFT 7
2913#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_SHFT 8
2914#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_SHFT 9
2915#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_SHFT 10
2916#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_SHFT 11
2917#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_SHFT 12
2918#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_SHFT 13
2919#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_SHFT 14
2920#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_SHFT 15
2921#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_MASK 0x0000000000000001UL
2922#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_MASK 0x0000000000000002UL
2923#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_MASK 0x0000000000000004UL
2924#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_MASK 0x0000000000000008UL
2925#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_MASK 0x0000000000000010UL
2926#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_MASK 0x0000000000000020UL
2927#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_MASK 0x0000000000000040UL
2928#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_MASK 0x0000000000000080UL
2929#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_MASK 0x0000000000000100UL
2930#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_MASK 0x0000000000000200UL
2931#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_MASK 0x0000000000000400UL
2932#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_MASK 0x0000000000000800UL
2933#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_MASK 0x0000000000001000UL
2934#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_MASK 0x0000000000002000UL
2935#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_MASK 0x0000000000004000UL
2936#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_MASK 0x0000000000008000UL
2937
2938#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0
2939#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1
2940#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_SHFT 2
2941#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_SHFT 3
2942#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_SHFT 4
2943#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_SHFT 5
2944#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_SHFT 6
2945#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_SHFT 7
2946#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_SHFT 8
2947#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_SHFT 9
2948#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_SHFT 10
2949#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_SHFT 11
2950#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_SHFT 12
2951#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_SHFT 13
2952#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_SHFT 14
2953#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_SHFT 15
2954#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_MASK 0x0000000000000001UL
2955#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_MASK 0x0000000000000002UL
2956#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_MASK 0x0000000000000004UL
2957#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_MASK 0x0000000000000008UL
2958#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_MASK 0x0000000000000010UL
2959#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_MASK 0x0000000000000020UL
2960#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_MASK 0x0000000000000040UL
2961#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_MASK 0x0000000000000080UL
2962#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_MASK 0x0000000000000100UL
2963#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_MASK 0x0000000000000200UL
2964#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_MASK 0x0000000000000400UL
2965#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_MASK 0x0000000000000800UL
2966#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_MASK 0x0000000000001000UL
2967#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_MASK 0x0000000000002000UL
2968#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_MASK 0x0000000000004000UL
2969#define UVXH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_MASK 0x0000000000008000UL
2970
2971#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0
2972#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1
2973#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_SHFT 2
2974#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_SHFT 3
2975#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_SHFT 4
2976#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_SHFT 5
2977#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_SHFT 6
2978#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_SHFT 7
2979#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_SHFT 8
2980#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_SHFT 9
2981#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_SHFT 10
2982#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_SHFT 11
2983#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_SHFT 12
2984#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_SHFT 13
2985#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_SHFT 14
2986#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_SHFT 15
2987#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_MASK 0x0000000000000001UL
2988#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_MASK 0x0000000000000002UL
2989#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_MASK 0x0000000000000004UL
2990#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_MASK 0x0000000000000008UL
2991#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_MASK 0x0000000000000010UL
2992#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_MASK 0x0000000000000020UL
2993#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_MASK 0x0000000000000040UL
2994#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_MASK 0x0000000000000080UL
2995#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_MASK 0x0000000000000100UL
2996#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_MASK 0x0000000000000200UL
2997#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_MASK 0x0000000000000400UL
2998#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_MASK 0x0000000000000800UL
2999#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_MASK 0x0000000000001000UL
3000#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_MASK 0x0000000000002000UL
3001#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_MASK 0x0000000000004000UL
3002#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_MASK 0x0000000000008000UL
3003
3004#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0
3005#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1
3006#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_SHFT 2
3007#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_SHFT 3
3008#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_SHFT 4
3009#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_SHFT 5
3010#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_SHFT 6
3011#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_SHFT 7
3012#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_SHFT 8
3013#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_SHFT 9
3014#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_SHFT 10
3015#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_SHFT 11
3016#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_SHFT 12
3017#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_SHFT 13
3018#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_SHFT 14
3019#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_SHFT 15
3020#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_MASK 0x0000000000000001UL
3021#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_MASK 0x0000000000000002UL
3022#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_MASK 0x0000000000000004UL
3023#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_MASK 0x0000000000000008UL
3024#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_MASK 0x0000000000000010UL
3025#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_MASK 0x0000000000000020UL
3026#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_MASK 0x0000000000000040UL
3027#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_MASK 0x0000000000000080UL
3028#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_MASK 0x0000000000000100UL
3029#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_MASK 0x0000000000000200UL
3030#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_MASK 0x0000000000000400UL
3031#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_MASK 0x0000000000000800UL
3032#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_MASK 0x0000000000001000UL
3033#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_MASK 0x0000000000002000UL
3034#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_MASK 0x0000000000004000UL
3035#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_MASK 0x0000000000008000UL
3036
1166union uvh_lb_bau_intd_software_acknowledge_u { 3037union uvh_lb_bau_intd_software_acknowledge_u {
1167 unsigned long v; 3038 unsigned long v;
1168 struct uvh_lb_bau_intd_software_acknowledge_s { 3039 struct uvh_lb_bau_intd_software_acknowledge_s {
@@ -1184,19 +3055,108 @@ union uvh_lb_bau_intd_software_acknowledge_u {
1184 unsigned long timeout_7:1; /* RW, W1C */ 3055 unsigned long timeout_7:1; /* RW, W1C */
1185 unsigned long rsvd_16_63:48; 3056 unsigned long rsvd_16_63:48;
1186 } s; 3057 } s;
3058 struct uv1h_lb_bau_intd_software_acknowledge_s {
3059 unsigned long pending_0:1; /* RW, W1C */
3060 unsigned long pending_1:1; /* RW, W1C */
3061 unsigned long pending_2:1; /* RW, W1C */
3062 unsigned long pending_3:1; /* RW, W1C */
3063 unsigned long pending_4:1; /* RW, W1C */
3064 unsigned long pending_5:1; /* RW, W1C */
3065 unsigned long pending_6:1; /* RW, W1C */
3066 unsigned long pending_7:1; /* RW, W1C */
3067 unsigned long timeout_0:1; /* RW, W1C */
3068 unsigned long timeout_1:1; /* RW, W1C */
3069 unsigned long timeout_2:1; /* RW, W1C */
3070 unsigned long timeout_3:1; /* RW, W1C */
3071 unsigned long timeout_4:1; /* RW, W1C */
3072 unsigned long timeout_5:1; /* RW, W1C */
3073 unsigned long timeout_6:1; /* RW, W1C */
3074 unsigned long timeout_7:1; /* RW, W1C */
3075 unsigned long rsvd_16_63:48;
3076 } s1;
3077 struct uvxh_lb_bau_intd_software_acknowledge_s {
3078 unsigned long pending_0:1; /* RW */
3079 unsigned long pending_1:1; /* RW */
3080 unsigned long pending_2:1; /* RW */
3081 unsigned long pending_3:1; /* RW */
3082 unsigned long pending_4:1; /* RW */
3083 unsigned long pending_5:1; /* RW */
3084 unsigned long pending_6:1; /* RW */
3085 unsigned long pending_7:1; /* RW */
3086 unsigned long timeout_0:1; /* RW */
3087 unsigned long timeout_1:1; /* RW */
3088 unsigned long timeout_2:1; /* RW */
3089 unsigned long timeout_3:1; /* RW */
3090 unsigned long timeout_4:1; /* RW */
3091 unsigned long timeout_5:1; /* RW */
3092 unsigned long timeout_6:1; /* RW */
3093 unsigned long timeout_7:1; /* RW */
3094 unsigned long rsvd_16_63:48;
3095 } sx;
3096 struct uv2h_lb_bau_intd_software_acknowledge_s {
3097 unsigned long pending_0:1; /* RW */
3098 unsigned long pending_1:1; /* RW */
3099 unsigned long pending_2:1; /* RW */
3100 unsigned long pending_3:1; /* RW */
3101 unsigned long pending_4:1; /* RW */
3102 unsigned long pending_5:1; /* RW */
3103 unsigned long pending_6:1; /* RW */
3104 unsigned long pending_7:1; /* RW */
3105 unsigned long timeout_0:1; /* RW */
3106 unsigned long timeout_1:1; /* RW */
3107 unsigned long timeout_2:1; /* RW */
3108 unsigned long timeout_3:1; /* RW */
3109 unsigned long timeout_4:1; /* RW */
3110 unsigned long timeout_5:1; /* RW */
3111 unsigned long timeout_6:1; /* RW */
3112 unsigned long timeout_7:1; /* RW */
3113 unsigned long rsvd_16_63:48;
3114 } s2;
3115 struct uv3h_lb_bau_intd_software_acknowledge_s {
3116 unsigned long pending_0:1; /* RW */
3117 unsigned long pending_1:1; /* RW */
3118 unsigned long pending_2:1; /* RW */
3119 unsigned long pending_3:1; /* RW */
3120 unsigned long pending_4:1; /* RW */
3121 unsigned long pending_5:1; /* RW */
3122 unsigned long pending_6:1; /* RW */
3123 unsigned long pending_7:1; /* RW */
3124 unsigned long timeout_0:1; /* RW */
3125 unsigned long timeout_1:1; /* RW */
3126 unsigned long timeout_2:1; /* RW */
3127 unsigned long timeout_3:1; /* RW */
3128 unsigned long timeout_4:1; /* RW */
3129 unsigned long timeout_5:1; /* RW */
3130 unsigned long timeout_6:1; /* RW */
3131 unsigned long timeout_7:1; /* RW */
3132 unsigned long rsvd_16_63:48;
3133 } s3;
1187}; 3134};
1188 3135
1189/* ========================================================================= */ 3136/* ========================================================================= */
1190/* UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS */ 3137/* UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS */
1191/* ========================================================================= */ 3138/* ========================================================================= */
1192#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x0000000000320088UL 3139#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x320088UL
1193#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS_32 0xa70 3140#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x320088UL
3141#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x320088UL
3142#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x320088UL
3143#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS_32 0xa70
3144#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS_32 0x320088UL
3145#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS_32 0x320088UL
3146#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS_32 0x320088UL
3147
1194 3148
1195/* ========================================================================= */ 3149/* ========================================================================= */
1196/* UVH_LB_BAU_MISC_CONTROL */ 3150/* UVH_LB_BAU_MISC_CONTROL */
1197/* ========================================================================= */ 3151/* ========================================================================= */
1198#define UVH_LB_BAU_MISC_CONTROL 0x320170UL 3152#define UVH_LB_BAU_MISC_CONTROL 0x320170UL
1199#define UVH_LB_BAU_MISC_CONTROL_32 0xa10 3153#define UV1H_LB_BAU_MISC_CONTROL 0x320170UL
3154#define UV2H_LB_BAU_MISC_CONTROL 0x320170UL
3155#define UV3H_LB_BAU_MISC_CONTROL 0x320170UL
3156#define UVH_LB_BAU_MISC_CONTROL_32 0xa10
3157#define UV1H_LB_BAU_MISC_CONTROL_32 0x320170UL
3158#define UV2H_LB_BAU_MISC_CONTROL_32 0x320170UL
3159#define UV3H_LB_BAU_MISC_CONTROL_32 0x320170UL
1200 3160
1201#define UVH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0 3161#define UVH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0
1202#define UVH_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8 3162#define UVH_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8
@@ -1213,6 +3173,7 @@ union uvh_lb_bau_intd_software_acknowledge_u {
1213#define UVH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24 3173#define UVH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24
1214#define UVH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27 3174#define UVH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27
1215#define UVH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28 3175#define UVH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28
3176#define UVH_LB_BAU_MISC_CONTROL_FUN_SHFT 48
1216#define UVH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK 0x00000000000000ffUL 3177#define UVH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK 0x00000000000000ffUL
1217#define UVH_LB_BAU_MISC_CONTROL_APIC_MODE_MASK 0x0000000000000100UL 3178#define UVH_LB_BAU_MISC_CONTROL_APIC_MODE_MASK 0x0000000000000100UL
1218#define UVH_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK 0x0000000000000200UL 3179#define UVH_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK 0x0000000000000200UL
@@ -1228,6 +3189,7 @@ union uvh_lb_bau_intd_software_acknowledge_u {
1228#define UVH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL 3189#define UVH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL
1229#define UVH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL 3190#define UVH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL
1230#define UVH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL 3191#define UVH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL
3192#define UVH_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL
1231 3193
1232#define UV1H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0 3194#define UV1H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0
1233#define UV1H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8 3195#define UV1H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8
@@ -1262,6 +3224,53 @@ union uvh_lb_bau_intd_software_acknowledge_u {
1262#define UV1H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL 3224#define UV1H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL
1263#define UV1H_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL 3225#define UV1H_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL
1264 3226
3227#define UVXH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0
3228#define UVXH_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8
3229#define UVXH_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT 9
3230#define UVXH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT 10
3231#define UVXH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11
3232#define UVXH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14
3233#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT 15
3234#define UVXH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT 16
3235#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20
3236#define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21
3237#define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22
3238#define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_SHFT 23
3239#define UVXH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24
3240#define UVXH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27
3241#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28
3242#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_SHFT 29
3243#define UVXH_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_SHFT 30
3244#define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_SHFT 31
3245#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_SHFT 32
3246#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_SHFT 33
3247#define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_SHFT 34
3248#define UVXH_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_SHFT 35
3249#define UVXH_LB_BAU_MISC_CONTROL_FUN_SHFT 48
3250#define UVXH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK 0x00000000000000ffUL
3251#define UVXH_LB_BAU_MISC_CONTROL_APIC_MODE_MASK 0x0000000000000100UL
3252#define UVXH_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK 0x0000000000000200UL
3253#define UVXH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK 0x0000000000000400UL
3254#define UVXH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL
3255#define UVXH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL
3256#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK 0x0000000000008000UL
3257#define UVXH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK 0x00000000000f0000UL
3258#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL
3259#define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL
3260#define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL
3261#define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_MASK 0x0000000000800000UL
3262#define UVXH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL
3263#define UVXH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL
3264#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL
3265#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_MASK 0x0000000020000000UL
3266#define UVXH_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_MASK 0x0000000040000000UL
3267#define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_MASK 0x0000000080000000UL
3268#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_MASK 0x0000000100000000UL
3269#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_MASK 0x0000000200000000UL
3270#define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_MASK 0x0000000400000000UL
3271#define UVXH_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_MASK 0x0000000800000000UL
3272#define UVXH_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL
3273
1265#define UV2H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0 3274#define UV2H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0
1266#define UV2H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8 3275#define UV2H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8
1267#define UV2H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT 9 3276#define UV2H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT 9
@@ -1309,6 +3318,59 @@ union uvh_lb_bau_intd_software_acknowledge_u {
1309#define UV2H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_MASK 0x0000000800000000UL 3318#define UV2H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_MASK 0x0000000800000000UL
1310#define UV2H_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL 3319#define UV2H_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL
1311 3320
3321#define UV3H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0
3322#define UV3H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8
3323#define UV3H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT 9
3324#define UV3H_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT 10
3325#define UV3H_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11
3326#define UV3H_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14
3327#define UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT 15
3328#define UV3H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT 16
3329#define UV3H_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20
3330#define UV3H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21
3331#define UV3H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22
3332#define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_SHFT 23
3333#define UV3H_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24
3334#define UV3H_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27
3335#define UV3H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28
3336#define UV3H_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_SHFT 29
3337#define UV3H_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_SHFT 30
3338#define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_SHFT 31
3339#define UV3H_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_SHFT 32
3340#define UV3H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_SHFT 33
3341#define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_SHFT 34
3342#define UV3H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_SHFT 35
3343#define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_QUIESCE_MSGS_TO_QPI_SHFT 36
3344#define UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_PREFETCH_HINT_SHFT 37
3345#define UV3H_LB_BAU_MISC_CONTROL_THREAD_KILL_TIMEBASE_SHFT 38
3346#define UV3H_LB_BAU_MISC_CONTROL_FUN_SHFT 48
3347#define UV3H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK 0x00000000000000ffUL
3348#define UV3H_LB_BAU_MISC_CONTROL_APIC_MODE_MASK 0x0000000000000100UL
3349#define UV3H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK 0x0000000000000200UL
3350#define UV3H_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK 0x0000000000000400UL
3351#define UV3H_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL
3352#define UV3H_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL
3353#define UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK 0x0000000000008000UL
3354#define UV3H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK 0x00000000000f0000UL
3355#define UV3H_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL
3356#define UV3H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL
3357#define UV3H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL
3358#define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_MASK 0x0000000000800000UL
3359#define UV3H_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL
3360#define UV3H_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL
3361#define UV3H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL
3362#define UV3H_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_MASK 0x0000000020000000UL
3363#define UV3H_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_MASK 0x0000000040000000UL
3364#define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_MASK 0x0000000080000000UL
3365#define UV3H_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_MASK 0x0000000100000000UL
3366#define UV3H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_MASK 0x0000000200000000UL
3367#define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_MASK 0x0000000400000000UL
3368#define UV3H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_MASK 0x0000000800000000UL
3369#define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_QUIESCE_MSGS_TO_QPI_MASK 0x0000001000000000UL
3370#define UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_PREFETCH_HINT_MASK 0x0000002000000000UL
3371#define UV3H_LB_BAU_MISC_CONTROL_THREAD_KILL_TIMEBASE_MASK 0x00003fc000000000UL
3372#define UV3H_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL
3373
1312union uvh_lb_bau_misc_control_u { 3374union uvh_lb_bau_misc_control_u {
1313 unsigned long v; 3375 unsigned long v;
1314 struct uvh_lb_bau_misc_control_s { 3376 struct uvh_lb_bau_misc_control_s {
@@ -1327,7 +3389,8 @@ union uvh_lb_bau_misc_control_u {
1327 unsigned long programmed_initial_priority:3; /* RW */ 3389 unsigned long programmed_initial_priority:3; /* RW */
1328 unsigned long use_incoming_priority:1; /* RW */ 3390 unsigned long use_incoming_priority:1; /* RW */
1329 unsigned long enable_programmed_initial_priority:1;/* RW */ 3391 unsigned long enable_programmed_initial_priority:1;/* RW */
1330 unsigned long rsvd_29_63:35; 3392 unsigned long rsvd_29_47:19;
3393 unsigned long fun:16; /* RW */
1331 } s; 3394 } s;
1332 struct uv1h_lb_bau_misc_control_s { 3395 struct uv1h_lb_bau_misc_control_s {
1333 unsigned long rejection_delay:8; /* RW */ 3396 unsigned long rejection_delay:8; /* RW */
@@ -1348,6 +3411,32 @@ union uvh_lb_bau_misc_control_u {
1348 unsigned long rsvd_29_47:19; 3411 unsigned long rsvd_29_47:19;
1349 unsigned long fun:16; /* RW */ 3412 unsigned long fun:16; /* RW */
1350 } s1; 3413 } s1;
3414 struct uvxh_lb_bau_misc_control_s {
3415 unsigned long rejection_delay:8; /* RW */
3416 unsigned long apic_mode:1; /* RW */
3417 unsigned long force_broadcast:1; /* RW */
3418 unsigned long force_lock_nop:1; /* RW */
3419 unsigned long qpi_agent_presence_vector:3; /* RW */
3420 unsigned long descriptor_fetch_mode:1; /* RW */
3421 unsigned long enable_intd_soft_ack_mode:1; /* RW */
3422 unsigned long intd_soft_ack_timeout_period:4; /* RW */
3423 unsigned long enable_dual_mapping_mode:1; /* RW */
3424 unsigned long vga_io_port_decode_enable:1; /* RW */
3425 unsigned long vga_io_port_16_bit_decode:1; /* RW */
3426 unsigned long suppress_dest_registration:1; /* RW */
3427 unsigned long programmed_initial_priority:3; /* RW */
3428 unsigned long use_incoming_priority:1; /* RW */
3429 unsigned long enable_programmed_initial_priority:1;/* RW */
3430 unsigned long enable_automatic_apic_mode_selection:1;/* RW */
3431 unsigned long apic_mode_status:1; /* RO */
3432 unsigned long suppress_interrupts_to_self:1; /* RW */
3433 unsigned long enable_lock_based_system_flush:1;/* RW */
3434 unsigned long enable_extended_sb_status:1; /* RW */
3435 unsigned long suppress_int_prio_udt_to_self:1;/* RW */
3436 unsigned long use_legacy_descriptor_formats:1;/* RW */
3437 unsigned long rsvd_36_47:12;
3438 unsigned long fun:16; /* RW */
3439 } sx;
1351 struct uv2h_lb_bau_misc_control_s { 3440 struct uv2h_lb_bau_misc_control_s {
1352 unsigned long rejection_delay:8; /* RW */ 3441 unsigned long rejection_delay:8; /* RW */
1353 unsigned long apic_mode:1; /* RW */ 3442 unsigned long apic_mode:1; /* RW */
@@ -1374,13 +3463,48 @@ union uvh_lb_bau_misc_control_u {
1374 unsigned long rsvd_36_47:12; 3463 unsigned long rsvd_36_47:12;
1375 unsigned long fun:16; /* RW */ 3464 unsigned long fun:16; /* RW */
1376 } s2; 3465 } s2;
3466 struct uv3h_lb_bau_misc_control_s {
3467 unsigned long rejection_delay:8; /* RW */
3468 unsigned long apic_mode:1; /* RW */
3469 unsigned long force_broadcast:1; /* RW */
3470 unsigned long force_lock_nop:1; /* RW */
3471 unsigned long qpi_agent_presence_vector:3; /* RW */
3472 unsigned long descriptor_fetch_mode:1; /* RW */
3473 unsigned long enable_intd_soft_ack_mode:1; /* RW */
3474 unsigned long intd_soft_ack_timeout_period:4; /* RW */
3475 unsigned long enable_dual_mapping_mode:1; /* RW */
3476 unsigned long vga_io_port_decode_enable:1; /* RW */
3477 unsigned long vga_io_port_16_bit_decode:1; /* RW */
3478 unsigned long suppress_dest_registration:1; /* RW */
3479 unsigned long programmed_initial_priority:3; /* RW */
3480 unsigned long use_incoming_priority:1; /* RW */
3481 unsigned long enable_programmed_initial_priority:1;/* RW */
3482 unsigned long enable_automatic_apic_mode_selection:1;/* RW */
3483 unsigned long apic_mode_status:1; /* RO */
3484 unsigned long suppress_interrupts_to_self:1; /* RW */
3485 unsigned long enable_lock_based_system_flush:1;/* RW */
3486 unsigned long enable_extended_sb_status:1; /* RW */
3487 unsigned long suppress_int_prio_udt_to_self:1;/* RW */
3488 unsigned long use_legacy_descriptor_formats:1;/* RW */
3489 unsigned long suppress_quiesce_msgs_to_qpi:1; /* RW */
3490 unsigned long enable_intd_prefetch_hint:1; /* RW */
3491 unsigned long thread_kill_timebase:8; /* RW */
3492 unsigned long rsvd_46_47:2;
3493 unsigned long fun:16; /* RW */
3494 } s3;
1377}; 3495};
1378 3496
1379/* ========================================================================= */ 3497/* ========================================================================= */
1380/* UVH_LB_BAU_SB_ACTIVATION_CONTROL */ 3498/* UVH_LB_BAU_SB_ACTIVATION_CONTROL */
1381/* ========================================================================= */ 3499/* ========================================================================= */
1382#define UVH_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL 3500#define UVH_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL
1383#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_32 0x9a8 3501#define UV1H_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL
3502#define UV2H_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL
3503#define UV3H_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL
3504#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_32 0x9a8
3505#define UV1H_LB_BAU_SB_ACTIVATION_CONTROL_32 0x320020UL
3506#define UV2H_LB_BAU_SB_ACTIVATION_CONTROL_32 0x320020UL
3507#define UV3H_LB_BAU_SB_ACTIVATION_CONTROL_32 0x320020UL
1384 3508
1385#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_SHFT 0 3509#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_SHFT 0
1386#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_SHFT 62 3510#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_SHFT 62
@@ -1389,6 +3513,34 @@ union uvh_lb_bau_misc_control_u {
1389#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_MASK 0x4000000000000000UL 3513#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_MASK 0x4000000000000000UL
1390#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INIT_MASK 0x8000000000000000UL 3514#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INIT_MASK 0x8000000000000000UL
1391 3515
3516#define UV1H_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_SHFT 0
3517#define UV1H_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_SHFT 62
3518#define UV1H_LB_BAU_SB_ACTIVATION_CONTROL_INIT_SHFT 63
3519#define UV1H_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_MASK 0x000000000000003fUL
3520#define UV1H_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_MASK 0x4000000000000000UL
3521#define UV1H_LB_BAU_SB_ACTIVATION_CONTROL_INIT_MASK 0x8000000000000000UL
3522
3523#define UVXH_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_SHFT 0
3524#define UVXH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_SHFT 62
3525#define UVXH_LB_BAU_SB_ACTIVATION_CONTROL_INIT_SHFT 63
3526#define UVXH_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_MASK 0x000000000000003fUL
3527#define UVXH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_MASK 0x4000000000000000UL
3528#define UVXH_LB_BAU_SB_ACTIVATION_CONTROL_INIT_MASK 0x8000000000000000UL
3529
3530#define UV2H_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_SHFT 0
3531#define UV2H_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_SHFT 62
3532#define UV2H_LB_BAU_SB_ACTIVATION_CONTROL_INIT_SHFT 63
3533#define UV2H_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_MASK 0x000000000000003fUL
3534#define UV2H_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_MASK 0x4000000000000000UL
3535#define UV2H_LB_BAU_SB_ACTIVATION_CONTROL_INIT_MASK 0x8000000000000000UL
3536
3537#define UV3H_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_SHFT 0
3538#define UV3H_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_SHFT 62
3539#define UV3H_LB_BAU_SB_ACTIVATION_CONTROL_INIT_SHFT 63
3540#define UV3H_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_MASK 0x000000000000003fUL
3541#define UV3H_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_MASK 0x4000000000000000UL
3542#define UV3H_LB_BAU_SB_ACTIVATION_CONTROL_INIT_MASK 0x8000000000000000UL
3543
1392union uvh_lb_bau_sb_activation_control_u { 3544union uvh_lb_bau_sb_activation_control_u {
1393 unsigned long v; 3545 unsigned long v;
1394 struct uvh_lb_bau_sb_activation_control_s { 3546 struct uvh_lb_bau_sb_activation_control_s {
@@ -1397,51 +3549,161 @@ union uvh_lb_bau_sb_activation_control_u {
1397 unsigned long push:1; /* WP */ 3549 unsigned long push:1; /* WP */
1398 unsigned long init:1; /* WP */ 3550 unsigned long init:1; /* WP */
1399 } s; 3551 } s;
3552 struct uv1h_lb_bau_sb_activation_control_s {
3553 unsigned long index:6; /* RW */
3554 unsigned long rsvd_6_61:56;
3555 unsigned long push:1; /* WP */
3556 unsigned long init:1; /* WP */
3557 } s1;
3558 struct uvxh_lb_bau_sb_activation_control_s {
3559 unsigned long index:6; /* RW */
3560 unsigned long rsvd_6_61:56;
3561 unsigned long push:1; /* WP */
3562 unsigned long init:1; /* WP */
3563 } sx;
3564 struct uv2h_lb_bau_sb_activation_control_s {
3565 unsigned long index:6; /* RW */
3566 unsigned long rsvd_6_61:56;
3567 unsigned long push:1; /* WP */
3568 unsigned long init:1; /* WP */
3569 } s2;
3570 struct uv3h_lb_bau_sb_activation_control_s {
3571 unsigned long index:6; /* RW */
3572 unsigned long rsvd_6_61:56;
3573 unsigned long push:1; /* WP */
3574 unsigned long init:1; /* WP */
3575 } s3;
1400}; 3576};
1401 3577
1402/* ========================================================================= */ 3578/* ========================================================================= */
1403/* UVH_LB_BAU_SB_ACTIVATION_STATUS_0 */ 3579/* UVH_LB_BAU_SB_ACTIVATION_STATUS_0 */
1404/* ========================================================================= */ 3580/* ========================================================================= */
1405#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL 3581#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL
1406#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x9b0 3582#define UV1H_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL
3583#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL
3584#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL
3585#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x9b0
3586#define UV1H_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x320030UL
3587#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x320030UL
3588#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x320030UL
1407 3589
1408#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_SHFT 0 3590#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_SHFT 0
1409#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_MASK 0xffffffffffffffffUL 3591#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_MASK 0xffffffffffffffffUL
1410 3592
3593#define UV1H_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_SHFT 0
3594#define UV1H_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_MASK 0xffffffffffffffffUL
3595
3596#define UVXH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_SHFT 0
3597#define UVXH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_MASK 0xffffffffffffffffUL
3598
3599#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_SHFT 0
3600#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_MASK 0xffffffffffffffffUL
3601
3602#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_SHFT 0
3603#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_MASK 0xffffffffffffffffUL
3604
1411union uvh_lb_bau_sb_activation_status_0_u { 3605union uvh_lb_bau_sb_activation_status_0_u {
1412 unsigned long v; 3606 unsigned long v;
1413 struct uvh_lb_bau_sb_activation_status_0_s { 3607 struct uvh_lb_bau_sb_activation_status_0_s {
1414 unsigned long status:64; /* RW */ 3608 unsigned long status:64; /* RW */
1415 } s; 3609 } s;
3610 struct uv1h_lb_bau_sb_activation_status_0_s {
3611 unsigned long status:64; /* RW */
3612 } s1;
3613 struct uvxh_lb_bau_sb_activation_status_0_s {
3614 unsigned long status:64; /* RW */
3615 } sx;
3616 struct uv2h_lb_bau_sb_activation_status_0_s {
3617 unsigned long status:64; /* RW */
3618 } s2;
3619 struct uv3h_lb_bau_sb_activation_status_0_s {
3620 unsigned long status:64; /* RW */
3621 } s3;
1416}; 3622};
1417 3623
1418/* ========================================================================= */ 3624/* ========================================================================= */
1419/* UVH_LB_BAU_SB_ACTIVATION_STATUS_1 */ 3625/* UVH_LB_BAU_SB_ACTIVATION_STATUS_1 */
1420/* ========================================================================= */ 3626/* ========================================================================= */
1421#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL 3627#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL
1422#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x9b8 3628#define UV1H_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL
3629#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL
3630#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL
3631#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x9b8
3632#define UV1H_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x320040UL
3633#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x320040UL
3634#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x320040UL
1423 3635
1424#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_SHFT 0 3636#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_SHFT 0
1425#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_MASK 0xffffffffffffffffUL 3637#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_MASK 0xffffffffffffffffUL
1426 3638
3639#define UV1H_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_SHFT 0
3640#define UV1H_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_MASK 0xffffffffffffffffUL
3641
3642#define UVXH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_SHFT 0
3643#define UVXH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_MASK 0xffffffffffffffffUL
3644
3645#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_SHFT 0
3646#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_MASK 0xffffffffffffffffUL
3647
3648#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_SHFT 0
3649#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_MASK 0xffffffffffffffffUL
3650
1427union uvh_lb_bau_sb_activation_status_1_u { 3651union uvh_lb_bau_sb_activation_status_1_u {
1428 unsigned long v; 3652 unsigned long v;
1429 struct uvh_lb_bau_sb_activation_status_1_s { 3653 struct uvh_lb_bau_sb_activation_status_1_s {
1430 unsigned long status:64; /* RW */ 3654 unsigned long status:64; /* RW */
1431 } s; 3655 } s;
3656 struct uv1h_lb_bau_sb_activation_status_1_s {
3657 unsigned long status:64; /* RW */
3658 } s1;
3659 struct uvxh_lb_bau_sb_activation_status_1_s {
3660 unsigned long status:64; /* RW */
3661 } sx;
3662 struct uv2h_lb_bau_sb_activation_status_1_s {
3663 unsigned long status:64; /* RW */
3664 } s2;
3665 struct uv3h_lb_bau_sb_activation_status_1_s {
3666 unsigned long status:64; /* RW */
3667 } s3;
1432}; 3668};
1433 3669
1434/* ========================================================================= */ 3670/* ========================================================================= */
1435/* UVH_LB_BAU_SB_DESCRIPTOR_BASE */ 3671/* UVH_LB_BAU_SB_DESCRIPTOR_BASE */
1436/* ========================================================================= */ 3672/* ========================================================================= */
1437#define UVH_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL 3673#define UVH_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL
1438#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_32 0x9a0 3674#define UV1H_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL
3675#define UV2H_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL
3676#define UV3H_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL
3677#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_32 0x9a0
3678#define UV1H_LB_BAU_SB_DESCRIPTOR_BASE_32 0x320010UL
3679#define UV2H_LB_BAU_SB_DESCRIPTOR_BASE_32 0x320010UL
3680#define UV3H_LB_BAU_SB_DESCRIPTOR_BASE_32 0x320010UL
1439 3681
1440#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_SHFT 12 3682#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_SHFT 12
1441#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT 49 3683#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT 49
1442#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000007fffffff000UL 3684#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000007fffffff000UL
1443#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK 0x7ffe000000000000UL 3685#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK 0x7ffe000000000000UL
1444 3686
3687#define UV1H_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_SHFT 12
3688#define UV1H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT 49
3689#define UV1H_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000007fffffff000UL
3690#define UV1H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK 0x7ffe000000000000UL
3691
3692#define UVXH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_SHFT 12
3693#define UVXH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT 49
3694#define UVXH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000007fffffff000UL
3695#define UVXH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK 0x7ffe000000000000UL
3696
3697#define UV2H_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_SHFT 12
3698#define UV2H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT 49
3699#define UV2H_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000007fffffff000UL
3700#define UV2H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK 0x7ffe000000000000UL
3701
3702#define UV3H_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_SHFT 12
3703#define UV3H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT 49
3704#define UV3H_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000007fffffff000UL
3705#define UV3H_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK 0x7ffe000000000000UL
3706
1445union uvh_lb_bau_sb_descriptor_base_u { 3707union uvh_lb_bau_sb_descriptor_base_u {
1446 unsigned long v; 3708 unsigned long v;
1447 struct uvh_lb_bau_sb_descriptor_base_s { 3709 struct uvh_lb_bau_sb_descriptor_base_s {
@@ -1451,12 +3713,43 @@ union uvh_lb_bau_sb_descriptor_base_u {
1451 unsigned long node_id:14; /* RW */ 3713 unsigned long node_id:14; /* RW */
1452 unsigned long rsvd_63:1; 3714 unsigned long rsvd_63:1;
1453 } s; 3715 } s;
3716 struct uv1h_lb_bau_sb_descriptor_base_s {
3717 unsigned long rsvd_0_11:12;
3718 unsigned long page_address:31; /* RW */
3719 unsigned long rsvd_43_48:6;
3720 unsigned long node_id:14; /* RW */
3721 unsigned long rsvd_63:1;
3722 } s1;
3723 struct uvxh_lb_bau_sb_descriptor_base_s {
3724 unsigned long rsvd_0_11:12;
3725 unsigned long page_address:31; /* RW */
3726 unsigned long rsvd_43_48:6;
3727 unsigned long node_id:14; /* RW */
3728 unsigned long rsvd_63:1;
3729 } sx;
3730 struct uv2h_lb_bau_sb_descriptor_base_s {
3731 unsigned long rsvd_0_11:12;
3732 unsigned long page_address:31; /* RW */
3733 unsigned long rsvd_43_48:6;
3734 unsigned long node_id:14; /* RW */
3735 unsigned long rsvd_63:1;
3736 } s2;
3737 struct uv3h_lb_bau_sb_descriptor_base_s {
3738 unsigned long rsvd_0_11:12;
3739 unsigned long page_address:31; /* RW */
3740 unsigned long rsvd_43_48:6;
3741 unsigned long node_id:14; /* RW */
3742 unsigned long rsvd_63:1;
3743 } s3;
1454}; 3744};
1455 3745
1456/* ========================================================================= */ 3746/* ========================================================================= */
1457/* UVH_NODE_ID */ 3747/* UVH_NODE_ID */
1458/* ========================================================================= */ 3748/* ========================================================================= */
1459#define UVH_NODE_ID 0x0UL 3749#define UVH_NODE_ID 0x0UL
3750#define UV1H_NODE_ID 0x0UL
3751#define UV2H_NODE_ID 0x0UL
3752#define UV3H_NODE_ID 0x0UL
1460 3753
1461#define UVH_NODE_ID_FORCE1_SHFT 0 3754#define UVH_NODE_ID_FORCE1_SHFT 0
1462#define UVH_NODE_ID_MANUFACTURER_SHFT 1 3755#define UVH_NODE_ID_MANUFACTURER_SHFT 1
@@ -1484,6 +3777,21 @@ union uvh_lb_bau_sb_descriptor_base_u {
1484#define UV1H_NODE_ID_NODES_PER_BIT_MASK 0x007f000000000000UL 3777#define UV1H_NODE_ID_NODES_PER_BIT_MASK 0x007f000000000000UL
1485#define UV1H_NODE_ID_NI_PORT_MASK 0x0f00000000000000UL 3778#define UV1H_NODE_ID_NI_PORT_MASK 0x0f00000000000000UL
1486 3779
3780#define UVXH_NODE_ID_FORCE1_SHFT 0
3781#define UVXH_NODE_ID_MANUFACTURER_SHFT 1
3782#define UVXH_NODE_ID_PART_NUMBER_SHFT 12
3783#define UVXH_NODE_ID_REVISION_SHFT 28
3784#define UVXH_NODE_ID_NODE_ID_SHFT 32
3785#define UVXH_NODE_ID_NODES_PER_BIT_SHFT 50
3786#define UVXH_NODE_ID_NI_PORT_SHFT 57
3787#define UVXH_NODE_ID_FORCE1_MASK 0x0000000000000001UL
3788#define UVXH_NODE_ID_MANUFACTURER_MASK 0x0000000000000ffeUL
3789#define UVXH_NODE_ID_PART_NUMBER_MASK 0x000000000ffff000UL
3790#define UVXH_NODE_ID_REVISION_MASK 0x00000000f0000000UL
3791#define UVXH_NODE_ID_NODE_ID_MASK 0x00007fff00000000UL
3792#define UVXH_NODE_ID_NODES_PER_BIT_MASK 0x01fc000000000000UL
3793#define UVXH_NODE_ID_NI_PORT_MASK 0x3e00000000000000UL
3794
1487#define UV2H_NODE_ID_FORCE1_SHFT 0 3795#define UV2H_NODE_ID_FORCE1_SHFT 0
1488#define UV2H_NODE_ID_MANUFACTURER_SHFT 1 3796#define UV2H_NODE_ID_MANUFACTURER_SHFT 1
1489#define UV2H_NODE_ID_PART_NUMBER_SHFT 12 3797#define UV2H_NODE_ID_PART_NUMBER_SHFT 12
@@ -1499,6 +3807,25 @@ union uvh_lb_bau_sb_descriptor_base_u {
1499#define UV2H_NODE_ID_NODES_PER_BIT_MASK 0x01fc000000000000UL 3807#define UV2H_NODE_ID_NODES_PER_BIT_MASK 0x01fc000000000000UL
1500#define UV2H_NODE_ID_NI_PORT_MASK 0x3e00000000000000UL 3808#define UV2H_NODE_ID_NI_PORT_MASK 0x3e00000000000000UL
1501 3809
3810#define UV3H_NODE_ID_FORCE1_SHFT 0
3811#define UV3H_NODE_ID_MANUFACTURER_SHFT 1
3812#define UV3H_NODE_ID_PART_NUMBER_SHFT 12
3813#define UV3H_NODE_ID_REVISION_SHFT 28
3814#define UV3H_NODE_ID_NODE_ID_SHFT 32
3815#define UV3H_NODE_ID_ROUTER_SELECT_SHFT 48
3816#define UV3H_NODE_ID_RESERVED_2_SHFT 49
3817#define UV3H_NODE_ID_NODES_PER_BIT_SHFT 50
3818#define UV3H_NODE_ID_NI_PORT_SHFT 57
3819#define UV3H_NODE_ID_FORCE1_MASK 0x0000000000000001UL
3820#define UV3H_NODE_ID_MANUFACTURER_MASK 0x0000000000000ffeUL
3821#define UV3H_NODE_ID_PART_NUMBER_MASK 0x000000000ffff000UL
3822#define UV3H_NODE_ID_REVISION_MASK 0x00000000f0000000UL
3823#define UV3H_NODE_ID_NODE_ID_MASK 0x00007fff00000000UL
3824#define UV3H_NODE_ID_ROUTER_SELECT_MASK 0x0001000000000000UL
3825#define UV3H_NODE_ID_RESERVED_2_MASK 0x0002000000000000UL
3826#define UV3H_NODE_ID_NODES_PER_BIT_MASK 0x01fc000000000000UL
3827#define UV3H_NODE_ID_NI_PORT_MASK 0x3e00000000000000UL
3828
1502union uvh_node_id_u { 3829union uvh_node_id_u {
1503 unsigned long v; 3830 unsigned long v;
1504 struct uvh_node_id_s { 3831 struct uvh_node_id_s {
@@ -1521,6 +3848,17 @@ union uvh_node_id_u {
1521 unsigned long ni_port:4; /* RO */ 3848 unsigned long ni_port:4; /* RO */
1522 unsigned long rsvd_60_63:4; 3849 unsigned long rsvd_60_63:4;
1523 } s1; 3850 } s1;
3851 struct uvxh_node_id_s {
3852 unsigned long force1:1; /* RO */
3853 unsigned long manufacturer:11; /* RO */
3854 unsigned long part_number:16; /* RO */
3855 unsigned long revision:4; /* RO */
3856 unsigned long node_id:15; /* RW */
3857 unsigned long rsvd_47_49:3;
3858 unsigned long nodes_per_bit:7; /* RO */
3859 unsigned long ni_port:5; /* RO */
3860 unsigned long rsvd_62_63:2;
3861 } sx;
1524 struct uv2h_node_id_s { 3862 struct uv2h_node_id_s {
1525 unsigned long force1:1; /* RO */ 3863 unsigned long force1:1; /* RO */
1526 unsigned long manufacturer:11; /* RO */ 3864 unsigned long manufacturer:11; /* RO */
@@ -1532,28 +3870,74 @@ union uvh_node_id_u {
1532 unsigned long ni_port:5; /* RO */ 3870 unsigned long ni_port:5; /* RO */
1533 unsigned long rsvd_62_63:2; 3871 unsigned long rsvd_62_63:2;
1534 } s2; 3872 } s2;
3873 struct uv3h_node_id_s {
3874 unsigned long force1:1; /* RO */
3875 unsigned long manufacturer:11; /* RO */
3876 unsigned long part_number:16; /* RO */
3877 unsigned long revision:4; /* RO */
3878 unsigned long node_id:15; /* RW */
3879 unsigned long rsvd_47:1;
3880 unsigned long router_select:1; /* RO */
3881 unsigned long rsvd_49:1;
3882 unsigned long nodes_per_bit:7; /* RO */
3883 unsigned long ni_port:5; /* RO */
3884 unsigned long rsvd_62_63:2;
3885 } s3;
1535}; 3886};
1536 3887
1537/* ========================================================================= */ 3888/* ========================================================================= */
1538/* UVH_NODE_PRESENT_TABLE */ 3889/* UVH_NODE_PRESENT_TABLE */
1539/* ========================================================================= */ 3890/* ========================================================================= */
1540#define UVH_NODE_PRESENT_TABLE 0x1400UL 3891#define UVH_NODE_PRESENT_TABLE 0x1400UL
1541#define UVH_NODE_PRESENT_TABLE_DEPTH 16 3892#define UV1H_NODE_PRESENT_TABLE 0x1400UL
3893#define UV2H_NODE_PRESENT_TABLE 0x1400UL
3894#define UV3H_NODE_PRESENT_TABLE 0x1400UL
3895#define UVH_NODE_PRESENT_TABLE_DEPTH 16
3896#define UV1H_NODE_PRESENT_TABLE_DEPTH 0x1400UL
3897#define UV2H_NODE_PRESENT_TABLE_DEPTH 0x1400UL
3898#define UV3H_NODE_PRESENT_TABLE_DEPTH 0x1400UL
1542 3899
1543#define UVH_NODE_PRESENT_TABLE_NODES_SHFT 0 3900#define UVH_NODE_PRESENT_TABLE_NODES_SHFT 0
1544#define UVH_NODE_PRESENT_TABLE_NODES_MASK 0xffffffffffffffffUL 3901#define UVH_NODE_PRESENT_TABLE_NODES_MASK 0xffffffffffffffffUL
1545 3902
3903#define UV1H_NODE_PRESENT_TABLE_NODES_SHFT 0
3904#define UV1H_NODE_PRESENT_TABLE_NODES_MASK 0xffffffffffffffffUL
3905
3906#define UVXH_NODE_PRESENT_TABLE_NODES_SHFT 0
3907#define UVXH_NODE_PRESENT_TABLE_NODES_MASK 0xffffffffffffffffUL
3908
3909#define UV2H_NODE_PRESENT_TABLE_NODES_SHFT 0
3910#define UV2H_NODE_PRESENT_TABLE_NODES_MASK 0xffffffffffffffffUL
3911
3912#define UV3H_NODE_PRESENT_TABLE_NODES_SHFT 0
3913#define UV3H_NODE_PRESENT_TABLE_NODES_MASK 0xffffffffffffffffUL
3914
1546union uvh_node_present_table_u { 3915union uvh_node_present_table_u {
1547 unsigned long v; 3916 unsigned long v;
1548 struct uvh_node_present_table_s { 3917 struct uvh_node_present_table_s {
1549 unsigned long nodes:64; /* RW */ 3918 unsigned long nodes:64; /* RW */
1550 } s; 3919 } s;
3920 struct uv1h_node_present_table_s {
3921 unsigned long nodes:64; /* RW */
3922 } s1;
3923 struct uvxh_node_present_table_s {
3924 unsigned long nodes:64; /* RW */
3925 } sx;
3926 struct uv2h_node_present_table_s {
3927 unsigned long nodes:64; /* RW */
3928 } s2;
3929 struct uv3h_node_present_table_s {
3930 unsigned long nodes:64; /* RW */
3931 } s3;
1551}; 3932};
1552 3933
1553/* ========================================================================= */ 3934/* ========================================================================= */
1554/* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR */ 3935/* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR */
1555/* ========================================================================= */ 3936/* ========================================================================= */
1556#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x16000c8UL 3937#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x16000c8UL
3938#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x16000c8UL
3939#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x16000c8UL
3940#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x16000c8UL
1557 3941
1558#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24 3942#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24
1559#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48 3943#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48
@@ -1562,6 +3946,34 @@ union uvh_node_present_table_u {
1562#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_MASK 0x001f000000000000UL 3946#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_MASK 0x001f000000000000UL
1563#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_MASK 0x8000000000000000UL 3947#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_MASK 0x8000000000000000UL
1564 3948
3949#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24
3950#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48
3951#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_SHFT 63
3952#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_MASK 0x00000000ff000000UL
3953#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_MASK 0x001f000000000000UL
3954#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_MASK 0x8000000000000000UL
3955
3956#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24
3957#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48
3958#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_SHFT 63
3959#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_MASK 0x00000000ff000000UL
3960#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_MASK 0x001f000000000000UL
3961#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_MASK 0x8000000000000000UL
3962
3963#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24
3964#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48
3965#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_SHFT 63
3966#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_MASK 0x00000000ff000000UL
3967#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_MASK 0x001f000000000000UL
3968#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_MASK 0x8000000000000000UL
3969
3970#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24
3971#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48
3972#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_SHFT 63
3973#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_MASK 0x00000000ff000000UL
3974#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_MASK 0x001f000000000000UL
3975#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_MASK 0x8000000000000000UL
3976
1565union uvh_rh_gam_alias210_overlay_config_0_mmr_u { 3977union uvh_rh_gam_alias210_overlay_config_0_mmr_u {
1566 unsigned long v; 3978 unsigned long v;
1567 struct uvh_rh_gam_alias210_overlay_config_0_mmr_s { 3979 struct uvh_rh_gam_alias210_overlay_config_0_mmr_s {
@@ -1572,12 +3984,47 @@ union uvh_rh_gam_alias210_overlay_config_0_mmr_u {
1572 unsigned long rsvd_53_62:10; 3984 unsigned long rsvd_53_62:10;
1573 unsigned long enable:1; /* RW */ 3985 unsigned long enable:1; /* RW */
1574 } s; 3986 } s;
3987 struct uv1h_rh_gam_alias210_overlay_config_0_mmr_s {
3988 unsigned long rsvd_0_23:24;
3989 unsigned long base:8; /* RW */
3990 unsigned long rsvd_32_47:16;
3991 unsigned long m_alias:5; /* RW */
3992 unsigned long rsvd_53_62:10;
3993 unsigned long enable:1; /* RW */
3994 } s1;
3995 struct uvxh_rh_gam_alias210_overlay_config_0_mmr_s {
3996 unsigned long rsvd_0_23:24;
3997 unsigned long base:8; /* RW */
3998 unsigned long rsvd_32_47:16;
3999 unsigned long m_alias:5; /* RW */
4000 unsigned long rsvd_53_62:10;
4001 unsigned long enable:1; /* RW */
4002 } sx;
4003 struct uv2h_rh_gam_alias210_overlay_config_0_mmr_s {
4004 unsigned long rsvd_0_23:24;
4005 unsigned long base:8; /* RW */
4006 unsigned long rsvd_32_47:16;
4007 unsigned long m_alias:5; /* RW */
4008 unsigned long rsvd_53_62:10;
4009 unsigned long enable:1; /* RW */
4010 } s2;
4011 struct uv3h_rh_gam_alias210_overlay_config_0_mmr_s {
4012 unsigned long rsvd_0_23:24;
4013 unsigned long base:8; /* RW */
4014 unsigned long rsvd_32_47:16;
4015 unsigned long m_alias:5; /* RW */
4016 unsigned long rsvd_53_62:10;
4017 unsigned long enable:1; /* RW */
4018 } s3;
1575}; 4019};
1576 4020
1577/* ========================================================================= */ 4021/* ========================================================================= */
1578/* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR */ 4022/* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR */
1579/* ========================================================================= */ 4023/* ========================================================================= */
1580#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x16000d8UL 4024#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x16000d8UL
4025#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x16000d8UL
4026#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x16000d8UL
4027#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x16000d8UL
1581 4028
1582#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24 4029#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24
1583#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48 4030#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48
@@ -1586,6 +4033,34 @@ union uvh_rh_gam_alias210_overlay_config_0_mmr_u {
1586#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_MASK 0x001f000000000000UL 4033#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_MASK 0x001f000000000000UL
1587#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_MASK 0x8000000000000000UL 4034#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_MASK 0x8000000000000000UL
1588 4035
4036#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24
4037#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48
4038#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_SHFT 63
4039#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_MASK 0x00000000ff000000UL
4040#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_MASK 0x001f000000000000UL
4041#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_MASK 0x8000000000000000UL
4042
4043#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24
4044#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48
4045#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_SHFT 63
4046#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_MASK 0x00000000ff000000UL
4047#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_MASK 0x001f000000000000UL
4048#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_MASK 0x8000000000000000UL
4049
4050#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24
4051#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48
4052#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_SHFT 63
4053#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_MASK 0x00000000ff000000UL
4054#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_MASK 0x001f000000000000UL
4055#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_MASK 0x8000000000000000UL
4056
4057#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24
4058#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48
4059#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_SHFT 63
4060#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_MASK 0x00000000ff000000UL
4061#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_MASK 0x001f000000000000UL
4062#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_MASK 0x8000000000000000UL
4063
1589union uvh_rh_gam_alias210_overlay_config_1_mmr_u { 4064union uvh_rh_gam_alias210_overlay_config_1_mmr_u {
1590 unsigned long v; 4065 unsigned long v;
1591 struct uvh_rh_gam_alias210_overlay_config_1_mmr_s { 4066 struct uvh_rh_gam_alias210_overlay_config_1_mmr_s {
@@ -1596,12 +4071,47 @@ union uvh_rh_gam_alias210_overlay_config_1_mmr_u {
1596 unsigned long rsvd_53_62:10; 4071 unsigned long rsvd_53_62:10;
1597 unsigned long enable:1; /* RW */ 4072 unsigned long enable:1; /* RW */
1598 } s; 4073 } s;
4074 struct uv1h_rh_gam_alias210_overlay_config_1_mmr_s {
4075 unsigned long rsvd_0_23:24;
4076 unsigned long base:8; /* RW */
4077 unsigned long rsvd_32_47:16;
4078 unsigned long m_alias:5; /* RW */
4079 unsigned long rsvd_53_62:10;
4080 unsigned long enable:1; /* RW */
4081 } s1;
4082 struct uvxh_rh_gam_alias210_overlay_config_1_mmr_s {
4083 unsigned long rsvd_0_23:24;
4084 unsigned long base:8; /* RW */
4085 unsigned long rsvd_32_47:16;
4086 unsigned long m_alias:5; /* RW */
4087 unsigned long rsvd_53_62:10;
4088 unsigned long enable:1; /* RW */
4089 } sx;
4090 struct uv2h_rh_gam_alias210_overlay_config_1_mmr_s {
4091 unsigned long rsvd_0_23:24;
4092 unsigned long base:8; /* RW */
4093 unsigned long rsvd_32_47:16;
4094 unsigned long m_alias:5; /* RW */
4095 unsigned long rsvd_53_62:10;
4096 unsigned long enable:1; /* RW */
4097 } s2;
4098 struct uv3h_rh_gam_alias210_overlay_config_1_mmr_s {
4099 unsigned long rsvd_0_23:24;
4100 unsigned long base:8; /* RW */
4101 unsigned long rsvd_32_47:16;
4102 unsigned long m_alias:5; /* RW */
4103 unsigned long rsvd_53_62:10;
4104 unsigned long enable:1; /* RW */
4105 } s3;
1599}; 4106};
1600 4107
1601/* ========================================================================= */ 4108/* ========================================================================= */
1602/* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR */ 4109/* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR */
1603/* ========================================================================= */ 4110/* ========================================================================= */
1604#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x16000e8UL 4111#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x16000e8UL
4112#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x16000e8UL
4113#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x16000e8UL
4114#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x16000e8UL
1605 4115
1606#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24 4116#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24
1607#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48 4117#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48
@@ -1610,6 +4120,34 @@ union uvh_rh_gam_alias210_overlay_config_1_mmr_u {
1610#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_MASK 0x001f000000000000UL 4120#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_MASK 0x001f000000000000UL
1611#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_MASK 0x8000000000000000UL 4121#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_MASK 0x8000000000000000UL
1612 4122
4123#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24
4124#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48
4125#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_SHFT 63
4126#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_MASK 0x00000000ff000000UL
4127#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_MASK 0x001f000000000000UL
4128#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_MASK 0x8000000000000000UL
4129
4130#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24
4131#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48
4132#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_SHFT 63
4133#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_MASK 0x00000000ff000000UL
4134#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_MASK 0x001f000000000000UL
4135#define UVXH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_MASK 0x8000000000000000UL
4136
4137#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24
4138#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48
4139#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_SHFT 63
4140#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_MASK 0x00000000ff000000UL
4141#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_MASK 0x001f000000000000UL
4142#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_MASK 0x8000000000000000UL
4143
4144#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24
4145#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48
4146#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_SHFT 63
4147#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_MASK 0x00000000ff000000UL
4148#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_MASK 0x001f000000000000UL
4149#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_MASK 0x8000000000000000UL
4150
1613union uvh_rh_gam_alias210_overlay_config_2_mmr_u { 4151union uvh_rh_gam_alias210_overlay_config_2_mmr_u {
1614 unsigned long v; 4152 unsigned long v;
1615 struct uvh_rh_gam_alias210_overlay_config_2_mmr_s { 4153 struct uvh_rh_gam_alias210_overlay_config_2_mmr_s {
@@ -1620,16 +4158,63 @@ union uvh_rh_gam_alias210_overlay_config_2_mmr_u {
1620 unsigned long rsvd_53_62:10; 4158 unsigned long rsvd_53_62:10;
1621 unsigned long enable:1; /* RW */ 4159 unsigned long enable:1; /* RW */
1622 } s; 4160 } s;
4161 struct uv1h_rh_gam_alias210_overlay_config_2_mmr_s {
4162 unsigned long rsvd_0_23:24;
4163 unsigned long base:8; /* RW */
4164 unsigned long rsvd_32_47:16;
4165 unsigned long m_alias:5; /* RW */
4166 unsigned long rsvd_53_62:10;
4167 unsigned long enable:1; /* RW */
4168 } s1;
4169 struct uvxh_rh_gam_alias210_overlay_config_2_mmr_s {
4170 unsigned long rsvd_0_23:24;
4171 unsigned long base:8; /* RW */
4172 unsigned long rsvd_32_47:16;
4173 unsigned long m_alias:5; /* RW */
4174 unsigned long rsvd_53_62:10;
4175 unsigned long enable:1; /* RW */
4176 } sx;
4177 struct uv2h_rh_gam_alias210_overlay_config_2_mmr_s {
4178 unsigned long rsvd_0_23:24;
4179 unsigned long base:8; /* RW */
4180 unsigned long rsvd_32_47:16;
4181 unsigned long m_alias:5; /* RW */
4182 unsigned long rsvd_53_62:10;
4183 unsigned long enable:1; /* RW */
4184 } s2;
4185 struct uv3h_rh_gam_alias210_overlay_config_2_mmr_s {
4186 unsigned long rsvd_0_23:24;
4187 unsigned long base:8; /* RW */
4188 unsigned long rsvd_32_47:16;
4189 unsigned long m_alias:5; /* RW */
4190 unsigned long rsvd_53_62:10;
4191 unsigned long enable:1; /* RW */
4192 } s3;
1623}; 4193};
1624 4194
1625/* ========================================================================= */ 4195/* ========================================================================= */
1626/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR */ 4196/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR */
1627/* ========================================================================= */ 4197/* ========================================================================= */
1628#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL 4198#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL
4199#define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL
4200#define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL
4201#define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL
1629 4202
1630#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24 4203#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
1631#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL 4204#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
1632 4205
4206#define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
4207#define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
4208
4209#define UVXH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
4210#define UVXH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
4211
4212#define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
4213#define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
4214
4215#define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
4216#define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
4217
1633union uvh_rh_gam_alias210_redirect_config_0_mmr_u { 4218union uvh_rh_gam_alias210_redirect_config_0_mmr_u {
1634 unsigned long v; 4219 unsigned long v;
1635 struct uvh_rh_gam_alias210_redirect_config_0_mmr_s { 4220 struct uvh_rh_gam_alias210_redirect_config_0_mmr_s {
@@ -1637,16 +4222,51 @@ union uvh_rh_gam_alias210_redirect_config_0_mmr_u {
1637 unsigned long dest_base:22; /* RW */ 4222 unsigned long dest_base:22; /* RW */
1638 unsigned long rsvd_46_63:18; 4223 unsigned long rsvd_46_63:18;
1639 } s; 4224 } s;
4225 struct uv1h_rh_gam_alias210_redirect_config_0_mmr_s {
4226 unsigned long rsvd_0_23:24;
4227 unsigned long dest_base:22; /* RW */
4228 unsigned long rsvd_46_63:18;
4229 } s1;
4230 struct uvxh_rh_gam_alias210_redirect_config_0_mmr_s {
4231 unsigned long rsvd_0_23:24;
4232 unsigned long dest_base:22; /* RW */
4233 unsigned long rsvd_46_63:18;
4234 } sx;
4235 struct uv2h_rh_gam_alias210_redirect_config_0_mmr_s {
4236 unsigned long rsvd_0_23:24;
4237 unsigned long dest_base:22; /* RW */
4238 unsigned long rsvd_46_63:18;
4239 } s2;
4240 struct uv3h_rh_gam_alias210_redirect_config_0_mmr_s {
4241 unsigned long rsvd_0_23:24;
4242 unsigned long dest_base:22; /* RW */
4243 unsigned long rsvd_46_63:18;
4244 } s3;
1640}; 4245};
1641 4246
1642/* ========================================================================= */ 4247/* ========================================================================= */
1643/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR */ 4248/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR */
1644/* ========================================================================= */ 4249/* ========================================================================= */
1645#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL 4250#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL
4251#define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL
4252#define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL
4253#define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL
1646 4254
1647#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24 4255#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
1648#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL 4256#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
1649 4257
4258#define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
4259#define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
4260
4261#define UVXH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
4262#define UVXH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
4263
4264#define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
4265#define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
4266
4267#define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
4268#define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
4269
1650union uvh_rh_gam_alias210_redirect_config_1_mmr_u { 4270union uvh_rh_gam_alias210_redirect_config_1_mmr_u {
1651 unsigned long v; 4271 unsigned long v;
1652 struct uvh_rh_gam_alias210_redirect_config_1_mmr_s { 4272 struct uvh_rh_gam_alias210_redirect_config_1_mmr_s {
@@ -1654,16 +4274,51 @@ union uvh_rh_gam_alias210_redirect_config_1_mmr_u {
1654 unsigned long dest_base:22; /* RW */ 4274 unsigned long dest_base:22; /* RW */
1655 unsigned long rsvd_46_63:18; 4275 unsigned long rsvd_46_63:18;
1656 } s; 4276 } s;
4277 struct uv1h_rh_gam_alias210_redirect_config_1_mmr_s {
4278 unsigned long rsvd_0_23:24;
4279 unsigned long dest_base:22; /* RW */
4280 unsigned long rsvd_46_63:18;
4281 } s1;
4282 struct uvxh_rh_gam_alias210_redirect_config_1_mmr_s {
4283 unsigned long rsvd_0_23:24;
4284 unsigned long dest_base:22; /* RW */
4285 unsigned long rsvd_46_63:18;
4286 } sx;
4287 struct uv2h_rh_gam_alias210_redirect_config_1_mmr_s {
4288 unsigned long rsvd_0_23:24;
4289 unsigned long dest_base:22; /* RW */
4290 unsigned long rsvd_46_63:18;
4291 } s2;
4292 struct uv3h_rh_gam_alias210_redirect_config_1_mmr_s {
4293 unsigned long rsvd_0_23:24;
4294 unsigned long dest_base:22; /* RW */
4295 unsigned long rsvd_46_63:18;
4296 } s3;
1657}; 4297};
1658 4298
1659/* ========================================================================= */ 4299/* ========================================================================= */
1660/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR */ 4300/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR */
1661/* ========================================================================= */ 4301/* ========================================================================= */
1662#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL 4302#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL
4303#define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL
4304#define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL
4305#define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL
1663 4306
1664#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24 4307#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
1665#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL 4308#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
1666 4309
4310#define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
4311#define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
4312
4313#define UVXH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
4314#define UVXH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
4315
4316#define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
4317#define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
4318
4319#define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
4320#define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
4321
1667union uvh_rh_gam_alias210_redirect_config_2_mmr_u { 4322union uvh_rh_gam_alias210_redirect_config_2_mmr_u {
1668 unsigned long v; 4323 unsigned long v;
1669 struct uvh_rh_gam_alias210_redirect_config_2_mmr_s { 4324 struct uvh_rh_gam_alias210_redirect_config_2_mmr_s {
@@ -1671,12 +4326,35 @@ union uvh_rh_gam_alias210_redirect_config_2_mmr_u {
1671 unsigned long dest_base:22; /* RW */ 4326 unsigned long dest_base:22; /* RW */
1672 unsigned long rsvd_46_63:18; 4327 unsigned long rsvd_46_63:18;
1673 } s; 4328 } s;
4329 struct uv1h_rh_gam_alias210_redirect_config_2_mmr_s {
4330 unsigned long rsvd_0_23:24;
4331 unsigned long dest_base:22; /* RW */
4332 unsigned long rsvd_46_63:18;
4333 } s1;
4334 struct uvxh_rh_gam_alias210_redirect_config_2_mmr_s {
4335 unsigned long rsvd_0_23:24;
4336 unsigned long dest_base:22; /* RW */
4337 unsigned long rsvd_46_63:18;
4338 } sx;
4339 struct uv2h_rh_gam_alias210_redirect_config_2_mmr_s {
4340 unsigned long rsvd_0_23:24;
4341 unsigned long dest_base:22; /* RW */
4342 unsigned long rsvd_46_63:18;
4343 } s2;
4344 struct uv3h_rh_gam_alias210_redirect_config_2_mmr_s {
4345 unsigned long rsvd_0_23:24;
4346 unsigned long dest_base:22; /* RW */
4347 unsigned long rsvd_46_63:18;
4348 } s3;
1674}; 4349};
1675 4350
1676/* ========================================================================= */ 4351/* ========================================================================= */
1677/* UVH_RH_GAM_CONFIG_MMR */ 4352/* UVH_RH_GAM_CONFIG_MMR */
1678/* ========================================================================= */ 4353/* ========================================================================= */
1679#define UVH_RH_GAM_CONFIG_MMR 0x1600000UL 4354#define UVH_RH_GAM_CONFIG_MMR 0x1600000UL
4355#define UV1H_RH_GAM_CONFIG_MMR 0x1600000UL
4356#define UV2H_RH_GAM_CONFIG_MMR 0x1600000UL
4357#define UV3H_RH_GAM_CONFIG_MMR 0x1600000UL
1680 4358
1681#define UVH_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0 4359#define UVH_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0
1682#define UVH_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6 4360#define UVH_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6
@@ -1690,11 +4368,21 @@ union uvh_rh_gam_alias210_redirect_config_2_mmr_u {
1690#define UV1H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL 4368#define UV1H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL
1691#define UV1H_RH_GAM_CONFIG_MMR_MMIOL_CFG_MASK 0x0000000000001000UL 4369#define UV1H_RH_GAM_CONFIG_MMR_MMIOL_CFG_MASK 0x0000000000001000UL
1692 4370
4371#define UVXH_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0
4372#define UVXH_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6
4373#define UVXH_RH_GAM_CONFIG_MMR_M_SKT_MASK 0x000000000000003fUL
4374#define UVXH_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL
4375
1693#define UV2H_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0 4376#define UV2H_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0
1694#define UV2H_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6 4377#define UV2H_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6
1695#define UV2H_RH_GAM_CONFIG_MMR_M_SKT_MASK 0x000000000000003fUL 4378#define UV2H_RH_GAM_CONFIG_MMR_M_SKT_MASK 0x000000000000003fUL
1696#define UV2H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL 4379#define UV2H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL
1697 4380
4381#define UV3H_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0
4382#define UV3H_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6
4383#define UV3H_RH_GAM_CONFIG_MMR_M_SKT_MASK 0x000000000000003fUL
4384#define UV3H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL
4385
1698union uvh_rh_gam_config_mmr_u { 4386union uvh_rh_gam_config_mmr_u {
1699 unsigned long v; 4387 unsigned long v;
1700 struct uvh_rh_gam_config_mmr_s { 4388 struct uvh_rh_gam_config_mmr_s {
@@ -1709,20 +4397,37 @@ union uvh_rh_gam_config_mmr_u {
1709 unsigned long mmiol_cfg:1; /* RW */ 4397 unsigned long mmiol_cfg:1; /* RW */
1710 unsigned long rsvd_13_63:51; 4398 unsigned long rsvd_13_63:51;
1711 } s1; 4399 } s1;
4400 struct uvxh_rh_gam_config_mmr_s {
4401 unsigned long m_skt:6; /* RW */
4402 unsigned long n_skt:4; /* RW */
4403 unsigned long rsvd_10_63:54;
4404 } sx;
1712 struct uv2h_rh_gam_config_mmr_s { 4405 struct uv2h_rh_gam_config_mmr_s {
1713 unsigned long m_skt:6; /* RW */ 4406 unsigned long m_skt:6; /* RW */
1714 unsigned long n_skt:4; /* RW */ 4407 unsigned long n_skt:4; /* RW */
1715 unsigned long rsvd_10_63:54; 4408 unsigned long rsvd_10_63:54;
1716 } s2; 4409 } s2;
4410 struct uv3h_rh_gam_config_mmr_s {
4411 unsigned long m_skt:6; /* RW */
4412 unsigned long n_skt:4; /* RW */
4413 unsigned long rsvd_10_63:54;
4414 } s3;
1717}; 4415};
1718 4416
1719/* ========================================================================= */ 4417/* ========================================================================= */
1720/* UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR */ 4418/* UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR */
1721/* ========================================================================= */ 4419/* ========================================================================= */
1722#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL 4420#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL
4421#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL
4422#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL
4423#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL
1723 4424
1724#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28 4425#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28
4426#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52
4427#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
1725#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffff0000000UL 4428#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffff0000000UL
4429#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL
4430#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
1726 4431
1727#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28 4432#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28
1728#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_GR4_SHFT 48 4433#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_GR4_SHFT 48
@@ -1733,6 +4438,13 @@ union uvh_rh_gam_config_mmr_u {
1733#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL 4438#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL
1734#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL 4439#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
1735 4440
4441#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28
4442#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52
4443#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
4444#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffff0000000UL
4445#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL
4446#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
4447
1736#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28 4448#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28
1737#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52 4449#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52
1738#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 4450#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
@@ -1740,12 +4452,23 @@ union uvh_rh_gam_config_mmr_u {
1740#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL 4452#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL
1741#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL 4453#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
1742 4454
4455#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28
4456#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52
4457#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_MODE_SHFT 62
4458#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
4459#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffff0000000UL
4460#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL
4461#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_MODE_MASK 0x4000000000000000UL
4462#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
4463
1743union uvh_rh_gam_gru_overlay_config_mmr_u { 4464union uvh_rh_gam_gru_overlay_config_mmr_u {
1744 unsigned long v; 4465 unsigned long v;
1745 struct uvh_rh_gam_gru_overlay_config_mmr_s { 4466 struct uvh_rh_gam_gru_overlay_config_mmr_s {
1746 unsigned long rsvd_0_27:28; 4467 unsigned long rsvd_0_27:28;
1747 unsigned long base:18; /* RW */ 4468 unsigned long base:18; /* RW */
1748 unsigned long rsvd_46_62:17; 4469 unsigned long rsvd_46_51:6;
4470 unsigned long n_gru:4; /* RW */
4471 unsigned long rsvd_56_62:7;
1749 unsigned long enable:1; /* RW */ 4472 unsigned long enable:1; /* RW */
1750 } s; 4473 } s;
1751 struct uv1h_rh_gam_gru_overlay_config_mmr_s { 4474 struct uv1h_rh_gam_gru_overlay_config_mmr_s {
@@ -1758,6 +4481,14 @@ union uvh_rh_gam_gru_overlay_config_mmr_u {
1758 unsigned long rsvd_56_62:7; 4481 unsigned long rsvd_56_62:7;
1759 unsigned long enable:1; /* RW */ 4482 unsigned long enable:1; /* RW */
1760 } s1; 4483 } s1;
4484 struct uvxh_rh_gam_gru_overlay_config_mmr_s {
4485 unsigned long rsvd_0_27:28;
4486 unsigned long base:18; /* RW */
4487 unsigned long rsvd_46_51:6;
4488 unsigned long n_gru:4; /* RW */
4489 unsigned long rsvd_56_62:7;
4490 unsigned long enable:1; /* RW */
4491 } sx;
1761 struct uv2h_rh_gam_gru_overlay_config_mmr_s { 4492 struct uv2h_rh_gam_gru_overlay_config_mmr_s {
1762 unsigned long rsvd_0_27:28; 4493 unsigned long rsvd_0_27:28;
1763 unsigned long base:18; /* RW */ 4494 unsigned long base:18; /* RW */
@@ -1766,12 +4497,25 @@ union uvh_rh_gam_gru_overlay_config_mmr_u {
1766 unsigned long rsvd_56_62:7; 4497 unsigned long rsvd_56_62:7;
1767 unsigned long enable:1; /* RW */ 4498 unsigned long enable:1; /* RW */
1768 } s2; 4499 } s2;
4500 struct uv3h_rh_gam_gru_overlay_config_mmr_s {
4501 unsigned long rsvd_0_27:28;
4502 unsigned long base:18; /* RW */
4503 unsigned long rsvd_46_51:6;
4504 unsigned long n_gru:4; /* RW */
4505 unsigned long rsvd_56_61:6;
4506 unsigned long mode:1; /* RW */
4507 unsigned long enable:1; /* RW */
4508 } s3;
1769}; 4509};
1770 4510
1771/* ========================================================================= */ 4511/* ========================================================================= */
1772/* UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR */ 4512/* UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR */
1773/* ========================================================================= */ 4513/* ========================================================================= */
1774#define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL 4514#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL
4515#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL
4516#define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR \
4517 (is_uv1_hub() ? UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR : \
4518 UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR)
1775 4519
1776#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT 30 4520#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT 30
1777#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_SHFT 46 4521#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_SHFT 46
@@ -1814,10 +4558,15 @@ union uvh_rh_gam_mmioh_overlay_config_mmr_u {
1814/* ========================================================================= */ 4558/* ========================================================================= */
1815/* UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR */ 4559/* UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR */
1816/* ========================================================================= */ 4560/* ========================================================================= */
1817#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL 4561#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
4562#define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
4563#define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
4564#define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
1818 4565
1819#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26 4566#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26
4567#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
1820#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL 4568#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL
4569#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
1821 4570
1822#define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26 4571#define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26
1823#define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_SHFT 46 4572#define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_SHFT 46
@@ -1826,11 +4575,21 @@ union uvh_rh_gam_mmioh_overlay_config_mmr_u {
1826#define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_MASK 0x0000400000000000UL 4575#define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_MASK 0x0000400000000000UL
1827#define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL 4576#define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
1828 4577
4578#define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26
4579#define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
4580#define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL
4581#define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
4582
1829#define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26 4583#define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26
1830#define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 4584#define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
1831#define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL 4585#define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL
1832#define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL 4586#define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
1833 4587
4588#define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26
4589#define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
4590#define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL
4591#define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
4592
1834union uvh_rh_gam_mmr_overlay_config_mmr_u { 4593union uvh_rh_gam_mmr_overlay_config_mmr_u {
1835 unsigned long v; 4594 unsigned long v;
1836 struct uvh_rh_gam_mmr_overlay_config_mmr_s { 4595 struct uvh_rh_gam_mmr_overlay_config_mmr_s {
@@ -1846,34 +4605,80 @@ union uvh_rh_gam_mmr_overlay_config_mmr_u {
1846 unsigned long rsvd_47_62:16; 4605 unsigned long rsvd_47_62:16;
1847 unsigned long enable:1; /* RW */ 4606 unsigned long enable:1; /* RW */
1848 } s1; 4607 } s1;
4608 struct uvxh_rh_gam_mmr_overlay_config_mmr_s {
4609 unsigned long rsvd_0_25:26;
4610 unsigned long base:20; /* RW */
4611 unsigned long rsvd_46_62:17;
4612 unsigned long enable:1; /* RW */
4613 } sx;
1849 struct uv2h_rh_gam_mmr_overlay_config_mmr_s { 4614 struct uv2h_rh_gam_mmr_overlay_config_mmr_s {
1850 unsigned long rsvd_0_25:26; 4615 unsigned long rsvd_0_25:26;
1851 unsigned long base:20; /* RW */ 4616 unsigned long base:20; /* RW */
1852 unsigned long rsvd_46_62:17; 4617 unsigned long rsvd_46_62:17;
1853 unsigned long enable:1; /* RW */ 4618 unsigned long enable:1; /* RW */
1854 } s2; 4619 } s2;
4620 struct uv3h_rh_gam_mmr_overlay_config_mmr_s {
4621 unsigned long rsvd_0_25:26;
4622 unsigned long base:20; /* RW */
4623 unsigned long rsvd_46_62:17;
4624 unsigned long enable:1; /* RW */
4625 } s3;
1855}; 4626};
1856 4627
1857/* ========================================================================= */ 4628/* ========================================================================= */
1858/* UVH_RTC */ 4629/* UVH_RTC */
1859/* ========================================================================= */ 4630/* ========================================================================= */
1860#define UVH_RTC 0x340000UL 4631#define UVH_RTC 0x340000UL
4632#define UV1H_RTC 0x340000UL
4633#define UV2H_RTC 0x340000UL
4634#define UV3H_RTC 0x340000UL
1861 4635
1862#define UVH_RTC_REAL_TIME_CLOCK_SHFT 0 4636#define UVH_RTC_REAL_TIME_CLOCK_SHFT 0
1863#define UVH_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL 4637#define UVH_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL
1864 4638
4639#define UV1H_RTC_REAL_TIME_CLOCK_SHFT 0
4640#define UV1H_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL
4641
4642#define UVXH_RTC_REAL_TIME_CLOCK_SHFT 0
4643#define UVXH_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL
4644
4645#define UV2H_RTC_REAL_TIME_CLOCK_SHFT 0
4646#define UV2H_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL
4647
4648#define UV3H_RTC_REAL_TIME_CLOCK_SHFT 0
4649#define UV3H_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL
4650
1865union uvh_rtc_u { 4651union uvh_rtc_u {
1866 unsigned long v; 4652 unsigned long v;
1867 struct uvh_rtc_s { 4653 struct uvh_rtc_s {
1868 unsigned long real_time_clock:56; /* RW */ 4654 unsigned long real_time_clock:56; /* RW */
1869 unsigned long rsvd_56_63:8; 4655 unsigned long rsvd_56_63:8;
1870 } s; 4656 } s;
4657 struct uv1h_rtc_s {
4658 unsigned long real_time_clock:56; /* RW */
4659 unsigned long rsvd_56_63:8;
4660 } s1;
4661 struct uvxh_rtc_s {
4662 unsigned long real_time_clock:56; /* RW */
4663 unsigned long rsvd_56_63:8;
4664 } sx;
4665 struct uv2h_rtc_s {
4666 unsigned long real_time_clock:56; /* RW */
4667 unsigned long rsvd_56_63:8;
4668 } s2;
4669 struct uv3h_rtc_s {
4670 unsigned long real_time_clock:56; /* RW */
4671 unsigned long rsvd_56_63:8;
4672 } s3;
1871}; 4673};
1872 4674
1873/* ========================================================================= */ 4675/* ========================================================================= */
1874/* UVH_RTC1_INT_CONFIG */ 4676/* UVH_RTC1_INT_CONFIG */
1875/* ========================================================================= */ 4677/* ========================================================================= */
1876#define UVH_RTC1_INT_CONFIG 0x615c0UL 4678#define UVH_RTC1_INT_CONFIG 0x615c0UL
4679#define UV1H_RTC1_INT_CONFIG 0x615c0UL
4680#define UV2H_RTC1_INT_CONFIG 0x615c0UL
4681#define UV3H_RTC1_INT_CONFIG 0x615c0UL
1877 4682
1878#define UVH_RTC1_INT_CONFIG_VECTOR_SHFT 0 4683#define UVH_RTC1_INT_CONFIG_VECTOR_SHFT 0
1879#define UVH_RTC1_INT_CONFIG_DM_SHFT 8 4684#define UVH_RTC1_INT_CONFIG_DM_SHFT 8
@@ -1892,6 +4697,74 @@ union uvh_rtc_u {
1892#define UVH_RTC1_INT_CONFIG_M_MASK 0x0000000000010000UL 4697#define UVH_RTC1_INT_CONFIG_M_MASK 0x0000000000010000UL
1893#define UVH_RTC1_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 4698#define UVH_RTC1_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
1894 4699
4700#define UV1H_RTC1_INT_CONFIG_VECTOR_SHFT 0
4701#define UV1H_RTC1_INT_CONFIG_DM_SHFT 8
4702#define UV1H_RTC1_INT_CONFIG_DESTMODE_SHFT 11
4703#define UV1H_RTC1_INT_CONFIG_STATUS_SHFT 12
4704#define UV1H_RTC1_INT_CONFIG_P_SHFT 13
4705#define UV1H_RTC1_INT_CONFIG_T_SHFT 15
4706#define UV1H_RTC1_INT_CONFIG_M_SHFT 16
4707#define UV1H_RTC1_INT_CONFIG_APIC_ID_SHFT 32
4708#define UV1H_RTC1_INT_CONFIG_VECTOR_MASK 0x00000000000000ffUL
4709#define UV1H_RTC1_INT_CONFIG_DM_MASK 0x0000000000000700UL
4710#define UV1H_RTC1_INT_CONFIG_DESTMODE_MASK 0x0000000000000800UL
4711#define UV1H_RTC1_INT_CONFIG_STATUS_MASK 0x0000000000001000UL
4712#define UV1H_RTC1_INT_CONFIG_P_MASK 0x0000000000002000UL
4713#define UV1H_RTC1_INT_CONFIG_T_MASK 0x0000000000008000UL
4714#define UV1H_RTC1_INT_CONFIG_M_MASK 0x0000000000010000UL
4715#define UV1H_RTC1_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
4716
4717#define UVXH_RTC1_INT_CONFIG_VECTOR_SHFT 0
4718#define UVXH_RTC1_INT_CONFIG_DM_SHFT 8
4719#define UVXH_RTC1_INT_CONFIG_DESTMODE_SHFT 11
4720#define UVXH_RTC1_INT_CONFIG_STATUS_SHFT 12
4721#define UVXH_RTC1_INT_CONFIG_P_SHFT 13
4722#define UVXH_RTC1_INT_CONFIG_T_SHFT 15
4723#define UVXH_RTC1_INT_CONFIG_M_SHFT 16
4724#define UVXH_RTC1_INT_CONFIG_APIC_ID_SHFT 32
4725#define UVXH_RTC1_INT_CONFIG_VECTOR_MASK 0x00000000000000ffUL
4726#define UVXH_RTC1_INT_CONFIG_DM_MASK 0x0000000000000700UL
4727#define UVXH_RTC1_INT_CONFIG_DESTMODE_MASK 0x0000000000000800UL
4728#define UVXH_RTC1_INT_CONFIG_STATUS_MASK 0x0000000000001000UL
4729#define UVXH_RTC1_INT_CONFIG_P_MASK 0x0000000000002000UL
4730#define UVXH_RTC1_INT_CONFIG_T_MASK 0x0000000000008000UL
4731#define UVXH_RTC1_INT_CONFIG_M_MASK 0x0000000000010000UL
4732#define UVXH_RTC1_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
4733
4734#define UV2H_RTC1_INT_CONFIG_VECTOR_SHFT 0
4735#define UV2H_RTC1_INT_CONFIG_DM_SHFT 8
4736#define UV2H_RTC1_INT_CONFIG_DESTMODE_SHFT 11
4737#define UV2H_RTC1_INT_CONFIG_STATUS_SHFT 12
4738#define UV2H_RTC1_INT_CONFIG_P_SHFT 13
4739#define UV2H_RTC1_INT_CONFIG_T_SHFT 15
4740#define UV2H_RTC1_INT_CONFIG_M_SHFT 16
4741#define UV2H_RTC1_INT_CONFIG_APIC_ID_SHFT 32
4742#define UV2H_RTC1_INT_CONFIG_VECTOR_MASK 0x00000000000000ffUL
4743#define UV2H_RTC1_INT_CONFIG_DM_MASK 0x0000000000000700UL
4744#define UV2H_RTC1_INT_CONFIG_DESTMODE_MASK 0x0000000000000800UL
4745#define UV2H_RTC1_INT_CONFIG_STATUS_MASK 0x0000000000001000UL
4746#define UV2H_RTC1_INT_CONFIG_P_MASK 0x0000000000002000UL
4747#define UV2H_RTC1_INT_CONFIG_T_MASK 0x0000000000008000UL
4748#define UV2H_RTC1_INT_CONFIG_M_MASK 0x0000000000010000UL
4749#define UV2H_RTC1_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
4750
4751#define UV3H_RTC1_INT_CONFIG_VECTOR_SHFT 0
4752#define UV3H_RTC1_INT_CONFIG_DM_SHFT 8
4753#define UV3H_RTC1_INT_CONFIG_DESTMODE_SHFT 11
4754#define UV3H_RTC1_INT_CONFIG_STATUS_SHFT 12
4755#define UV3H_RTC1_INT_CONFIG_P_SHFT 13
4756#define UV3H_RTC1_INT_CONFIG_T_SHFT 15
4757#define UV3H_RTC1_INT_CONFIG_M_SHFT 16
4758#define UV3H_RTC1_INT_CONFIG_APIC_ID_SHFT 32
4759#define UV3H_RTC1_INT_CONFIG_VECTOR_MASK 0x00000000000000ffUL
4760#define UV3H_RTC1_INT_CONFIG_DM_MASK 0x0000000000000700UL
4761#define UV3H_RTC1_INT_CONFIG_DESTMODE_MASK 0x0000000000000800UL
4762#define UV3H_RTC1_INT_CONFIG_STATUS_MASK 0x0000000000001000UL
4763#define UV3H_RTC1_INT_CONFIG_P_MASK 0x0000000000002000UL
4764#define UV3H_RTC1_INT_CONFIG_T_MASK 0x0000000000008000UL
4765#define UV3H_RTC1_INT_CONFIG_M_MASK 0x0000000000010000UL
4766#define UV3H_RTC1_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
4767
1895union uvh_rtc1_int_config_u { 4768union uvh_rtc1_int_config_u {
1896 unsigned long v; 4769 unsigned long v;
1897 struct uvh_rtc1_int_config_s { 4770 struct uvh_rtc1_int_config_s {
@@ -1906,29 +4779,176 @@ union uvh_rtc1_int_config_u {
1906 unsigned long rsvd_17_31:15; 4779 unsigned long rsvd_17_31:15;
1907 unsigned long apic_id:32; /* RW */ 4780 unsigned long apic_id:32; /* RW */
1908 } s; 4781 } s;
4782 struct uv1h_rtc1_int_config_s {
4783 unsigned long vector_:8; /* RW */
4784 unsigned long dm:3; /* RW */
4785 unsigned long destmode:1; /* RW */
4786 unsigned long status:1; /* RO */
4787 unsigned long p:1; /* RO */
4788 unsigned long rsvd_14:1;
4789 unsigned long t:1; /* RO */
4790 unsigned long m:1; /* RW */
4791 unsigned long rsvd_17_31:15;
4792 unsigned long apic_id:32; /* RW */
4793 } s1;
4794 struct uvxh_rtc1_int_config_s {
4795 unsigned long vector_:8; /* RW */
4796 unsigned long dm:3; /* RW */
4797 unsigned long destmode:1; /* RW */
4798 unsigned long status:1; /* RO */
4799 unsigned long p:1; /* RO */
4800 unsigned long rsvd_14:1;
4801 unsigned long t:1; /* RO */
4802 unsigned long m:1; /* RW */
4803 unsigned long rsvd_17_31:15;
4804 unsigned long apic_id:32; /* RW */
4805 } sx;
4806 struct uv2h_rtc1_int_config_s {
4807 unsigned long vector_:8; /* RW */
4808 unsigned long dm:3; /* RW */
4809 unsigned long destmode:1; /* RW */
4810 unsigned long status:1; /* RO */
4811 unsigned long p:1; /* RO */
4812 unsigned long rsvd_14:1;
4813 unsigned long t:1; /* RO */
4814 unsigned long m:1; /* RW */
4815 unsigned long rsvd_17_31:15;
4816 unsigned long apic_id:32; /* RW */
4817 } s2;
4818 struct uv3h_rtc1_int_config_s {
4819 unsigned long vector_:8; /* RW */
4820 unsigned long dm:3; /* RW */
4821 unsigned long destmode:1; /* RW */
4822 unsigned long status:1; /* RO */
4823 unsigned long p:1; /* RO */
4824 unsigned long rsvd_14:1;
4825 unsigned long t:1; /* RO */
4826 unsigned long m:1; /* RW */
4827 unsigned long rsvd_17_31:15;
4828 unsigned long apic_id:32; /* RW */
4829 } s3;
1909}; 4830};
1910 4831
1911/* ========================================================================= */ 4832/* ========================================================================= */
1912/* UVH_SCRATCH5 */ 4833/* UVH_SCRATCH5 */
1913/* ========================================================================= */ 4834/* ========================================================================= */
1914#define UVH_SCRATCH5 0x2d0200UL 4835#define UVH_SCRATCH5 0x2d0200UL
1915#define UVH_SCRATCH5_32 0x778 4836#define UV1H_SCRATCH5 0x2d0200UL
4837#define UV2H_SCRATCH5 0x2d0200UL
4838#define UV3H_SCRATCH5 0x2d0200UL
4839#define UVH_SCRATCH5_32 0x778
4840#define UV1H_SCRATCH5_32 0x2d0200UL
4841#define UV2H_SCRATCH5_32 0x2d0200UL
4842#define UV3H_SCRATCH5_32 0x2d0200UL
1916 4843
1917#define UVH_SCRATCH5_SCRATCH5_SHFT 0 4844#define UVH_SCRATCH5_SCRATCH5_SHFT 0
1918#define UVH_SCRATCH5_SCRATCH5_MASK 0xffffffffffffffffUL 4845#define UVH_SCRATCH5_SCRATCH5_MASK 0xffffffffffffffffUL
1919 4846
4847#define UV1H_SCRATCH5_SCRATCH5_SHFT 0
4848#define UV1H_SCRATCH5_SCRATCH5_MASK 0xffffffffffffffffUL
4849
4850#define UVXH_SCRATCH5_SCRATCH5_SHFT 0
4851#define UVXH_SCRATCH5_SCRATCH5_MASK 0xffffffffffffffffUL
4852
4853#define UV2H_SCRATCH5_SCRATCH5_SHFT 0
4854#define UV2H_SCRATCH5_SCRATCH5_MASK 0xffffffffffffffffUL
4855
4856#define UV3H_SCRATCH5_SCRATCH5_SHFT 0
4857#define UV3H_SCRATCH5_SCRATCH5_MASK 0xffffffffffffffffUL
4858
1920union uvh_scratch5_u { 4859union uvh_scratch5_u {
1921 unsigned long v; 4860 unsigned long v;
1922 struct uvh_scratch5_s { 4861 struct uvh_scratch5_s {
1923 unsigned long scratch5:64; /* RW, W1CS */ 4862 unsigned long scratch5:64; /* RW, W1CS */
1924 } s; 4863 } s;
4864 struct uv1h_scratch5_s {
4865 unsigned long scratch5:64; /* RW, W1CS */
4866 } s1;
4867 struct uvxh_scratch5_s {
4868 unsigned long scratch5:64; /* RW */
4869 } sx;
4870 struct uv2h_scratch5_s {
4871 unsigned long scratch5:64; /* RW */
4872 } s2;
4873 struct uv3h_scratch5_s {
4874 unsigned long scratch5:64; /* RW */
4875 } s3;
1925}; 4876};
1926 4877
1927/* ========================================================================= */ 4878/* ========================================================================= */
1928/* UV2H_EVENT_OCCURRED2 */ 4879/* UVXH_EVENT_OCCURRED2 */
1929/* ========================================================================= */ 4880/* ========================================================================= */
1930#define UV2H_EVENT_OCCURRED2 0x70100UL 4881#define UVXH_EVENT_OCCURRED2 0x70100UL
1931#define UV2H_EVENT_OCCURRED2_32 0xb68 4882#define UV2H_EVENT_OCCURRED2 0x70100UL
4883#define UV3H_EVENT_OCCURRED2 0x70100UL
4884#define UVXH_EVENT_OCCURRED2_32 0xb68
4885#define UV2H_EVENT_OCCURRED2_32 0x70100UL
4886#define UV3H_EVENT_OCCURRED2_32 0x70100UL
4887
4888#define UVXH_EVENT_OCCURRED2_RTC_0_SHFT 0
4889#define UVXH_EVENT_OCCURRED2_RTC_1_SHFT 1
4890#define UVXH_EVENT_OCCURRED2_RTC_2_SHFT 2
4891#define UVXH_EVENT_OCCURRED2_RTC_3_SHFT 3
4892#define UVXH_EVENT_OCCURRED2_RTC_4_SHFT 4
4893#define UVXH_EVENT_OCCURRED2_RTC_5_SHFT 5
4894#define UVXH_EVENT_OCCURRED2_RTC_6_SHFT 6
4895#define UVXH_EVENT_OCCURRED2_RTC_7_SHFT 7
4896#define UVXH_EVENT_OCCURRED2_RTC_8_SHFT 8
4897#define UVXH_EVENT_OCCURRED2_RTC_9_SHFT 9
4898#define UVXH_EVENT_OCCURRED2_RTC_10_SHFT 10
4899#define UVXH_EVENT_OCCURRED2_RTC_11_SHFT 11
4900#define UVXH_EVENT_OCCURRED2_RTC_12_SHFT 12
4901#define UVXH_EVENT_OCCURRED2_RTC_13_SHFT 13
4902#define UVXH_EVENT_OCCURRED2_RTC_14_SHFT 14
4903#define UVXH_EVENT_OCCURRED2_RTC_15_SHFT 15
4904#define UVXH_EVENT_OCCURRED2_RTC_16_SHFT 16
4905#define UVXH_EVENT_OCCURRED2_RTC_17_SHFT 17
4906#define UVXH_EVENT_OCCURRED2_RTC_18_SHFT 18
4907#define UVXH_EVENT_OCCURRED2_RTC_19_SHFT 19
4908#define UVXH_EVENT_OCCURRED2_RTC_20_SHFT 20
4909#define UVXH_EVENT_OCCURRED2_RTC_21_SHFT 21
4910#define UVXH_EVENT_OCCURRED2_RTC_22_SHFT 22
4911#define UVXH_EVENT_OCCURRED2_RTC_23_SHFT 23
4912#define UVXH_EVENT_OCCURRED2_RTC_24_SHFT 24
4913#define UVXH_EVENT_OCCURRED2_RTC_25_SHFT 25
4914#define UVXH_EVENT_OCCURRED2_RTC_26_SHFT 26
4915#define UVXH_EVENT_OCCURRED2_RTC_27_SHFT 27
4916#define UVXH_EVENT_OCCURRED2_RTC_28_SHFT 28
4917#define UVXH_EVENT_OCCURRED2_RTC_29_SHFT 29
4918#define UVXH_EVENT_OCCURRED2_RTC_30_SHFT 30
4919#define UVXH_EVENT_OCCURRED2_RTC_31_SHFT 31
4920#define UVXH_EVENT_OCCURRED2_RTC_0_MASK 0x0000000000000001UL
4921#define UVXH_EVENT_OCCURRED2_RTC_1_MASK 0x0000000000000002UL
4922#define UVXH_EVENT_OCCURRED2_RTC_2_MASK 0x0000000000000004UL
4923#define UVXH_EVENT_OCCURRED2_RTC_3_MASK 0x0000000000000008UL
4924#define UVXH_EVENT_OCCURRED2_RTC_4_MASK 0x0000000000000010UL
4925#define UVXH_EVENT_OCCURRED2_RTC_5_MASK 0x0000000000000020UL
4926#define UVXH_EVENT_OCCURRED2_RTC_6_MASK 0x0000000000000040UL
4927#define UVXH_EVENT_OCCURRED2_RTC_7_MASK 0x0000000000000080UL
4928#define UVXH_EVENT_OCCURRED2_RTC_8_MASK 0x0000000000000100UL
4929#define UVXH_EVENT_OCCURRED2_RTC_9_MASK 0x0000000000000200UL
4930#define UVXH_EVENT_OCCURRED2_RTC_10_MASK 0x0000000000000400UL
4931#define UVXH_EVENT_OCCURRED2_RTC_11_MASK 0x0000000000000800UL
4932#define UVXH_EVENT_OCCURRED2_RTC_12_MASK 0x0000000000001000UL
4933#define UVXH_EVENT_OCCURRED2_RTC_13_MASK 0x0000000000002000UL
4934#define UVXH_EVENT_OCCURRED2_RTC_14_MASK 0x0000000000004000UL
4935#define UVXH_EVENT_OCCURRED2_RTC_15_MASK 0x0000000000008000UL
4936#define UVXH_EVENT_OCCURRED2_RTC_16_MASK 0x0000000000010000UL
4937#define UVXH_EVENT_OCCURRED2_RTC_17_MASK 0x0000000000020000UL
4938#define UVXH_EVENT_OCCURRED2_RTC_18_MASK 0x0000000000040000UL
4939#define UVXH_EVENT_OCCURRED2_RTC_19_MASK 0x0000000000080000UL
4940#define UVXH_EVENT_OCCURRED2_RTC_20_MASK 0x0000000000100000UL
4941#define UVXH_EVENT_OCCURRED2_RTC_21_MASK 0x0000000000200000UL
4942#define UVXH_EVENT_OCCURRED2_RTC_22_MASK 0x0000000000400000UL
4943#define UVXH_EVENT_OCCURRED2_RTC_23_MASK 0x0000000000800000UL
4944#define UVXH_EVENT_OCCURRED2_RTC_24_MASK 0x0000000001000000UL
4945#define UVXH_EVENT_OCCURRED2_RTC_25_MASK 0x0000000002000000UL
4946#define UVXH_EVENT_OCCURRED2_RTC_26_MASK 0x0000000004000000UL
4947#define UVXH_EVENT_OCCURRED2_RTC_27_MASK 0x0000000008000000UL
4948#define UVXH_EVENT_OCCURRED2_RTC_28_MASK 0x0000000010000000UL
4949#define UVXH_EVENT_OCCURRED2_RTC_29_MASK 0x0000000020000000UL
4950#define UVXH_EVENT_OCCURRED2_RTC_30_MASK 0x0000000040000000UL
4951#define UVXH_EVENT_OCCURRED2_RTC_31_MASK 0x0000000080000000UL
1932 4952
1933#define UV2H_EVENT_OCCURRED2_RTC_0_SHFT 0 4953#define UV2H_EVENT_OCCURRED2_RTC_0_SHFT 0
1934#define UV2H_EVENT_OCCURRED2_RTC_1_SHFT 1 4954#define UV2H_EVENT_OCCURRED2_RTC_1_SHFT 1
@@ -1995,8 +5015,108 @@ union uvh_scratch5_u {
1995#define UV2H_EVENT_OCCURRED2_RTC_30_MASK 0x0000000040000000UL 5015#define UV2H_EVENT_OCCURRED2_RTC_30_MASK 0x0000000040000000UL
1996#define UV2H_EVENT_OCCURRED2_RTC_31_MASK 0x0000000080000000UL 5016#define UV2H_EVENT_OCCURRED2_RTC_31_MASK 0x0000000080000000UL
1997 5017
1998union uv2h_event_occurred2_u { 5018#define UV3H_EVENT_OCCURRED2_RTC_0_SHFT 0
5019#define UV3H_EVENT_OCCURRED2_RTC_1_SHFT 1
5020#define UV3H_EVENT_OCCURRED2_RTC_2_SHFT 2
5021#define UV3H_EVENT_OCCURRED2_RTC_3_SHFT 3
5022#define UV3H_EVENT_OCCURRED2_RTC_4_SHFT 4
5023#define UV3H_EVENT_OCCURRED2_RTC_5_SHFT 5
5024#define UV3H_EVENT_OCCURRED2_RTC_6_SHFT 6
5025#define UV3H_EVENT_OCCURRED2_RTC_7_SHFT 7
5026#define UV3H_EVENT_OCCURRED2_RTC_8_SHFT 8
5027#define UV3H_EVENT_OCCURRED2_RTC_9_SHFT 9
5028#define UV3H_EVENT_OCCURRED2_RTC_10_SHFT 10
5029#define UV3H_EVENT_OCCURRED2_RTC_11_SHFT 11
5030#define UV3H_EVENT_OCCURRED2_RTC_12_SHFT 12
5031#define UV3H_EVENT_OCCURRED2_RTC_13_SHFT 13
5032#define UV3H_EVENT_OCCURRED2_RTC_14_SHFT 14
5033#define UV3H_EVENT_OCCURRED2_RTC_15_SHFT 15
5034#define UV3H_EVENT_OCCURRED2_RTC_16_SHFT 16
5035#define UV3H_EVENT_OCCURRED2_RTC_17_SHFT 17
5036#define UV3H_EVENT_OCCURRED2_RTC_18_SHFT 18
5037#define UV3H_EVENT_OCCURRED2_RTC_19_SHFT 19
5038#define UV3H_EVENT_OCCURRED2_RTC_20_SHFT 20
5039#define UV3H_EVENT_OCCURRED2_RTC_21_SHFT 21
5040#define UV3H_EVENT_OCCURRED2_RTC_22_SHFT 22
5041#define UV3H_EVENT_OCCURRED2_RTC_23_SHFT 23
5042#define UV3H_EVENT_OCCURRED2_RTC_24_SHFT 24
5043#define UV3H_EVENT_OCCURRED2_RTC_25_SHFT 25
5044#define UV3H_EVENT_OCCURRED2_RTC_26_SHFT 26
5045#define UV3H_EVENT_OCCURRED2_RTC_27_SHFT 27
5046#define UV3H_EVENT_OCCURRED2_RTC_28_SHFT 28
5047#define UV3H_EVENT_OCCURRED2_RTC_29_SHFT 29
5048#define UV3H_EVENT_OCCURRED2_RTC_30_SHFT 30
5049#define UV3H_EVENT_OCCURRED2_RTC_31_SHFT 31
5050#define UV3H_EVENT_OCCURRED2_RTC_0_MASK 0x0000000000000001UL
5051#define UV3H_EVENT_OCCURRED2_RTC_1_MASK 0x0000000000000002UL
5052#define UV3H_EVENT_OCCURRED2_RTC_2_MASK 0x0000000000000004UL
5053#define UV3H_EVENT_OCCURRED2_RTC_3_MASK 0x0000000000000008UL
5054#define UV3H_EVENT_OCCURRED2_RTC_4_MASK 0x0000000000000010UL
5055#define UV3H_EVENT_OCCURRED2_RTC_5_MASK 0x0000000000000020UL
5056#define UV3H_EVENT_OCCURRED2_RTC_6_MASK 0x0000000000000040UL
5057#define UV3H_EVENT_OCCURRED2_RTC_7_MASK 0x0000000000000080UL
5058#define UV3H_EVENT_OCCURRED2_RTC_8_MASK 0x0000000000000100UL
5059#define UV3H_EVENT_OCCURRED2_RTC_9_MASK 0x0000000000000200UL
5060#define UV3H_EVENT_OCCURRED2_RTC_10_MASK 0x0000000000000400UL
5061#define UV3H_EVENT_OCCURRED2_RTC_11_MASK 0x0000000000000800UL
5062#define UV3H_EVENT_OCCURRED2_RTC_12_MASK 0x0000000000001000UL
5063#define UV3H_EVENT_OCCURRED2_RTC_13_MASK 0x0000000000002000UL
5064#define UV3H_EVENT_OCCURRED2_RTC_14_MASK 0x0000000000004000UL
5065#define UV3H_EVENT_OCCURRED2_RTC_15_MASK 0x0000000000008000UL
5066#define UV3H_EVENT_OCCURRED2_RTC_16_MASK 0x0000000000010000UL
5067#define UV3H_EVENT_OCCURRED2_RTC_17_MASK 0x0000000000020000UL
5068#define UV3H_EVENT_OCCURRED2_RTC_18_MASK 0x0000000000040000UL
5069#define UV3H_EVENT_OCCURRED2_RTC_19_MASK 0x0000000000080000UL
5070#define UV3H_EVENT_OCCURRED2_RTC_20_MASK 0x0000000000100000UL
5071#define UV3H_EVENT_OCCURRED2_RTC_21_MASK 0x0000000000200000UL
5072#define UV3H_EVENT_OCCURRED2_RTC_22_MASK 0x0000000000400000UL
5073#define UV3H_EVENT_OCCURRED2_RTC_23_MASK 0x0000000000800000UL
5074#define UV3H_EVENT_OCCURRED2_RTC_24_MASK 0x0000000001000000UL
5075#define UV3H_EVENT_OCCURRED2_RTC_25_MASK 0x0000000002000000UL
5076#define UV3H_EVENT_OCCURRED2_RTC_26_MASK 0x0000000004000000UL
5077#define UV3H_EVENT_OCCURRED2_RTC_27_MASK 0x0000000008000000UL
5078#define UV3H_EVENT_OCCURRED2_RTC_28_MASK 0x0000000010000000UL
5079#define UV3H_EVENT_OCCURRED2_RTC_29_MASK 0x0000000020000000UL
5080#define UV3H_EVENT_OCCURRED2_RTC_30_MASK 0x0000000040000000UL
5081#define UV3H_EVENT_OCCURRED2_RTC_31_MASK 0x0000000080000000UL
5082
5083union uvxh_event_occurred2_u {
1999 unsigned long v; 5084 unsigned long v;
5085 struct uvxh_event_occurred2_s {
5086 unsigned long rtc_0:1; /* RW */
5087 unsigned long rtc_1:1; /* RW */
5088 unsigned long rtc_2:1; /* RW */
5089 unsigned long rtc_3:1; /* RW */
5090 unsigned long rtc_4:1; /* RW */
5091 unsigned long rtc_5:1; /* RW */
5092 unsigned long rtc_6:1; /* RW */
5093 unsigned long rtc_7:1; /* RW */
5094 unsigned long rtc_8:1; /* RW */
5095 unsigned long rtc_9:1; /* RW */
5096 unsigned long rtc_10:1; /* RW */
5097 unsigned long rtc_11:1; /* RW */
5098 unsigned long rtc_12:1; /* RW */
5099 unsigned long rtc_13:1; /* RW */
5100 unsigned long rtc_14:1; /* RW */
5101 unsigned long rtc_15:1; /* RW */
5102 unsigned long rtc_16:1; /* RW */
5103 unsigned long rtc_17:1; /* RW */
5104 unsigned long rtc_18:1; /* RW */
5105 unsigned long rtc_19:1; /* RW */
5106 unsigned long rtc_20:1; /* RW */
5107 unsigned long rtc_21:1; /* RW */
5108 unsigned long rtc_22:1; /* RW */
5109 unsigned long rtc_23:1; /* RW */
5110 unsigned long rtc_24:1; /* RW */
5111 unsigned long rtc_25:1; /* RW */
5112 unsigned long rtc_26:1; /* RW */
5113 unsigned long rtc_27:1; /* RW */
5114 unsigned long rtc_28:1; /* RW */
5115 unsigned long rtc_29:1; /* RW */
5116 unsigned long rtc_30:1; /* RW */
5117 unsigned long rtc_31:1; /* RW */
5118 unsigned long rsvd_32_63:32;
5119 } sx;
2000 struct uv2h_event_occurred2_s { 5120 struct uv2h_event_occurred2_s {
2001 unsigned long rtc_0:1; /* RW */ 5121 unsigned long rtc_0:1; /* RW */
2002 unsigned long rtc_1:1; /* RW */ 5122 unsigned long rtc_1:1; /* RW */
@@ -2031,29 +5151,85 @@ union uv2h_event_occurred2_u {
2031 unsigned long rtc_30:1; /* RW */ 5151 unsigned long rtc_30:1; /* RW */
2032 unsigned long rtc_31:1; /* RW */ 5152 unsigned long rtc_31:1; /* RW */
2033 unsigned long rsvd_32_63:32; 5153 unsigned long rsvd_32_63:32;
2034 } s1; 5154 } s2;
5155 struct uv3h_event_occurred2_s {
5156 unsigned long rtc_0:1; /* RW */
5157 unsigned long rtc_1:1; /* RW */
5158 unsigned long rtc_2:1; /* RW */
5159 unsigned long rtc_3:1; /* RW */
5160 unsigned long rtc_4:1; /* RW */
5161 unsigned long rtc_5:1; /* RW */
5162 unsigned long rtc_6:1; /* RW */
5163 unsigned long rtc_7:1; /* RW */
5164 unsigned long rtc_8:1; /* RW */
5165 unsigned long rtc_9:1; /* RW */
5166 unsigned long rtc_10:1; /* RW */
5167 unsigned long rtc_11:1; /* RW */
5168 unsigned long rtc_12:1; /* RW */
5169 unsigned long rtc_13:1; /* RW */
5170 unsigned long rtc_14:1; /* RW */
5171 unsigned long rtc_15:1; /* RW */
5172 unsigned long rtc_16:1; /* RW */
5173 unsigned long rtc_17:1; /* RW */
5174 unsigned long rtc_18:1; /* RW */
5175 unsigned long rtc_19:1; /* RW */
5176 unsigned long rtc_20:1; /* RW */
5177 unsigned long rtc_21:1; /* RW */
5178 unsigned long rtc_22:1; /* RW */
5179 unsigned long rtc_23:1; /* RW */
5180 unsigned long rtc_24:1; /* RW */
5181 unsigned long rtc_25:1; /* RW */
5182 unsigned long rtc_26:1; /* RW */
5183 unsigned long rtc_27:1; /* RW */
5184 unsigned long rtc_28:1; /* RW */
5185 unsigned long rtc_29:1; /* RW */
5186 unsigned long rtc_30:1; /* RW */
5187 unsigned long rtc_31:1; /* RW */
5188 unsigned long rsvd_32_63:32;
5189 } s3;
2035}; 5190};
2036 5191
2037/* ========================================================================= */ 5192/* ========================================================================= */
2038/* UV2H_EVENT_OCCURRED2_ALIAS */ 5193/* UVXH_EVENT_OCCURRED2_ALIAS */
2039/* ========================================================================= */ 5194/* ========================================================================= */
2040#define UV2H_EVENT_OCCURRED2_ALIAS 0x70108UL 5195#define UVXH_EVENT_OCCURRED2_ALIAS 0x70108UL
2041#define UV2H_EVENT_OCCURRED2_ALIAS_32 0xb70 5196#define UV2H_EVENT_OCCURRED2_ALIAS 0x70108UL
5197#define UV3H_EVENT_OCCURRED2_ALIAS 0x70108UL
5198#define UVXH_EVENT_OCCURRED2_ALIAS_32 0xb70
5199#define UV2H_EVENT_OCCURRED2_ALIAS_32 0x70108UL
5200#define UV3H_EVENT_OCCURRED2_ALIAS_32 0x70108UL
5201
2042 5202
2043/* ========================================================================= */ 5203/* ========================================================================= */
2044/* UV2H_LB_BAU_SB_ACTIVATION_STATUS_2 */ 5204/* UVXH_LB_BAU_SB_ACTIVATION_STATUS_2 */
2045/* ========================================================================= */ 5205/* ========================================================================= */
2046#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL 5206#define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL
2047#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x9f0 5207#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL
5208#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL
5209#define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x9f0
5210#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x320130UL
5211#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x320130UL
5212
5213#define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0
5214#define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL
2048 5215
2049#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0 5216#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0
2050#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL 5217#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL
2051 5218
2052union uv2h_lb_bau_sb_activation_status_2_u { 5219#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0
5220#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL
5221
5222union uvxh_lb_bau_sb_activation_status_2_u {
2053 unsigned long v; 5223 unsigned long v;
5224 struct uvxh_lb_bau_sb_activation_status_2_s {
5225 unsigned long aux_error:64; /* RW */
5226 } sx;
2054 struct uv2h_lb_bau_sb_activation_status_2_s { 5227 struct uv2h_lb_bau_sb_activation_status_2_s {
2055 unsigned long aux_error:64; /* RW */ 5228 unsigned long aux_error:64; /* RW */
2056 } s1; 5229 } s2;
5230 struct uv3h_lb_bau_sb_activation_status_2_s {
5231 unsigned long aux_error:64; /* RW */
5232 } s3;
2057}; 5233};
2058 5234
2059/* ========================================================================= */ 5235/* ========================================================================= */
@@ -2073,5 +5249,87 @@ union uv1h_lb_target_physical_apic_id_mask_u {
2073 } s1; 5249 } s1;
2074}; 5250};
2075 5251
5252/* ========================================================================= */
5253/* UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR */
5254/* ========================================================================= */
5255#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR 0x1603000UL
5256
5257#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_BASE_SHFT 26
5258#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_SHFT 46
5259#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_ENABLE_SHFT 63
5260#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_BASE_MASK 0x00003ffffc000000UL
5261#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_MASK 0x000fc00000000000UL
5262#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_ENABLE_MASK 0x8000000000000000UL
5263
5264union uv3h_rh_gam_mmioh_overlay_config0_mmr_u {
5265 unsigned long v;
5266 struct uv3h_rh_gam_mmioh_overlay_config0_mmr_s {
5267 unsigned long rsvd_0_25:26;
5268 unsigned long base:20; /* RW */
5269 unsigned long m_io:6; /* RW */
5270 unsigned long n_io:4;
5271 unsigned long rsvd_56_62:7;
5272 unsigned long enable:1; /* RW */
5273 } s3;
5274};
5275
5276/* ========================================================================= */
5277/* UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR */
5278/* ========================================================================= */
5279#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR 0x1604000UL
5280
5281#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_BASE_SHFT 26
5282#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_SHFT 46
5283#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_ENABLE_SHFT 63
5284#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_BASE_MASK 0x00003ffffc000000UL
5285#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_MASK 0x000fc00000000000UL
5286#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_ENABLE_MASK 0x8000000000000000UL
5287
5288union uv3h_rh_gam_mmioh_overlay_config1_mmr_u {
5289 unsigned long v;
5290 struct uv3h_rh_gam_mmioh_overlay_config1_mmr_s {
5291 unsigned long rsvd_0_25:26;
5292 unsigned long base:20; /* RW */
5293 unsigned long m_io:6; /* RW */
5294 unsigned long n_io:4;
5295 unsigned long rsvd_56_62:7;
5296 unsigned long enable:1; /* RW */
5297 } s3;
5298};
5299
5300/* ========================================================================= */
5301/* UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR */
5302/* ========================================================================= */
5303#define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR 0x1603800UL
5304#define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_DEPTH 128
5305
5306#define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_NASID_SHFT 0
5307#define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_NASID_MASK 0x0000000000007fffUL
5308
5309union uv3h_rh_gam_mmioh_redirect_config0_mmr_u {
5310 unsigned long v;
5311 struct uv3h_rh_gam_mmioh_redirect_config0_mmr_s {
5312 unsigned long nasid:15; /* RW */
5313 unsigned long rsvd_15_63:49;
5314 } s3;
5315};
5316
5317/* ========================================================================= */
5318/* UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR */
5319/* ========================================================================= */
5320#define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR 0x1604800UL
5321#define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_DEPTH 128
5322
5323#define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_NASID_SHFT 0
5324#define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_NASID_MASK 0x0000000000007fffUL
5325
5326union uv3h_rh_gam_mmioh_redirect_config1_mmr_u {
5327 unsigned long v;
5328 struct uv3h_rh_gam_mmioh_redirect_config1_mmr_s {
5329 unsigned long nasid:15; /* RW */
5330 unsigned long rsvd_15_63:49;
5331 } s3;
5332};
5333
2076 5334
2077#endif /* _ASM_X86_UV_UV_MMRS_H */ 5335#endif /* _ASM_X86_UV_UV_MMRS_H */