aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/uv
diff options
context:
space:
mode:
authorMike Travis <travis@sgi.com>2016-04-29 17:54:08 -0400
committerIngo Molnar <mingo@kernel.org>2016-05-04 02:48:48 -0400
commit0f0d84c08d38cc4c61fc04f94db0713aa82a39bc (patch)
treec0760b18d38b8b3219e98c656d4deb1a5a1f813e /arch/x86/include/asm/uv
parentc443c03dd0d97620022483be6705ff611695a29c (diff)
x86/platform/UV: Add UV4 Specific MMR definitions
This adds the MMR definitions for UV4 via an automated script that uses the output from a hardware verilog code to symbol converter. The large number of insertions is caused by the UV4 design changing many similarly named fields in MMR's that are named the same. This prompted the extra production of architecture dependent field defines. Tested-by: John Estabrook <estabrook@sgi.com> Tested-by: Gary Kroening <gfk@sgi.com> Tested-by: Nathan Zimmer <nzimmer@sgi.com> Signed-off-by: Mike Travis <travis@sgi.com> Cc: Andrew Banman <abanman@sgi.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Borislav Petkov <bp@alien8.de> Cc: Brian Gerst <brgerst@gmail.com> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: Dimitri Sivanich <sivanich@sgi.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Len Brown <len.brown@intel.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Russ Anderson <rja@sgi.com> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20160429215403.580158916@asylum.americas.sgi.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/include/asm/uv')
-rw-r--r--arch/x86/include/asm/uv/uv_mmrs.h2191
1 files changed, 1769 insertions, 422 deletions
diff --git a/arch/x86/include/asm/uv/uv_mmrs.h b/arch/x86/include/asm/uv/uv_mmrs.h
index 455cc2983544..548d684a7960 100644
--- a/arch/x86/include/asm/uv/uv_mmrs.h
+++ b/arch/x86/include/asm/uv/uv_mmrs.h
@@ -5,7 +5,7 @@
5 * 5 *
6 * SGI UV MMR definitions 6 * SGI UV MMR definitions
7 * 7 *
8 * Copyright (C) 2007-2015 Silicon Graphics, Inc. All rights reserved. 8 * Copyright (C) 2007-2016 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
@@ -33,7 +33,8 @@
33 * } s; 33 * } s;
34 * }; 34 * };
35 * 35 *
36 * If the MMR exists on all hub types but have different addresses: 36 * If the MMR exists on all hub types but have different addresses,
37 * use a conditional operator to define the value at runtime.
37 * #define UV1Hxxx a 38 * #define UV1Hxxx a
38 * #define UV2Hxxx b 39 * #define UV2Hxxx b
39 * #define UV3Hxxx c 40 * #define UV3Hxxx c
@@ -43,7 +44,8 @@
43 * (is_uv3_hub() ? UV3Hxxx : 44 * (is_uv3_hub() ? UV3Hxxx :
44 * UV4Hxxx)) 45 * UV4Hxxx))
45 * 46 *
46 * If the MMR exists on all hub types > 1 but have different addresses: 47 * If the MMR exists on all hub types > 1 but have different addresses, the
48 * variation using "UVX" as the prefix exists.
47 * #define UV2Hxxx b 49 * #define UV2Hxxx b
48 * #define UV3Hxxx c 50 * #define UV3Hxxx c
49 * #define UV4Hxxx d 51 * #define UV4Hxxx d
@@ -80,7 +82,7 @@
80 * } sn; 82 * } sn;
81 * }; 83 * };
82 * 84 *
83 * (GEN Flags: mflags_opt= undefs=1 UV234=UVXH) 85 * (GEN Flags: mflags_opt= undefs=function UV234=UVXH)
84 */ 86 */
85 87
86#define UV_MMR_ENABLE (1UL << 63) 88#define UV_MMR_ENABLE (1UL << 63)
@@ -96,17 +98,30 @@
96#define UV1_HUB_IS_SUPPORTED 1 98#define UV1_HUB_IS_SUPPORTED 1
97#define UV2_HUB_IS_SUPPORTED 1 99#define UV2_HUB_IS_SUPPORTED 1
98#define UV3_HUB_IS_SUPPORTED 1 100#define UV3_HUB_IS_SUPPORTED 1
99/* #define UV4_HUB_IS_SUPPORTED 1 (not yet) */ 101#define UV4_HUB_IS_SUPPORTED 1
102
103/* Error function to catch undefined references */
104extern unsigned long uv_undefined(char *str);
100 105
101/* ========================================================================= */ 106/* ========================================================================= */
102/* UVH_BAU_DATA_BROADCAST */ 107/* UVH_BAU_DATA_BROADCAST */
103/* ========================================================================= */ 108/* ========================================================================= */
104#define UVH_BAU_DATA_BROADCAST 0x61688UL 109#define UVH_BAU_DATA_BROADCAST 0x61688UL
105#define UVH_BAU_DATA_BROADCAST_32 0x440 110
111#define UV1H_BAU_DATA_BROADCAST_32 0x440
112#define UV2H_BAU_DATA_BROADCAST_32 0x440
113#define UV3H_BAU_DATA_BROADCAST_32 0x440
114#define UV4H_BAU_DATA_BROADCAST_32 0x360
115#define UVH_BAU_DATA_BROADCAST_32 ( \
116 is_uv1_hub() ? UV1H_BAU_DATA_BROADCAST_32 : \
117 is_uv2_hub() ? UV2H_BAU_DATA_BROADCAST_32 : \
118 is_uv3_hub() ? UV3H_BAU_DATA_BROADCAST_32 : \
119 /*is_uv4_hub*/ UV4H_BAU_DATA_BROADCAST_32)
106 120
107#define UVH_BAU_DATA_BROADCAST_ENABLE_SHFT 0 121#define UVH_BAU_DATA_BROADCAST_ENABLE_SHFT 0
108#define UVH_BAU_DATA_BROADCAST_ENABLE_MASK 0x0000000000000001UL 122#define UVH_BAU_DATA_BROADCAST_ENABLE_MASK 0x0000000000000001UL
109 123
124
110union uvh_bau_data_broadcast_u { 125union uvh_bau_data_broadcast_u {
111 unsigned long v; 126 unsigned long v;
112 struct uvh_bau_data_broadcast_s { 127 struct uvh_bau_data_broadcast_s {
@@ -119,7 +134,16 @@ union uvh_bau_data_broadcast_u {
119/* UVH_BAU_DATA_CONFIG */ 134/* UVH_BAU_DATA_CONFIG */
120/* ========================================================================= */ 135/* ========================================================================= */
121#define UVH_BAU_DATA_CONFIG 0x61680UL 136#define UVH_BAU_DATA_CONFIG 0x61680UL
122#define UVH_BAU_DATA_CONFIG_32 0x438 137
138#define UV1H_BAU_DATA_CONFIG_32 0x438
139#define UV2H_BAU_DATA_CONFIG_32 0x438
140#define UV3H_BAU_DATA_CONFIG_32 0x438
141#define UV4H_BAU_DATA_CONFIG_32 0x358
142#define UVH_BAU_DATA_CONFIG_32 ( \
143 is_uv1_hub() ? UV1H_BAU_DATA_CONFIG_32 : \
144 is_uv2_hub() ? UV2H_BAU_DATA_CONFIG_32 : \
145 is_uv3_hub() ? UV3H_BAU_DATA_CONFIG_32 : \
146 /*is_uv4_hub*/ UV4H_BAU_DATA_CONFIG_32)
123 147
124#define UVH_BAU_DATA_CONFIG_VECTOR_SHFT 0 148#define UVH_BAU_DATA_CONFIG_VECTOR_SHFT 0
125#define UVH_BAU_DATA_CONFIG_DM_SHFT 8 149#define UVH_BAU_DATA_CONFIG_DM_SHFT 8
@@ -138,6 +162,7 @@ union uvh_bau_data_broadcast_u {
138#define UVH_BAU_DATA_CONFIG_M_MASK 0x0000000000010000UL 162#define UVH_BAU_DATA_CONFIG_M_MASK 0x0000000000010000UL
139#define UVH_BAU_DATA_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 163#define UVH_BAU_DATA_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
140 164
165
141union uvh_bau_data_config_u { 166union uvh_bau_data_config_u {
142 unsigned long v; 167 unsigned long v;
143 struct uvh_bau_data_config_s { 168 struct uvh_bau_data_config_s {
@@ -276,7 +301,6 @@ union uvh_bau_data_config_u {
276#define UV1H_EVENT_OCCURRED0_BAU_DATA_MASK 0x0080000000000000UL 301#define UV1H_EVENT_OCCURRED0_BAU_DATA_MASK 0x0080000000000000UL
277#define UV1H_EVENT_OCCURRED0_POWER_MANAGEMENT_REQ_MASK 0x0100000000000000UL 302#define UV1H_EVENT_OCCURRED0_POWER_MANAGEMENT_REQ_MASK 0x0100000000000000UL
278 303
279#define UVXH_EVENT_OCCURRED0_QP_HCERR_SHFT 1
280#define UVXH_EVENT_OCCURRED0_RH_HCERR_SHFT 2 304#define UVXH_EVENT_OCCURRED0_RH_HCERR_SHFT 2
281#define UVXH_EVENT_OCCURRED0_LH0_HCERR_SHFT 3 305#define UVXH_EVENT_OCCURRED0_LH0_HCERR_SHFT 3
282#define UVXH_EVENT_OCCURRED0_LH1_HCERR_SHFT 4 306#define UVXH_EVENT_OCCURRED0_LH1_HCERR_SHFT 4
@@ -285,55 +309,11 @@ union uvh_bau_data_config_u {
285#define UVXH_EVENT_OCCURRED0_NI0_HCERR_SHFT 7 309#define UVXH_EVENT_OCCURRED0_NI0_HCERR_SHFT 7
286#define UVXH_EVENT_OCCURRED0_NI1_HCERR_SHFT 8 310#define UVXH_EVENT_OCCURRED0_NI1_HCERR_SHFT 8
287#define UVXH_EVENT_OCCURRED0_LB_AOERR0_SHFT 9 311#define UVXH_EVENT_OCCURRED0_LB_AOERR0_SHFT 9
288#define UVXH_EVENT_OCCURRED0_QP_AOERR0_SHFT 10
289#define UVXH_EVENT_OCCURRED0_LH0_AOERR0_SHFT 12 312#define UVXH_EVENT_OCCURRED0_LH0_AOERR0_SHFT 12
290#define UVXH_EVENT_OCCURRED0_LH1_AOERR0_SHFT 13 313#define UVXH_EVENT_OCCURRED0_LH1_AOERR0_SHFT 13
291#define UVXH_EVENT_OCCURRED0_GR0_AOERR0_SHFT 14 314#define UVXH_EVENT_OCCURRED0_GR0_AOERR0_SHFT 14
292#define UVXH_EVENT_OCCURRED0_GR1_AOERR0_SHFT 15 315#define UVXH_EVENT_OCCURRED0_GR1_AOERR0_SHFT 15
293#define UVXH_EVENT_OCCURRED0_XB_AOERR0_SHFT 16 316#define UVXH_EVENT_OCCURRED0_XB_AOERR0_SHFT 16
294#define UVXH_EVENT_OCCURRED0_RT_AOERR0_SHFT 17
295#define UVXH_EVENT_OCCURRED0_NI0_AOERR0_SHFT 18
296#define UVXH_EVENT_OCCURRED0_NI1_AOERR0_SHFT 19
297#define UVXH_EVENT_OCCURRED0_LB_AOERR1_SHFT 20
298#define UVXH_EVENT_OCCURRED0_QP_AOERR1_SHFT 21
299#define UVXH_EVENT_OCCURRED0_RH_AOERR1_SHFT 22
300#define UVXH_EVENT_OCCURRED0_LH0_AOERR1_SHFT 23
301#define UVXH_EVENT_OCCURRED0_LH1_AOERR1_SHFT 24
302#define UVXH_EVENT_OCCURRED0_GR0_AOERR1_SHFT 25
303#define UVXH_EVENT_OCCURRED0_GR1_AOERR1_SHFT 26
304#define UVXH_EVENT_OCCURRED0_XB_AOERR1_SHFT 27
305#define UVXH_EVENT_OCCURRED0_RT_AOERR1_SHFT 28
306#define UVXH_EVENT_OCCURRED0_NI0_AOERR1_SHFT 29
307#define UVXH_EVENT_OCCURRED0_NI1_AOERR1_SHFT 30
308#define UVXH_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT 31
309#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT 32
310#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT 33
311#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT 34
312#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT 35
313#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT 36
314#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT 37
315#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT 38
316#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT 39
317#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT 40
318#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT 41
319#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT 42
320#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT 43
321#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT 44
322#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT 45
323#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT 46
324#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT 47
325#define UVXH_EVENT_OCCURRED0_L1_NMI_INT_SHFT 48
326#define UVXH_EVENT_OCCURRED0_STOP_CLOCK_SHFT 49
327#define UVXH_EVENT_OCCURRED0_ASIC_TO_L1_SHFT 50
328#define UVXH_EVENT_OCCURRED0_L1_TO_ASIC_SHFT 51
329#define UVXH_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT 52
330#define UVXH_EVENT_OCCURRED0_IPI_INT_SHFT 53
331#define UVXH_EVENT_OCCURRED0_EXTIO_INT0_SHFT 54
332#define UVXH_EVENT_OCCURRED0_EXTIO_INT1_SHFT 55
333#define UVXH_EVENT_OCCURRED0_EXTIO_INT2_SHFT 56
334#define UVXH_EVENT_OCCURRED0_EXTIO_INT3_SHFT 57
335#define UVXH_EVENT_OCCURRED0_PROFILE_INT_SHFT 58
336#define UVXH_EVENT_OCCURRED0_QP_HCERR_MASK 0x0000000000000002UL
337#define UVXH_EVENT_OCCURRED0_RH_HCERR_MASK 0x0000000000000004UL 317#define UVXH_EVENT_OCCURRED0_RH_HCERR_MASK 0x0000000000000004UL
338#define UVXH_EVENT_OCCURRED0_LH0_HCERR_MASK 0x0000000000000008UL 318#define UVXH_EVENT_OCCURRED0_LH0_HCERR_MASK 0x0000000000000008UL
339#define UVXH_EVENT_OCCURRED0_LH1_HCERR_MASK 0x0000000000000010UL 319#define UVXH_EVENT_OCCURRED0_LH1_HCERR_MASK 0x0000000000000010UL
@@ -342,54 +322,294 @@ union uvh_bau_data_config_u {
342#define UVXH_EVENT_OCCURRED0_NI0_HCERR_MASK 0x0000000000000080UL 322#define UVXH_EVENT_OCCURRED0_NI0_HCERR_MASK 0x0000000000000080UL
343#define UVXH_EVENT_OCCURRED0_NI1_HCERR_MASK 0x0000000000000100UL 323#define UVXH_EVENT_OCCURRED0_NI1_HCERR_MASK 0x0000000000000100UL
344#define UVXH_EVENT_OCCURRED0_LB_AOERR0_MASK 0x0000000000000200UL 324#define UVXH_EVENT_OCCURRED0_LB_AOERR0_MASK 0x0000000000000200UL
345#define UVXH_EVENT_OCCURRED0_QP_AOERR0_MASK 0x0000000000000400UL
346#define UVXH_EVENT_OCCURRED0_LH0_AOERR0_MASK 0x0000000000001000UL 325#define UVXH_EVENT_OCCURRED0_LH0_AOERR0_MASK 0x0000000000001000UL
347#define UVXH_EVENT_OCCURRED0_LH1_AOERR0_MASK 0x0000000000002000UL 326#define UVXH_EVENT_OCCURRED0_LH1_AOERR0_MASK 0x0000000000002000UL
348#define UVXH_EVENT_OCCURRED0_GR0_AOERR0_MASK 0x0000000000004000UL 327#define UVXH_EVENT_OCCURRED0_GR0_AOERR0_MASK 0x0000000000004000UL
349#define UVXH_EVENT_OCCURRED0_GR1_AOERR0_MASK 0x0000000000008000UL 328#define UVXH_EVENT_OCCURRED0_GR1_AOERR0_MASK 0x0000000000008000UL
350#define UVXH_EVENT_OCCURRED0_XB_AOERR0_MASK 0x0000000000010000UL 329#define UVXH_EVENT_OCCURRED0_XB_AOERR0_MASK 0x0000000000010000UL
351#define UVXH_EVENT_OCCURRED0_RT_AOERR0_MASK 0x0000000000020000UL 330
352#define UVXH_EVENT_OCCURRED0_NI0_AOERR0_MASK 0x0000000000040000UL 331#define UV2H_EVENT_OCCURRED0_QP_HCERR_SHFT 1
353#define UVXH_EVENT_OCCURRED0_NI1_AOERR0_MASK 0x0000000000080000UL 332#define UV2H_EVENT_OCCURRED0_QP_AOERR0_SHFT 10
354#define UVXH_EVENT_OCCURRED0_LB_AOERR1_MASK 0x0000000000100000UL 333#define UV2H_EVENT_OCCURRED0_RT_AOERR0_SHFT 17
355#define UVXH_EVENT_OCCURRED0_QP_AOERR1_MASK 0x0000000000200000UL 334#define UV2H_EVENT_OCCURRED0_NI0_AOERR0_SHFT 18
356#define UVXH_EVENT_OCCURRED0_RH_AOERR1_MASK 0x0000000000400000UL 335#define UV2H_EVENT_OCCURRED0_NI1_AOERR0_SHFT 19
357#define UVXH_EVENT_OCCURRED0_LH0_AOERR1_MASK 0x0000000000800000UL 336#define UV2H_EVENT_OCCURRED0_LB_AOERR1_SHFT 20
358#define UVXH_EVENT_OCCURRED0_LH1_AOERR1_MASK 0x0000000001000000UL 337#define UV2H_EVENT_OCCURRED0_QP_AOERR1_SHFT 21
359#define UVXH_EVENT_OCCURRED0_GR0_AOERR1_MASK 0x0000000002000000UL 338#define UV2H_EVENT_OCCURRED0_RH_AOERR1_SHFT 22
360#define UVXH_EVENT_OCCURRED0_GR1_AOERR1_MASK 0x0000000004000000UL 339#define UV2H_EVENT_OCCURRED0_LH0_AOERR1_SHFT 23
361#define UVXH_EVENT_OCCURRED0_XB_AOERR1_MASK 0x0000000008000000UL 340#define UV2H_EVENT_OCCURRED0_LH1_AOERR1_SHFT 24
362#define UVXH_EVENT_OCCURRED0_RT_AOERR1_MASK 0x0000000010000000UL 341#define UV2H_EVENT_OCCURRED0_GR0_AOERR1_SHFT 25
363#define UVXH_EVENT_OCCURRED0_NI0_AOERR1_MASK 0x0000000020000000UL 342#define UV2H_EVENT_OCCURRED0_GR1_AOERR1_SHFT 26
364#define UVXH_EVENT_OCCURRED0_NI1_AOERR1_MASK 0x0000000040000000UL 343#define UV2H_EVENT_OCCURRED0_XB_AOERR1_SHFT 27
365#define UVXH_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK 0x0000000080000000UL 344#define UV2H_EVENT_OCCURRED0_RT_AOERR1_SHFT 28
366#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK 0x0000000100000000UL 345#define UV2H_EVENT_OCCURRED0_NI0_AOERR1_SHFT 29
367#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK 0x0000000200000000UL 346#define UV2H_EVENT_OCCURRED0_NI1_AOERR1_SHFT 30
368#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK 0x0000000400000000UL 347#define UV2H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT 31
369#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK 0x0000000800000000UL 348#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT 32
370#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK 0x0000001000000000UL 349#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT 33
371#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK 0x0000002000000000UL 350#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT 34
372#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK 0x0000004000000000UL 351#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT 35
373#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK 0x0000008000000000UL 352#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT 36
374#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK 0x0000010000000000UL 353#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT 37
375#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK 0x0000020000000000UL 354#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT 38
376#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK 0x0000040000000000UL 355#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT 39
377#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK 0x0000080000000000UL 356#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT 40
378#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK 0x0000100000000000UL 357#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT 41
379#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK 0x0000200000000000UL 358#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT 42
380#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK 0x0000400000000000UL 359#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT 43
381#define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK 0x0000800000000000UL 360#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT 44
382#define UVXH_EVENT_OCCURRED0_L1_NMI_INT_MASK 0x0001000000000000UL 361#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT 45
383#define UVXH_EVENT_OCCURRED0_STOP_CLOCK_MASK 0x0002000000000000UL 362#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT 46
384#define UVXH_EVENT_OCCURRED0_ASIC_TO_L1_MASK 0x0004000000000000UL 363#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT 47
385#define UVXH_EVENT_OCCURRED0_L1_TO_ASIC_MASK 0x0008000000000000UL 364#define UV2H_EVENT_OCCURRED0_L1_NMI_INT_SHFT 48
386#define UVXH_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK 0x0010000000000000UL 365#define UV2H_EVENT_OCCURRED0_STOP_CLOCK_SHFT 49
387#define UVXH_EVENT_OCCURRED0_IPI_INT_MASK 0x0020000000000000UL 366#define UV2H_EVENT_OCCURRED0_ASIC_TO_L1_SHFT 50
388#define UVXH_EVENT_OCCURRED0_EXTIO_INT0_MASK 0x0040000000000000UL 367#define UV2H_EVENT_OCCURRED0_L1_TO_ASIC_SHFT 51
389#define UVXH_EVENT_OCCURRED0_EXTIO_INT1_MASK 0x0080000000000000UL 368#define UV2H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT 52
390#define UVXH_EVENT_OCCURRED0_EXTIO_INT2_MASK 0x0100000000000000UL 369#define UV2H_EVENT_OCCURRED0_IPI_INT_SHFT 53
391#define UVXH_EVENT_OCCURRED0_EXTIO_INT3_MASK 0x0200000000000000UL 370#define UV2H_EVENT_OCCURRED0_EXTIO_INT0_SHFT 54
392#define UVXH_EVENT_OCCURRED0_PROFILE_INT_MASK 0x0400000000000000UL 371#define UV2H_EVENT_OCCURRED0_EXTIO_INT1_SHFT 55
372#define UV2H_EVENT_OCCURRED0_EXTIO_INT2_SHFT 56
373#define UV2H_EVENT_OCCURRED0_EXTIO_INT3_SHFT 57
374#define UV2H_EVENT_OCCURRED0_PROFILE_INT_SHFT 58
375#define UV2H_EVENT_OCCURRED0_QP_HCERR_MASK 0x0000000000000002UL
376#define UV2H_EVENT_OCCURRED0_QP_AOERR0_MASK 0x0000000000000400UL
377#define UV2H_EVENT_OCCURRED0_RT_AOERR0_MASK 0x0000000000020000UL
378#define UV2H_EVENT_OCCURRED0_NI0_AOERR0_MASK 0x0000000000040000UL
379#define UV2H_EVENT_OCCURRED0_NI1_AOERR0_MASK 0x0000000000080000UL
380#define UV2H_EVENT_OCCURRED0_LB_AOERR1_MASK 0x0000000000100000UL
381#define UV2H_EVENT_OCCURRED0_QP_AOERR1_MASK 0x0000000000200000UL
382#define UV2H_EVENT_OCCURRED0_RH_AOERR1_MASK 0x0000000000400000UL
383#define UV2H_EVENT_OCCURRED0_LH0_AOERR1_MASK 0x0000000000800000UL
384#define UV2H_EVENT_OCCURRED0_LH1_AOERR1_MASK 0x0000000001000000UL
385#define UV2H_EVENT_OCCURRED0_GR0_AOERR1_MASK 0x0000000002000000UL
386#define UV2H_EVENT_OCCURRED0_GR1_AOERR1_MASK 0x0000000004000000UL
387#define UV2H_EVENT_OCCURRED0_XB_AOERR1_MASK 0x0000000008000000UL
388#define UV2H_EVENT_OCCURRED0_RT_AOERR1_MASK 0x0000000010000000UL
389#define UV2H_EVENT_OCCURRED0_NI0_AOERR1_MASK 0x0000000020000000UL
390#define UV2H_EVENT_OCCURRED0_NI1_AOERR1_MASK 0x0000000040000000UL
391#define UV2H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK 0x0000000080000000UL
392#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK 0x0000000100000000UL
393#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK 0x0000000200000000UL
394#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK 0x0000000400000000UL
395#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK 0x0000000800000000UL
396#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK 0x0000001000000000UL
397#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK 0x0000002000000000UL
398#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK 0x0000004000000000UL
399#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK 0x0000008000000000UL
400#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK 0x0000010000000000UL
401#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK 0x0000020000000000UL
402#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK 0x0000040000000000UL
403#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK 0x0000080000000000UL
404#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK 0x0000100000000000UL
405#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK 0x0000200000000000UL
406#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK 0x0000400000000000UL
407#define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK 0x0000800000000000UL
408#define UV2H_EVENT_OCCURRED0_L1_NMI_INT_MASK 0x0001000000000000UL
409#define UV2H_EVENT_OCCURRED0_STOP_CLOCK_MASK 0x0002000000000000UL
410#define UV2H_EVENT_OCCURRED0_ASIC_TO_L1_MASK 0x0004000000000000UL
411#define UV2H_EVENT_OCCURRED0_L1_TO_ASIC_MASK 0x0008000000000000UL
412#define UV2H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK 0x0010000000000000UL
413#define UV2H_EVENT_OCCURRED0_IPI_INT_MASK 0x0020000000000000UL
414#define UV2H_EVENT_OCCURRED0_EXTIO_INT0_MASK 0x0040000000000000UL
415#define UV2H_EVENT_OCCURRED0_EXTIO_INT1_MASK 0x0080000000000000UL
416#define UV2H_EVENT_OCCURRED0_EXTIO_INT2_MASK 0x0100000000000000UL
417#define UV2H_EVENT_OCCURRED0_EXTIO_INT3_MASK 0x0200000000000000UL
418#define UV2H_EVENT_OCCURRED0_PROFILE_INT_MASK 0x0400000000000000UL
419
420#define UV3H_EVENT_OCCURRED0_QP_HCERR_SHFT 1
421#define UV3H_EVENT_OCCURRED0_QP_AOERR0_SHFT 10
422#define UV3H_EVENT_OCCURRED0_RT_AOERR0_SHFT 17
423#define UV3H_EVENT_OCCURRED0_NI0_AOERR0_SHFT 18
424#define UV3H_EVENT_OCCURRED0_NI1_AOERR0_SHFT 19
425#define UV3H_EVENT_OCCURRED0_LB_AOERR1_SHFT 20
426#define UV3H_EVENT_OCCURRED0_QP_AOERR1_SHFT 21
427#define UV3H_EVENT_OCCURRED0_RH_AOERR1_SHFT 22
428#define UV3H_EVENT_OCCURRED0_LH0_AOERR1_SHFT 23
429#define UV3H_EVENT_OCCURRED0_LH1_AOERR1_SHFT 24
430#define UV3H_EVENT_OCCURRED0_GR0_AOERR1_SHFT 25
431#define UV3H_EVENT_OCCURRED0_GR1_AOERR1_SHFT 26
432#define UV3H_EVENT_OCCURRED0_XB_AOERR1_SHFT 27
433#define UV3H_EVENT_OCCURRED0_RT_AOERR1_SHFT 28
434#define UV3H_EVENT_OCCURRED0_NI0_AOERR1_SHFT 29
435#define UV3H_EVENT_OCCURRED0_NI1_AOERR1_SHFT 30
436#define UV3H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT 31
437#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT 32
438#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT 33
439#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT 34
440#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT 35
441#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT 36
442#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT 37
443#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT 38
444#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT 39
445#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT 40
446#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT 41
447#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT 42
448#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT 43
449#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT 44
450#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT 45
451#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT 46
452#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT 47
453#define UV3H_EVENT_OCCURRED0_L1_NMI_INT_SHFT 48
454#define UV3H_EVENT_OCCURRED0_STOP_CLOCK_SHFT 49
455#define UV3H_EVENT_OCCURRED0_ASIC_TO_L1_SHFT 50
456#define UV3H_EVENT_OCCURRED0_L1_TO_ASIC_SHFT 51
457#define UV3H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT 52
458#define UV3H_EVENT_OCCURRED0_IPI_INT_SHFT 53
459#define UV3H_EVENT_OCCURRED0_EXTIO_INT0_SHFT 54
460#define UV3H_EVENT_OCCURRED0_EXTIO_INT1_SHFT 55
461#define UV3H_EVENT_OCCURRED0_EXTIO_INT2_SHFT 56
462#define UV3H_EVENT_OCCURRED0_EXTIO_INT3_SHFT 57
463#define UV3H_EVENT_OCCURRED0_PROFILE_INT_SHFT 58
464#define UV3H_EVENT_OCCURRED0_QP_HCERR_MASK 0x0000000000000002UL
465#define UV3H_EVENT_OCCURRED0_QP_AOERR0_MASK 0x0000000000000400UL
466#define UV3H_EVENT_OCCURRED0_RT_AOERR0_MASK 0x0000000000020000UL
467#define UV3H_EVENT_OCCURRED0_NI0_AOERR0_MASK 0x0000000000040000UL
468#define UV3H_EVENT_OCCURRED0_NI1_AOERR0_MASK 0x0000000000080000UL
469#define UV3H_EVENT_OCCURRED0_LB_AOERR1_MASK 0x0000000000100000UL
470#define UV3H_EVENT_OCCURRED0_QP_AOERR1_MASK 0x0000000000200000UL
471#define UV3H_EVENT_OCCURRED0_RH_AOERR1_MASK 0x0000000000400000UL
472#define UV3H_EVENT_OCCURRED0_LH0_AOERR1_MASK 0x0000000000800000UL
473#define UV3H_EVENT_OCCURRED0_LH1_AOERR1_MASK 0x0000000001000000UL
474#define UV3H_EVENT_OCCURRED0_GR0_AOERR1_MASK 0x0000000002000000UL
475#define UV3H_EVENT_OCCURRED0_GR1_AOERR1_MASK 0x0000000004000000UL
476#define UV3H_EVENT_OCCURRED0_XB_AOERR1_MASK 0x0000000008000000UL
477#define UV3H_EVENT_OCCURRED0_RT_AOERR1_MASK 0x0000000010000000UL
478#define UV3H_EVENT_OCCURRED0_NI0_AOERR1_MASK 0x0000000020000000UL
479#define UV3H_EVENT_OCCURRED0_NI1_AOERR1_MASK 0x0000000040000000UL
480#define UV3H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK 0x0000000080000000UL
481#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK 0x0000000100000000UL
482#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK 0x0000000200000000UL
483#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK 0x0000000400000000UL
484#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK 0x0000000800000000UL
485#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK 0x0000001000000000UL
486#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK 0x0000002000000000UL
487#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK 0x0000004000000000UL
488#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK 0x0000008000000000UL
489#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK 0x0000010000000000UL
490#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK 0x0000020000000000UL
491#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK 0x0000040000000000UL
492#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK 0x0000080000000000UL
493#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK 0x0000100000000000UL
494#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK 0x0000200000000000UL
495#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK 0x0000400000000000UL
496#define UV3H_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK 0x0000800000000000UL
497#define UV3H_EVENT_OCCURRED0_L1_NMI_INT_MASK 0x0001000000000000UL
498#define UV3H_EVENT_OCCURRED0_STOP_CLOCK_MASK 0x0002000000000000UL
499#define UV3H_EVENT_OCCURRED0_ASIC_TO_L1_MASK 0x0004000000000000UL
500#define UV3H_EVENT_OCCURRED0_L1_TO_ASIC_MASK 0x0008000000000000UL
501#define UV3H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK 0x0010000000000000UL
502#define UV3H_EVENT_OCCURRED0_IPI_INT_MASK 0x0020000000000000UL
503#define UV3H_EVENT_OCCURRED0_EXTIO_INT0_MASK 0x0040000000000000UL
504#define UV3H_EVENT_OCCURRED0_EXTIO_INT1_MASK 0x0080000000000000UL
505#define UV3H_EVENT_OCCURRED0_EXTIO_INT2_MASK 0x0100000000000000UL
506#define UV3H_EVENT_OCCURRED0_EXTIO_INT3_MASK 0x0200000000000000UL
507#define UV3H_EVENT_OCCURRED0_PROFILE_INT_MASK 0x0400000000000000UL
508
509#define UV4H_EVENT_OCCURRED0_KT_HCERR_SHFT 1
510#define UV4H_EVENT_OCCURRED0_KT_AOERR0_SHFT 10
511#define UV4H_EVENT_OCCURRED0_RTQ0_AOERR0_SHFT 17
512#define UV4H_EVENT_OCCURRED0_RTQ1_AOERR0_SHFT 18
513#define UV4H_EVENT_OCCURRED0_RTQ2_AOERR0_SHFT 19
514#define UV4H_EVENT_OCCURRED0_RTQ3_AOERR0_SHFT 20
515#define UV4H_EVENT_OCCURRED0_NI0_AOERR0_SHFT 21
516#define UV4H_EVENT_OCCURRED0_NI1_AOERR0_SHFT 22
517#define UV4H_EVENT_OCCURRED0_LB_AOERR1_SHFT 23
518#define UV4H_EVENT_OCCURRED0_KT_AOERR1_SHFT 24
519#define UV4H_EVENT_OCCURRED0_RH_AOERR1_SHFT 25
520#define UV4H_EVENT_OCCURRED0_LH0_AOERR1_SHFT 26
521#define UV4H_EVENT_OCCURRED0_LH1_AOERR1_SHFT 27
522#define UV4H_EVENT_OCCURRED0_GR0_AOERR1_SHFT 28
523#define UV4H_EVENT_OCCURRED0_GR1_AOERR1_SHFT 29
524#define UV4H_EVENT_OCCURRED0_XB_AOERR1_SHFT 30
525#define UV4H_EVENT_OCCURRED0_RTQ0_AOERR1_SHFT 31
526#define UV4H_EVENT_OCCURRED0_RTQ1_AOERR1_SHFT 32
527#define UV4H_EVENT_OCCURRED0_RTQ2_AOERR1_SHFT 33
528#define UV4H_EVENT_OCCURRED0_RTQ3_AOERR1_SHFT 34
529#define UV4H_EVENT_OCCURRED0_NI0_AOERR1_SHFT 35
530#define UV4H_EVENT_OCCURRED0_NI1_AOERR1_SHFT 36
531#define UV4H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT 37
532#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT 38
533#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT 39
534#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT 40
535#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT 41
536#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT 42
537#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT 43
538#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT 44
539#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT 45
540#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT 46
541#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT 47
542#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT 48
543#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT 49
544#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT 50
545#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT 51
546#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT 52
547#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT 53
548#define UV4H_EVENT_OCCURRED0_L1_NMI_INT_SHFT 54
549#define UV4H_EVENT_OCCURRED0_STOP_CLOCK_SHFT 55
550#define UV4H_EVENT_OCCURRED0_ASIC_TO_L1_SHFT 56
551#define UV4H_EVENT_OCCURRED0_L1_TO_ASIC_SHFT 57
552#define UV4H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT 58
553#define UV4H_EVENT_OCCURRED0_IPI_INT_SHFT 59
554#define UV4H_EVENT_OCCURRED0_EXTIO_INT0_SHFT 60
555#define UV4H_EVENT_OCCURRED0_EXTIO_INT1_SHFT 61
556#define UV4H_EVENT_OCCURRED0_EXTIO_INT2_SHFT 62
557#define UV4H_EVENT_OCCURRED0_EXTIO_INT3_SHFT 63
558#define UV4H_EVENT_OCCURRED0_KT_HCERR_MASK 0x0000000000000002UL
559#define UV4H_EVENT_OCCURRED0_KT_AOERR0_MASK 0x0000000000000400UL
560#define UV4H_EVENT_OCCURRED0_RTQ0_AOERR0_MASK 0x0000000000020000UL
561#define UV4H_EVENT_OCCURRED0_RTQ1_AOERR0_MASK 0x0000000000040000UL
562#define UV4H_EVENT_OCCURRED0_RTQ2_AOERR0_MASK 0x0000000000080000UL
563#define UV4H_EVENT_OCCURRED0_RTQ3_AOERR0_MASK 0x0000000000100000UL
564#define UV4H_EVENT_OCCURRED0_NI0_AOERR0_MASK 0x0000000000200000UL
565#define UV4H_EVENT_OCCURRED0_NI1_AOERR0_MASK 0x0000000000400000UL
566#define UV4H_EVENT_OCCURRED0_LB_AOERR1_MASK 0x0000000000800000UL
567#define UV4H_EVENT_OCCURRED0_KT_AOERR1_MASK 0x0000000001000000UL
568#define UV4H_EVENT_OCCURRED0_RH_AOERR1_MASK 0x0000000002000000UL
569#define UV4H_EVENT_OCCURRED0_LH0_AOERR1_MASK 0x0000000004000000UL
570#define UV4H_EVENT_OCCURRED0_LH1_AOERR1_MASK 0x0000000008000000UL
571#define UV4H_EVENT_OCCURRED0_GR0_AOERR1_MASK 0x0000000010000000UL
572#define UV4H_EVENT_OCCURRED0_GR1_AOERR1_MASK 0x0000000020000000UL
573#define UV4H_EVENT_OCCURRED0_XB_AOERR1_MASK 0x0000000040000000UL
574#define UV4H_EVENT_OCCURRED0_RTQ0_AOERR1_MASK 0x0000000080000000UL
575#define UV4H_EVENT_OCCURRED0_RTQ1_AOERR1_MASK 0x0000000100000000UL
576#define UV4H_EVENT_OCCURRED0_RTQ2_AOERR1_MASK 0x0000000200000000UL
577#define UV4H_EVENT_OCCURRED0_RTQ3_AOERR1_MASK 0x0000000400000000UL
578#define UV4H_EVENT_OCCURRED0_NI0_AOERR1_MASK 0x0000000800000000UL
579#define UV4H_EVENT_OCCURRED0_NI1_AOERR1_MASK 0x0000001000000000UL
580#define UV4H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK 0x0000002000000000UL
581#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK 0x0000004000000000UL
582#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK 0x0000008000000000UL
583#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK 0x0000010000000000UL
584#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK 0x0000020000000000UL
585#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK 0x0000040000000000UL
586#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK 0x0000080000000000UL
587#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK 0x0000100000000000UL
588#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK 0x0000200000000000UL
589#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK 0x0000400000000000UL
590#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK 0x0000800000000000UL
591#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK 0x0001000000000000UL
592#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK 0x0002000000000000UL
593#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK 0x0004000000000000UL
594#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK 0x0008000000000000UL
595#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK 0x0010000000000000UL
596#define UV4H_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK 0x0020000000000000UL
597#define UV4H_EVENT_OCCURRED0_L1_NMI_INT_MASK 0x0040000000000000UL
598#define UV4H_EVENT_OCCURRED0_STOP_CLOCK_MASK 0x0080000000000000UL
599#define UV4H_EVENT_OCCURRED0_ASIC_TO_L1_MASK 0x0100000000000000UL
600#define UV4H_EVENT_OCCURRED0_L1_TO_ASIC_MASK 0x0200000000000000UL
601#define UV4H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK 0x0400000000000000UL
602#define UV4H_EVENT_OCCURRED0_IPI_INT_MASK 0x0800000000000000UL
603#define UV4H_EVENT_OCCURRED0_EXTIO_INT0_MASK 0x1000000000000000UL
604#define UV4H_EVENT_OCCURRED0_EXTIO_INT1_MASK 0x2000000000000000UL
605#define UV4H_EVENT_OCCURRED0_EXTIO_INT2_MASK 0x4000000000000000UL
606#define UV4H_EVENT_OCCURRED0_EXTIO_INT3_MASK 0x8000000000000000UL
607
608#define UVH_EVENT_OCCURRED0_EXTIO_INT0_SHFT ( \
609 is_uv1_hub() ? UV1H_EVENT_OCCURRED0_EXTIO_INT0_SHFT : \
610 is_uv2_hub() ? UV2H_EVENT_OCCURRED0_EXTIO_INT0_SHFT : \
611 is_uv3_hub() ? UV3H_EVENT_OCCURRED0_EXTIO_INT0_SHFT : \
612 /*is_uv4_hub*/ UV4H_EVENT_OCCURRED0_EXTIO_INT0_SHFT)
393 613
394union uvh_event_occurred0_u { 614union uvh_event_occurred0_u {
395 unsigned long v; 615 unsigned long v;
@@ -401,7 +621,7 @@ union uvh_event_occurred0_u {
401 } s; 621 } s;
402 struct uvxh_event_occurred0_s { 622 struct uvxh_event_occurred0_s {
403 unsigned long lb_hcerr:1; /* RW */ 623 unsigned long lb_hcerr:1; /* RW */
404 unsigned long qp_hcerr:1; /* RW */ 624 unsigned long rsvd_1:1;
405 unsigned long rh_hcerr:1; /* RW */ 625 unsigned long rh_hcerr:1; /* RW */
406 unsigned long lh0_hcerr:1; /* RW */ 626 unsigned long lh0_hcerr:1; /* RW */
407 unsigned long lh1_hcerr:1; /* RW */ 627 unsigned long lh1_hcerr:1; /* RW */
@@ -410,25 +630,51 @@ union uvh_event_occurred0_u {
410 unsigned long ni0_hcerr:1; /* RW */ 630 unsigned long ni0_hcerr:1; /* RW */
411 unsigned long ni1_hcerr:1; /* RW */ 631 unsigned long ni1_hcerr:1; /* RW */
412 unsigned long lb_aoerr0:1; /* RW */ 632 unsigned long lb_aoerr0:1; /* RW */
413 unsigned long qp_aoerr0:1; /* RW */ 633 unsigned long rsvd_10:1;
414 unsigned long rh_aoerr0:1; /* RW */ 634 unsigned long rh_aoerr0:1; /* RW */
415 unsigned long lh0_aoerr0:1; /* RW */ 635 unsigned long lh0_aoerr0:1; /* RW */
416 unsigned long lh1_aoerr0:1; /* RW */ 636 unsigned long lh1_aoerr0:1; /* RW */
417 unsigned long gr0_aoerr0:1; /* RW */ 637 unsigned long gr0_aoerr0:1; /* RW */
418 unsigned long gr1_aoerr0:1; /* RW */ 638 unsigned long gr1_aoerr0:1; /* RW */
419 unsigned long xb_aoerr0:1; /* RW */ 639 unsigned long xb_aoerr0:1; /* RW */
420 unsigned long rt_aoerr0:1; /* RW */ 640 unsigned long rsvd_17_63:47;
641 } sx;
642 struct uv4h_event_occurred0_s {
643 unsigned long lb_hcerr:1; /* RW */
644 unsigned long kt_hcerr:1; /* RW */
645 unsigned long rh_hcerr:1; /* RW */
646 unsigned long lh0_hcerr:1; /* RW */
647 unsigned long lh1_hcerr:1; /* RW */
648 unsigned long gr0_hcerr:1; /* RW */
649 unsigned long gr1_hcerr:1; /* RW */
650 unsigned long ni0_hcerr:1; /* RW */
651 unsigned long ni1_hcerr:1; /* RW */
652 unsigned long lb_aoerr0:1; /* RW */
653 unsigned long kt_aoerr0:1; /* RW */
654 unsigned long rh_aoerr0:1; /* RW */
655 unsigned long lh0_aoerr0:1; /* RW */
656 unsigned long lh1_aoerr0:1; /* RW */
657 unsigned long gr0_aoerr0:1; /* RW */
658 unsigned long gr1_aoerr0:1; /* RW */
659 unsigned long xb_aoerr0:1; /* RW */
660 unsigned long rtq0_aoerr0:1; /* RW */
661 unsigned long rtq1_aoerr0:1; /* RW */
662 unsigned long rtq2_aoerr0:1; /* RW */
663 unsigned long rtq3_aoerr0:1; /* RW */
421 unsigned long ni0_aoerr0:1; /* RW */ 664 unsigned long ni0_aoerr0:1; /* RW */
422 unsigned long ni1_aoerr0:1; /* RW */ 665 unsigned long ni1_aoerr0:1; /* RW */
423 unsigned long lb_aoerr1:1; /* RW */ 666 unsigned long lb_aoerr1:1; /* RW */
424 unsigned long qp_aoerr1:1; /* RW */ 667 unsigned long kt_aoerr1:1; /* RW */
425 unsigned long rh_aoerr1:1; /* RW */ 668 unsigned long rh_aoerr1:1; /* RW */
426 unsigned long lh0_aoerr1:1; /* RW */ 669 unsigned long lh0_aoerr1:1; /* RW */
427 unsigned long lh1_aoerr1:1; /* RW */ 670 unsigned long lh1_aoerr1:1; /* RW */
428 unsigned long gr0_aoerr1:1; /* RW */ 671 unsigned long gr0_aoerr1:1; /* RW */
429 unsigned long gr1_aoerr1:1; /* RW */ 672 unsigned long gr1_aoerr1:1; /* RW */
430 unsigned long xb_aoerr1:1; /* RW */ 673 unsigned long xb_aoerr1:1; /* RW */
431 unsigned long rt_aoerr1:1; /* RW */ 674 unsigned long rtq0_aoerr1:1; /* RW */
675 unsigned long rtq1_aoerr1:1; /* RW */
676 unsigned long rtq2_aoerr1:1; /* RW */
677 unsigned long rtq3_aoerr1:1; /* RW */
432 unsigned long ni0_aoerr1:1; /* RW */ 678 unsigned long ni0_aoerr1:1; /* RW */
433 unsigned long ni1_aoerr1:1; /* RW */ 679 unsigned long ni1_aoerr1:1; /* RW */
434 unsigned long system_shutdown_int:1; /* RW */ 680 unsigned long system_shutdown_int:1; /* RW */
@@ -458,9 +704,7 @@ union uvh_event_occurred0_u {
458 unsigned long extio_int1:1; /* RW */ 704 unsigned long extio_int1:1; /* RW */
459 unsigned long extio_int2:1; /* RW */ 705 unsigned long extio_int2:1; /* RW */
460 unsigned long extio_int3:1; /* RW */ 706 unsigned long extio_int3:1; /* RW */
461 unsigned long profile_int:1; /* RW */ 707 } s4;
462 unsigned long rsvd_59_63:5;
463 } sx;
464}; 708};
465 709
466/* ========================================================================= */ 710/* ========================================================================= */
@@ -474,11 +718,21 @@ union uvh_event_occurred0_u {
474/* UVH_EXTIO_INT0_BROADCAST */ 718/* UVH_EXTIO_INT0_BROADCAST */
475/* ========================================================================= */ 719/* ========================================================================= */
476#define UVH_EXTIO_INT0_BROADCAST 0x61448UL 720#define UVH_EXTIO_INT0_BROADCAST 0x61448UL
477#define UVH_EXTIO_INT0_BROADCAST_32 0x3f0 721
722#define UV1H_EXTIO_INT0_BROADCAST_32 0x3f0
723#define UV2H_EXTIO_INT0_BROADCAST_32 0x3f0
724#define UV3H_EXTIO_INT0_BROADCAST_32 0x3f0
725#define UV4H_EXTIO_INT0_BROADCAST_32 0x310
726#define UVH_EXTIO_INT0_BROADCAST_32 ( \
727 is_uv1_hub() ? UV1H_EXTIO_INT0_BROADCAST_32 : \
728 is_uv2_hub() ? UV2H_EXTIO_INT0_BROADCAST_32 : \
729 is_uv3_hub() ? UV3H_EXTIO_INT0_BROADCAST_32 : \
730 /*is_uv4_hub*/ UV4H_EXTIO_INT0_BROADCAST_32)
478 731
479#define UVH_EXTIO_INT0_BROADCAST_ENABLE_SHFT 0 732#define UVH_EXTIO_INT0_BROADCAST_ENABLE_SHFT 0
480#define UVH_EXTIO_INT0_BROADCAST_ENABLE_MASK 0x0000000000000001UL 733#define UVH_EXTIO_INT0_BROADCAST_ENABLE_MASK 0x0000000000000001UL
481 734
735
482union uvh_extio_int0_broadcast_u { 736union uvh_extio_int0_broadcast_u {
483 unsigned long v; 737 unsigned long v;
484 struct uvh_extio_int0_broadcast_s { 738 struct uvh_extio_int0_broadcast_s {
@@ -509,6 +763,7 @@ union uvh_extio_int0_broadcast_u {
509#define UVH_GR0_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL 763#define UVH_GR0_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL
510#define UVH_GR0_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 764#define UVH_GR0_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
511 765
766
512union uvh_gr0_tlb_int0_config_u { 767union uvh_gr0_tlb_int0_config_u {
513 unsigned long v; 768 unsigned long v;
514 struct uvh_gr0_tlb_int0_config_s { 769 struct uvh_gr0_tlb_int0_config_s {
@@ -547,6 +802,7 @@ union uvh_gr0_tlb_int0_config_u {
547#define UVH_GR0_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL 802#define UVH_GR0_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL
548#define UVH_GR0_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 803#define UVH_GR0_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
549 804
805
550union uvh_gr0_tlb_int1_config_u { 806union uvh_gr0_tlb_int1_config_u {
551 unsigned long v; 807 unsigned long v;
552 struct uvh_gr0_tlb_int1_config_s { 808 struct uvh_gr0_tlb_int1_config_s {
@@ -569,19 +825,18 @@ union uvh_gr0_tlb_int1_config_u {
569#define UV1H_GR0_TLB_MMR_CONTROL 0x401080UL 825#define UV1H_GR0_TLB_MMR_CONTROL 0x401080UL
570#define UV2H_GR0_TLB_MMR_CONTROL 0xc01080UL 826#define UV2H_GR0_TLB_MMR_CONTROL 0xc01080UL
571#define UV3H_GR0_TLB_MMR_CONTROL 0xc01080UL 827#define UV3H_GR0_TLB_MMR_CONTROL 0xc01080UL
572#define UVH_GR0_TLB_MMR_CONTROL \ 828#define UV4H_GR0_TLB_MMR_CONTROL 0x601080UL
573 (is_uv1_hub() ? UV1H_GR0_TLB_MMR_CONTROL : \ 829#define UVH_GR0_TLB_MMR_CONTROL ( \
574 (is_uv2_hub() ? UV2H_GR0_TLB_MMR_CONTROL : \ 830 is_uv1_hub() ? UV1H_GR0_TLB_MMR_CONTROL : \
575 UV3H_GR0_TLB_MMR_CONTROL)) 831 is_uv2_hub() ? UV2H_GR0_TLB_MMR_CONTROL : \
832 is_uv3_hub() ? UV3H_GR0_TLB_MMR_CONTROL : \
833 /*is_uv4_hub*/ UV4H_GR0_TLB_MMR_CONTROL)
576 834
577#define UVH_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0 835#define UVH_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0
578#define UVH_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 12
579#define UVH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16 836#define UVH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16
580#define UVH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20 837#define UVH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
581#define UVH_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30 838#define UVH_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30
582#define UVH_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT 31 839#define UVH_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT 31
583#define UVH_GR0_TLB_MMR_CONTROL_INDEX_MASK 0x0000000000000fffUL
584#define UVH_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK 0x0000000000003000UL
585#define UVH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL 840#define UVH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL
586#define UVH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL 841#define UVH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
587#define UVH_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL 842#define UVH_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL
@@ -611,14 +866,11 @@ union uvh_gr0_tlb_int1_config_u {
611#define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_MASK 0x1000000000000000UL 866#define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_MASK 0x1000000000000000UL
612 867
613#define UVXH_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0 868#define UVXH_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0
614#define UVXH_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 12
615#define UVXH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16 869#define UVXH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16
616#define UVXH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20 870#define UVXH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
617#define UVXH_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30 871#define UVXH_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30
618#define UVXH_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT 31 872#define UVXH_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT 31
619#define UVXH_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT 32 873#define UVXH_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT 32
620#define UVXH_GR0_TLB_MMR_CONTROL_INDEX_MASK 0x0000000000000fffUL
621#define UVXH_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK 0x0000000000003000UL
622#define UVXH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL 874#define UVXH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL
623#define UVXH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL 875#define UVXH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
624#define UVXH_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL 876#define UVXH_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL
@@ -661,12 +913,45 @@ union uvh_gr0_tlb_int1_config_u {
661#define UV3H_GR0_TLB_MMR_CONTROL_MMR_READ_MASK 0x0000000080000000UL 913#define UV3H_GR0_TLB_MMR_CONTROL_MMR_READ_MASK 0x0000000080000000UL
662#define UV3H_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_MASK 0x0000000100000000UL 914#define UV3H_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_MASK 0x0000000100000000UL
663 915
916#define UV4H_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0
917#define UV4H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 13
918#define UV4H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16
919#define UV4H_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
920#define UV4H_GR0_TLB_MMR_CONTROL_ECC_SEL_SHFT 21
921#define UV4H_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30
922#define UV4H_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT 31
923#define UV4H_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT 32
924#define UV4H_GR0_TLB_MMR_CONTROL_PAGE_SIZE_SHFT 59
925#define UV4H_GR0_TLB_MMR_CONTROL_INDEX_MASK 0x0000000000001fffUL
926#define UV4H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK 0x0000000000006000UL
927#define UV4H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL
928#define UV4H_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
929#define UV4H_GR0_TLB_MMR_CONTROL_ECC_SEL_MASK 0x0000000000200000UL
930#define UV4H_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL
931#define UV4H_GR0_TLB_MMR_CONTROL_MMR_READ_MASK 0x0000000080000000UL
932#define UV4H_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_MASK 0x0000000100000000UL
933#define UV4H_GR0_TLB_MMR_CONTROL_PAGE_SIZE_MASK 0xf800000000000000UL
934
935#define UVH_GR0_TLB_MMR_CONTROL_INDEX_MASK ( \
936 is_uv1_hub() ? UV1H_GR0_TLB_MMR_CONTROL_INDEX_MASK : \
937 is_uv2_hub() ? UV2H_GR0_TLB_MMR_CONTROL_INDEX_MASK : \
938 is_uv3_hub() ? UV3H_GR0_TLB_MMR_CONTROL_INDEX_MASK : \
939 /*is_uv4_hub*/ UV4H_GR0_TLB_MMR_CONTROL_INDEX_MASK)
940#define UVH_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK ( \
941 is_uv1_hub() ? UV1H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK : \
942 is_uv2_hub() ? UV2H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK : \
943 is_uv3_hub() ? UV3H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK : \
944 /*is_uv4_hub*/ UV4H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK)
945#define UVH_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT ( \
946 is_uv1_hub() ? UV1H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT : \
947 is_uv2_hub() ? UV2H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT : \
948 is_uv3_hub() ? UV3H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT : \
949 /*is_uv4_hub*/ UV4H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT)
950
664union uvh_gr0_tlb_mmr_control_u { 951union uvh_gr0_tlb_mmr_control_u {
665 unsigned long v; 952 unsigned long v;
666 struct uvh_gr0_tlb_mmr_control_s { 953 struct uvh_gr0_tlb_mmr_control_s {
667 unsigned long index:12; /* RW */ 954 unsigned long rsvd_0_15:16;
668 unsigned long mem_sel:2; /* RW */
669 unsigned long rsvd_14_15:2;
670 unsigned long auto_valid_en:1; /* RW */ 955 unsigned long auto_valid_en:1; /* RW */
671 unsigned long rsvd_17_19:3; 956 unsigned long rsvd_17_19:3;
672 unsigned long mmr_hash_index_en:1; /* RW */ 957 unsigned long mmr_hash_index_en:1; /* RW */
@@ -700,9 +985,7 @@ union uvh_gr0_tlb_mmr_control_u {
700 unsigned long rsvd_61_63:3; 985 unsigned long rsvd_61_63:3;
701 } s1; 986 } s1;
702 struct uvxh_gr0_tlb_mmr_control_s { 987 struct uvxh_gr0_tlb_mmr_control_s {
703 unsigned long index:12; /* RW */ 988 unsigned long rsvd_0_15:16;
704 unsigned long mem_sel:2; /* RW */
705 unsigned long rsvd_14_15:2;
706 unsigned long auto_valid_en:1; /* RW */ 989 unsigned long auto_valid_en:1; /* RW */
707 unsigned long rsvd_17_19:3; 990 unsigned long rsvd_17_19:3;
708 unsigned long mmr_hash_index_en:1; /* RW */ 991 unsigned long mmr_hash_index_en:1; /* RW */
@@ -713,8 +996,7 @@ union uvh_gr0_tlb_mmr_control_u {
713 unsigned long rsvd_33_47:15; 996 unsigned long rsvd_33_47:15;
714 unsigned long rsvd_48:1; 997 unsigned long rsvd_48:1;
715 unsigned long rsvd_49_51:3; 998 unsigned long rsvd_49_51:3;
716 unsigned long rsvd_52:1; 999 unsigned long rsvd_52_63:12;
717 unsigned long rsvd_53_63:11;
718 } sx; 1000 } sx;
719 struct uv2h_gr0_tlb_mmr_control_s { 1001 struct uv2h_gr0_tlb_mmr_control_s {
720 unsigned long index:12; /* RW */ 1002 unsigned long index:12; /* RW */
@@ -751,6 +1033,24 @@ union uvh_gr0_tlb_mmr_control_u {
751 unsigned long undef_52:1; /* Undefined */ 1033 unsigned long undef_52:1; /* Undefined */
752 unsigned long rsvd_53_63:11; 1034 unsigned long rsvd_53_63:11;
753 } s3; 1035 } s3;
1036 struct uv4h_gr0_tlb_mmr_control_s {
1037 unsigned long index:13; /* RW */
1038 unsigned long mem_sel:2; /* RW */
1039 unsigned long rsvd_15:1;
1040 unsigned long auto_valid_en:1; /* RW */
1041 unsigned long rsvd_17_19:3;
1042 unsigned long mmr_hash_index_en:1; /* RW */
1043 unsigned long ecc_sel:1; /* RW */
1044 unsigned long rsvd_22_29:8;
1045 unsigned long mmr_write:1; /* WP */
1046 unsigned long mmr_read:1; /* WP */
1047 unsigned long mmr_op_done:1; /* RW */
1048 unsigned long rsvd_33_47:15;
1049 unsigned long undef_48:1; /* Undefined */
1050 unsigned long rsvd_49_51:3;
1051 unsigned long rsvd_52_58:7;
1052 unsigned long page_size:5; /* RW */
1053 } s4;
754}; 1054};
755 1055
756/* ========================================================================= */ 1056/* ========================================================================= */
@@ -759,19 +1059,14 @@ union uvh_gr0_tlb_mmr_control_u {
759#define UV1H_GR0_TLB_MMR_READ_DATA_HI 0x4010a0UL 1059#define UV1H_GR0_TLB_MMR_READ_DATA_HI 0x4010a0UL
760#define UV2H_GR0_TLB_MMR_READ_DATA_HI 0xc010a0UL 1060#define UV2H_GR0_TLB_MMR_READ_DATA_HI 0xc010a0UL
761#define UV3H_GR0_TLB_MMR_READ_DATA_HI 0xc010a0UL 1061#define UV3H_GR0_TLB_MMR_READ_DATA_HI 0xc010a0UL
762#define UVH_GR0_TLB_MMR_READ_DATA_HI \ 1062#define UV4H_GR0_TLB_MMR_READ_DATA_HI 0x6010a0UL
763 (is_uv1_hub() ? UV1H_GR0_TLB_MMR_READ_DATA_HI : \ 1063#define UVH_GR0_TLB_MMR_READ_DATA_HI ( \
764 (is_uv2_hub() ? UV2H_GR0_TLB_MMR_READ_DATA_HI : \ 1064 is_uv1_hub() ? UV1H_GR0_TLB_MMR_READ_DATA_HI : \
765 UV3H_GR0_TLB_MMR_READ_DATA_HI)) 1065 is_uv2_hub() ? UV2H_GR0_TLB_MMR_READ_DATA_HI : \
1066 is_uv3_hub() ? UV3H_GR0_TLB_MMR_READ_DATA_HI : \
1067 /*is_uv4_hub*/ UV4H_GR0_TLB_MMR_READ_DATA_HI)
766 1068
767#define UVH_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 1069#define UVH_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
768#define UVH_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
769#define UVH_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43
770#define UVH_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44
771#define UVH_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL
772#define UVH_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL
773#define UVH_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL
774#define UVH_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
775 1070
776#define UV1H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 1071#define UV1H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
777#define UV1H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 1072#define UV1H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
@@ -783,13 +1078,6 @@ union uvh_gr0_tlb_mmr_control_u {
783#define UV1H_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL 1078#define UV1H_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
784 1079
785#define UVXH_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 1080#define UVXH_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
786#define UVXH_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
787#define UVXH_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43
788#define UVXH_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44
789#define UVXH_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL
790#define UVXH_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL
791#define UVXH_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL
792#define UVXH_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
793 1081
794#define UV2H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 1082#define UV2H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
795#define UV2H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 1083#define UV2H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
@@ -813,15 +1101,24 @@ union uvh_gr0_tlb_mmr_control_u {
813#define UV3H_GR0_TLB_MMR_READ_DATA_HI_AA_EXT_MASK 0x0000200000000000UL 1101#define UV3H_GR0_TLB_MMR_READ_DATA_HI_AA_EXT_MASK 0x0000200000000000UL
814#define UV3H_GR0_TLB_MMR_READ_DATA_HI_WAY_ECC_MASK 0xff80000000000000UL 1102#define UV3H_GR0_TLB_MMR_READ_DATA_HI_WAY_ECC_MASK 0xff80000000000000UL
815 1103
1104#define UV4H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
1105#define UV4H_GR0_TLB_MMR_READ_DATA_HI_PNID_SHFT 34
1106#define UV4H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 49
1107#define UV4H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 51
1108#define UV4H_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT 52
1109#define UV4H_GR0_TLB_MMR_READ_DATA_HI_AA_EXT_SHFT 53
1110#define UV4H_GR0_TLB_MMR_READ_DATA_HI_WAY_ECC_SHFT 55
1111#define UV4H_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK 0x00000003ffffffffUL
1112#define UV4H_GR0_TLB_MMR_READ_DATA_HI_PNID_MASK 0x0001fffc00000000UL
1113#define UV4H_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0006000000000000UL
1114#define UV4H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0008000000000000UL
1115#define UV4H_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0010000000000000UL
1116#define UV4H_GR0_TLB_MMR_READ_DATA_HI_AA_EXT_MASK 0x0020000000000000UL
1117#define UV4H_GR0_TLB_MMR_READ_DATA_HI_WAY_ECC_MASK 0xff80000000000000UL
1118
1119
816union uvh_gr0_tlb_mmr_read_data_hi_u { 1120union uvh_gr0_tlb_mmr_read_data_hi_u {
817 unsigned long v; 1121 unsigned long v;
818 struct uvh_gr0_tlb_mmr_read_data_hi_s {
819 unsigned long pfn:41; /* RO */
820 unsigned long gaa:2; /* RO */
821 unsigned long dirty:1; /* RO */
822 unsigned long larger:1; /* RO */
823 unsigned long rsvd_45_63:19;
824 } s;
825 struct uv1h_gr0_tlb_mmr_read_data_hi_s { 1122 struct uv1h_gr0_tlb_mmr_read_data_hi_s {
826 unsigned long pfn:41; /* RO */ 1123 unsigned long pfn:41; /* RO */
827 unsigned long gaa:2; /* RO */ 1124 unsigned long gaa:2; /* RO */
@@ -829,13 +1126,6 @@ union uvh_gr0_tlb_mmr_read_data_hi_u {
829 unsigned long larger:1; /* RO */ 1126 unsigned long larger:1; /* RO */
830 unsigned long rsvd_45_63:19; 1127 unsigned long rsvd_45_63:19;
831 } s1; 1128 } s1;
832 struct uvxh_gr0_tlb_mmr_read_data_hi_s {
833 unsigned long pfn:41; /* RO */
834 unsigned long gaa:2; /* RO */
835 unsigned long dirty:1; /* RO */
836 unsigned long larger:1; /* RO */
837 unsigned long rsvd_45_63:19;
838 } sx;
839 struct uv2h_gr0_tlb_mmr_read_data_hi_s { 1129 struct uv2h_gr0_tlb_mmr_read_data_hi_s {
840 unsigned long pfn:41; /* RO */ 1130 unsigned long pfn:41; /* RO */
841 unsigned long gaa:2; /* RO */ 1131 unsigned long gaa:2; /* RO */
@@ -852,6 +1142,16 @@ union uvh_gr0_tlb_mmr_read_data_hi_u {
852 unsigned long undef_46_54:9; /* Undefined */ 1142 unsigned long undef_46_54:9; /* Undefined */
853 unsigned long way_ecc:9; /* RO */ 1143 unsigned long way_ecc:9; /* RO */
854 } s3; 1144 } s3;
1145 struct uv4h_gr0_tlb_mmr_read_data_hi_s {
1146 unsigned long pfn:34; /* RO */
1147 unsigned long pnid:15; /* RO */
1148 unsigned long gaa:2; /* RO */
1149 unsigned long dirty:1; /* RO */
1150 unsigned long larger:1; /* RO */
1151 unsigned long aa_ext:1; /* RO */
1152 unsigned long undef_54:1; /* Undefined */
1153 unsigned long way_ecc:9; /* RO */
1154 } s4;
855}; 1155};
856 1156
857/* ========================================================================= */ 1157/* ========================================================================= */
@@ -860,10 +1160,12 @@ union uvh_gr0_tlb_mmr_read_data_hi_u {
860#define UV1H_GR0_TLB_MMR_READ_DATA_LO 0x4010a8UL 1160#define UV1H_GR0_TLB_MMR_READ_DATA_LO 0x4010a8UL
861#define UV2H_GR0_TLB_MMR_READ_DATA_LO 0xc010a8UL 1161#define UV2H_GR0_TLB_MMR_READ_DATA_LO 0xc010a8UL
862#define UV3H_GR0_TLB_MMR_READ_DATA_LO 0xc010a8UL 1162#define UV3H_GR0_TLB_MMR_READ_DATA_LO 0xc010a8UL
863#define UVH_GR0_TLB_MMR_READ_DATA_LO \ 1163#define UV4H_GR0_TLB_MMR_READ_DATA_LO 0x6010a8UL
864 (is_uv1_hub() ? UV1H_GR0_TLB_MMR_READ_DATA_LO : \ 1164#define UVH_GR0_TLB_MMR_READ_DATA_LO ( \
865 (is_uv2_hub() ? UV2H_GR0_TLB_MMR_READ_DATA_LO : \ 1165 is_uv1_hub() ? UV1H_GR0_TLB_MMR_READ_DATA_LO : \
866 UV3H_GR0_TLB_MMR_READ_DATA_LO)) 1166 is_uv2_hub() ? UV2H_GR0_TLB_MMR_READ_DATA_LO : \
1167 is_uv3_hub() ? UV3H_GR0_TLB_MMR_READ_DATA_LO : \
1168 /*is_uv4_hub*/ UV4H_GR0_TLB_MMR_READ_DATA_LO)
867 1169
868#define UVH_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 1170#define UVH_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0
869#define UVH_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 1171#define UVH_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39
@@ -900,6 +1202,14 @@ union uvh_gr0_tlb_mmr_read_data_hi_u {
900#define UV3H_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL 1202#define UV3H_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL
901#define UV3H_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL 1203#define UV3H_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL
902 1204
1205#define UV4H_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0
1206#define UV4H_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39
1207#define UV4H_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT 63
1208#define UV4H_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL
1209#define UV4H_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL
1210#define UV4H_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL
1211
1212
903union uvh_gr0_tlb_mmr_read_data_lo_u { 1213union uvh_gr0_tlb_mmr_read_data_lo_u {
904 unsigned long v; 1214 unsigned long v;
905 struct uvh_gr0_tlb_mmr_read_data_lo_s { 1215 struct uvh_gr0_tlb_mmr_read_data_lo_s {
@@ -927,12 +1237,25 @@ union uvh_gr0_tlb_mmr_read_data_lo_u {
927 unsigned long asid:24; /* RO */ 1237 unsigned long asid:24; /* RO */
928 unsigned long valid:1; /* RO */ 1238 unsigned long valid:1; /* RO */
929 } s3; 1239 } s3;
1240 struct uv4h_gr0_tlb_mmr_read_data_lo_s {
1241 unsigned long vpn:39; /* RO */
1242 unsigned long asid:24; /* RO */
1243 unsigned long valid:1; /* RO */
1244 } s4;
930}; 1245};
931 1246
932/* ========================================================================= */ 1247/* ========================================================================= */
933/* UVH_GR1_TLB_INT0_CONFIG */ 1248/* UVH_GR1_TLB_INT0_CONFIG */
934/* ========================================================================= */ 1249/* ========================================================================= */
935#define UVH_GR1_TLB_INT0_CONFIG 0x61f00UL 1250#define UV1H_GR1_TLB_INT0_CONFIG 0x61f00UL
1251#define UV2H_GR1_TLB_INT0_CONFIG 0x61f00UL
1252#define UV3H_GR1_TLB_INT0_CONFIG 0x61f00UL
1253#define UV4H_GR1_TLB_INT0_CONFIG 0x62100UL
1254#define UVH_GR1_TLB_INT0_CONFIG ( \
1255 is_uv1_hub() ? UV1H_GR1_TLB_INT0_CONFIG : \
1256 is_uv2_hub() ? UV2H_GR1_TLB_INT0_CONFIG : \
1257 is_uv3_hub() ? UV3H_GR1_TLB_INT0_CONFIG : \
1258 /*is_uv4_hub*/ UV4H_GR1_TLB_INT0_CONFIG)
936 1259
937#define UVH_GR1_TLB_INT0_CONFIG_VECTOR_SHFT 0 1260#define UVH_GR1_TLB_INT0_CONFIG_VECTOR_SHFT 0
938#define UVH_GR1_TLB_INT0_CONFIG_DM_SHFT 8 1261#define UVH_GR1_TLB_INT0_CONFIG_DM_SHFT 8
@@ -951,6 +1274,7 @@ union uvh_gr0_tlb_mmr_read_data_lo_u {
951#define UVH_GR1_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL 1274#define UVH_GR1_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL
952#define UVH_GR1_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 1275#define UVH_GR1_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
953 1276
1277
954union uvh_gr1_tlb_int0_config_u { 1278union uvh_gr1_tlb_int0_config_u {
955 unsigned long v; 1279 unsigned long v;
956 struct uvh_gr1_tlb_int0_config_s { 1280 struct uvh_gr1_tlb_int0_config_s {
@@ -970,7 +1294,15 @@ union uvh_gr1_tlb_int0_config_u {
970/* ========================================================================= */ 1294/* ========================================================================= */
971/* UVH_GR1_TLB_INT1_CONFIG */ 1295/* UVH_GR1_TLB_INT1_CONFIG */
972/* ========================================================================= */ 1296/* ========================================================================= */
973#define UVH_GR1_TLB_INT1_CONFIG 0x61f40UL 1297#define UV1H_GR1_TLB_INT1_CONFIG 0x61f40UL
1298#define UV2H_GR1_TLB_INT1_CONFIG 0x61f40UL
1299#define UV3H_GR1_TLB_INT1_CONFIG 0x61f40UL
1300#define UV4H_GR1_TLB_INT1_CONFIG 0x62140UL
1301#define UVH_GR1_TLB_INT1_CONFIG ( \
1302 is_uv1_hub() ? UV1H_GR1_TLB_INT1_CONFIG : \
1303 is_uv2_hub() ? UV2H_GR1_TLB_INT1_CONFIG : \
1304 is_uv3_hub() ? UV3H_GR1_TLB_INT1_CONFIG : \
1305 /*is_uv4_hub*/ UV4H_GR1_TLB_INT1_CONFIG)
974 1306
975#define UVH_GR1_TLB_INT1_CONFIG_VECTOR_SHFT 0 1307#define UVH_GR1_TLB_INT1_CONFIG_VECTOR_SHFT 0
976#define UVH_GR1_TLB_INT1_CONFIG_DM_SHFT 8 1308#define UVH_GR1_TLB_INT1_CONFIG_DM_SHFT 8
@@ -989,6 +1321,7 @@ union uvh_gr1_tlb_int0_config_u {
989#define UVH_GR1_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL 1321#define UVH_GR1_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL
990#define UVH_GR1_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 1322#define UVH_GR1_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
991 1323
1324
992union uvh_gr1_tlb_int1_config_u { 1325union uvh_gr1_tlb_int1_config_u {
993 unsigned long v; 1326 unsigned long v;
994 struct uvh_gr1_tlb_int1_config_s { 1327 struct uvh_gr1_tlb_int1_config_s {
@@ -1011,19 +1344,18 @@ union uvh_gr1_tlb_int1_config_u {
1011#define UV1H_GR1_TLB_MMR_CONTROL 0x801080UL 1344#define UV1H_GR1_TLB_MMR_CONTROL 0x801080UL
1012#define UV2H_GR1_TLB_MMR_CONTROL 0x1001080UL 1345#define UV2H_GR1_TLB_MMR_CONTROL 0x1001080UL
1013#define UV3H_GR1_TLB_MMR_CONTROL 0x1001080UL 1346#define UV3H_GR1_TLB_MMR_CONTROL 0x1001080UL
1014#define UVH_GR1_TLB_MMR_CONTROL \ 1347#define UV4H_GR1_TLB_MMR_CONTROL 0x701080UL
1015 (is_uv1_hub() ? UV1H_GR1_TLB_MMR_CONTROL : \ 1348#define UVH_GR1_TLB_MMR_CONTROL ( \
1016 (is_uv2_hub() ? UV2H_GR1_TLB_MMR_CONTROL : \ 1349 is_uv1_hub() ? UV1H_GR1_TLB_MMR_CONTROL : \
1017 UV3H_GR1_TLB_MMR_CONTROL)) 1350 is_uv2_hub() ? UV2H_GR1_TLB_MMR_CONTROL : \
1351 is_uv3_hub() ? UV3H_GR1_TLB_MMR_CONTROL : \
1352 /*is_uv4_hub*/ UV4H_GR1_TLB_MMR_CONTROL)
1018 1353
1019#define UVH_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0 1354#define UVH_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0
1020#define UVH_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 12
1021#define UVH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16 1355#define UVH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16
1022#define UVH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20 1356#define UVH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
1023#define UVH_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30 1357#define UVH_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30
1024#define UVH_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT 31 1358#define UVH_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT 31
1025#define UVH_GR1_TLB_MMR_CONTROL_INDEX_MASK 0x0000000000000fffUL
1026#define UVH_GR1_TLB_MMR_CONTROL_MEM_SEL_MASK 0x0000000000003000UL
1027#define UVH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL 1359#define UVH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL
1028#define UVH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL 1360#define UVH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
1029#define UVH_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL 1361#define UVH_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL
@@ -1053,14 +1385,11 @@ union uvh_gr1_tlb_int1_config_u {
1053#define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_MASK 0x1000000000000000UL 1385#define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_MASK 0x1000000000000000UL
1054 1386
1055#define UVXH_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0 1387#define UVXH_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0
1056#define UVXH_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 12
1057#define UVXH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16 1388#define UVXH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16
1058#define UVXH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20 1389#define UVXH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
1059#define UVXH_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30 1390#define UVXH_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30
1060#define UVXH_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT 31 1391#define UVXH_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT 31
1061#define UVXH_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT 32 1392#define UVXH_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT 32
1062#define UVXH_GR1_TLB_MMR_CONTROL_INDEX_MASK 0x0000000000000fffUL
1063#define UVXH_GR1_TLB_MMR_CONTROL_MEM_SEL_MASK 0x0000000000003000UL
1064#define UVXH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL 1393#define UVXH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL
1065#define UVXH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL 1394#define UVXH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
1066#define UVXH_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL 1395#define UVXH_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL
@@ -1103,12 +1432,30 @@ union uvh_gr1_tlb_int1_config_u {
1103#define UV3H_GR1_TLB_MMR_CONTROL_MMR_READ_MASK 0x0000000080000000UL 1432#define UV3H_GR1_TLB_MMR_CONTROL_MMR_READ_MASK 0x0000000080000000UL
1104#define UV3H_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_MASK 0x0000000100000000UL 1433#define UV3H_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_MASK 0x0000000100000000UL
1105 1434
1435#define UV4H_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0
1436#define UV4H_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 13
1437#define UV4H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16
1438#define UV4H_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20
1439#define UV4H_GR1_TLB_MMR_CONTROL_ECC_SEL_SHFT 21
1440#define UV4H_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30
1441#define UV4H_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT 31
1442#define UV4H_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT 32
1443#define UV4H_GR1_TLB_MMR_CONTROL_PAGE_SIZE_SHFT 59
1444#define UV4H_GR1_TLB_MMR_CONTROL_INDEX_MASK 0x0000000000001fffUL
1445#define UV4H_GR1_TLB_MMR_CONTROL_MEM_SEL_MASK 0x0000000000006000UL
1446#define UV4H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL
1447#define UV4H_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL
1448#define UV4H_GR1_TLB_MMR_CONTROL_ECC_SEL_MASK 0x0000000000200000UL
1449#define UV4H_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL
1450#define UV4H_GR1_TLB_MMR_CONTROL_MMR_READ_MASK 0x0000000080000000UL
1451#define UV4H_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_MASK 0x0000000100000000UL
1452#define UV4H_GR1_TLB_MMR_CONTROL_PAGE_SIZE_MASK 0xf800000000000000UL
1453
1454
1106union uvh_gr1_tlb_mmr_control_u { 1455union uvh_gr1_tlb_mmr_control_u {
1107 unsigned long v; 1456 unsigned long v;
1108 struct uvh_gr1_tlb_mmr_control_s { 1457 struct uvh_gr1_tlb_mmr_control_s {
1109 unsigned long index:12; /* RW */ 1458 unsigned long rsvd_0_15:16;
1110 unsigned long mem_sel:2; /* RW */
1111 unsigned long rsvd_14_15:2;
1112 unsigned long auto_valid_en:1; /* RW */ 1459 unsigned long auto_valid_en:1; /* RW */
1113 unsigned long rsvd_17_19:3; 1460 unsigned long rsvd_17_19:3;
1114 unsigned long mmr_hash_index_en:1; /* RW */ 1461 unsigned long mmr_hash_index_en:1; /* RW */
@@ -1142,9 +1489,7 @@ union uvh_gr1_tlb_mmr_control_u {
1142 unsigned long rsvd_61_63:3; 1489 unsigned long rsvd_61_63:3;
1143 } s1; 1490 } s1;
1144 struct uvxh_gr1_tlb_mmr_control_s { 1491 struct uvxh_gr1_tlb_mmr_control_s {
1145 unsigned long index:12; /* RW */ 1492 unsigned long rsvd_0_15:16;
1146 unsigned long mem_sel:2; /* RW */
1147 unsigned long rsvd_14_15:2;
1148 unsigned long auto_valid_en:1; /* RW */ 1493 unsigned long auto_valid_en:1; /* RW */
1149 unsigned long rsvd_17_19:3; 1494 unsigned long rsvd_17_19:3;
1150 unsigned long mmr_hash_index_en:1; /* RW */ 1495 unsigned long mmr_hash_index_en:1; /* RW */
@@ -1155,8 +1500,7 @@ union uvh_gr1_tlb_mmr_control_u {
1155 unsigned long rsvd_33_47:15; 1500 unsigned long rsvd_33_47:15;
1156 unsigned long rsvd_48:1; 1501 unsigned long rsvd_48:1;
1157 unsigned long rsvd_49_51:3; 1502 unsigned long rsvd_49_51:3;
1158 unsigned long rsvd_52:1; 1503 unsigned long rsvd_52_63:12;
1159 unsigned long rsvd_53_63:11;
1160 } sx; 1504 } sx;
1161 struct uv2h_gr1_tlb_mmr_control_s { 1505 struct uv2h_gr1_tlb_mmr_control_s {
1162 unsigned long index:12; /* RW */ 1506 unsigned long index:12; /* RW */
@@ -1193,6 +1537,24 @@ union uvh_gr1_tlb_mmr_control_u {
1193 unsigned long undef_52:1; /* Undefined */ 1537 unsigned long undef_52:1; /* Undefined */
1194 unsigned long rsvd_53_63:11; 1538 unsigned long rsvd_53_63:11;
1195 } s3; 1539 } s3;
1540 struct uv4h_gr1_tlb_mmr_control_s {
1541 unsigned long index:13; /* RW */
1542 unsigned long mem_sel:2; /* RW */
1543 unsigned long rsvd_15:1;
1544 unsigned long auto_valid_en:1; /* RW */
1545 unsigned long rsvd_17_19:3;
1546 unsigned long mmr_hash_index_en:1; /* RW */
1547 unsigned long ecc_sel:1; /* RW */
1548 unsigned long rsvd_22_29:8;
1549 unsigned long mmr_write:1; /* WP */
1550 unsigned long mmr_read:1; /* WP */
1551 unsigned long mmr_op_done:1; /* RW */
1552 unsigned long rsvd_33_47:15;
1553 unsigned long undef_48:1; /* Undefined */
1554 unsigned long rsvd_49_51:3;
1555 unsigned long rsvd_52_58:7;
1556 unsigned long page_size:5; /* RW */
1557 } s4;
1196}; 1558};
1197 1559
1198/* ========================================================================= */ 1560/* ========================================================================= */
@@ -1201,19 +1563,14 @@ union uvh_gr1_tlb_mmr_control_u {
1201#define UV1H_GR1_TLB_MMR_READ_DATA_HI 0x8010a0UL 1563#define UV1H_GR1_TLB_MMR_READ_DATA_HI 0x8010a0UL
1202#define UV2H_GR1_TLB_MMR_READ_DATA_HI 0x10010a0UL 1564#define UV2H_GR1_TLB_MMR_READ_DATA_HI 0x10010a0UL
1203#define UV3H_GR1_TLB_MMR_READ_DATA_HI 0x10010a0UL 1565#define UV3H_GR1_TLB_MMR_READ_DATA_HI 0x10010a0UL
1204#define UVH_GR1_TLB_MMR_READ_DATA_HI \ 1566#define UV4H_GR1_TLB_MMR_READ_DATA_HI 0x7010a0UL
1205 (is_uv1_hub() ? UV1H_GR1_TLB_MMR_READ_DATA_HI : \ 1567#define UVH_GR1_TLB_MMR_READ_DATA_HI ( \
1206 (is_uv2_hub() ? UV2H_GR1_TLB_MMR_READ_DATA_HI : \ 1568 is_uv1_hub() ? UV1H_GR1_TLB_MMR_READ_DATA_HI : \
1207 UV3H_GR1_TLB_MMR_READ_DATA_HI)) 1569 is_uv2_hub() ? UV2H_GR1_TLB_MMR_READ_DATA_HI : \
1570 is_uv3_hub() ? UV3H_GR1_TLB_MMR_READ_DATA_HI : \
1571 /*is_uv4_hub*/ UV4H_GR1_TLB_MMR_READ_DATA_HI)
1208 1572
1209#define UVH_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 1573#define UVH_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
1210#define UVH_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
1211#define UVH_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43
1212#define UVH_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44
1213#define UVH_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL
1214#define UVH_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL
1215#define UVH_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL
1216#define UVH_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
1217 1574
1218#define UV1H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 1575#define UV1H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
1219#define UV1H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 1576#define UV1H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
@@ -1225,13 +1582,6 @@ union uvh_gr1_tlb_mmr_control_u {
1225#define UV1H_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL 1582#define UV1H_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
1226 1583
1227#define UVXH_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 1584#define UVXH_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
1228#define UVXH_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
1229#define UVXH_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43
1230#define UVXH_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44
1231#define UVXH_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL
1232#define UVXH_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL
1233#define UVXH_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL
1234#define UVXH_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL
1235 1585
1236#define UV2H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 1586#define UV2H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
1237#define UV2H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 1587#define UV2H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41
@@ -1255,15 +1605,24 @@ union uvh_gr1_tlb_mmr_control_u {
1255#define UV3H_GR1_TLB_MMR_READ_DATA_HI_AA_EXT_MASK 0x0000200000000000UL 1605#define UV3H_GR1_TLB_MMR_READ_DATA_HI_AA_EXT_MASK 0x0000200000000000UL
1256#define UV3H_GR1_TLB_MMR_READ_DATA_HI_WAY_ECC_MASK 0xff80000000000000UL 1606#define UV3H_GR1_TLB_MMR_READ_DATA_HI_WAY_ECC_MASK 0xff80000000000000UL
1257 1607
1608#define UV4H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0
1609#define UV4H_GR1_TLB_MMR_READ_DATA_HI_PNID_SHFT 34
1610#define UV4H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 49
1611#define UV4H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 51
1612#define UV4H_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT 52
1613#define UV4H_GR1_TLB_MMR_READ_DATA_HI_AA_EXT_SHFT 53
1614#define UV4H_GR1_TLB_MMR_READ_DATA_HI_WAY_ECC_SHFT 55
1615#define UV4H_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK 0x00000003ffffffffUL
1616#define UV4H_GR1_TLB_MMR_READ_DATA_HI_PNID_MASK 0x0001fffc00000000UL
1617#define UV4H_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0006000000000000UL
1618#define UV4H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0008000000000000UL
1619#define UV4H_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0010000000000000UL
1620#define UV4H_GR1_TLB_MMR_READ_DATA_HI_AA_EXT_MASK 0x0020000000000000UL
1621#define UV4H_GR1_TLB_MMR_READ_DATA_HI_WAY_ECC_MASK 0xff80000000000000UL
1622
1623
1258union uvh_gr1_tlb_mmr_read_data_hi_u { 1624union uvh_gr1_tlb_mmr_read_data_hi_u {
1259 unsigned long v; 1625 unsigned long v;
1260 struct uvh_gr1_tlb_mmr_read_data_hi_s {
1261 unsigned long pfn:41; /* RO */
1262 unsigned long gaa:2; /* RO */
1263 unsigned long dirty:1; /* RO */
1264 unsigned long larger:1; /* RO */
1265 unsigned long rsvd_45_63:19;
1266 } s;
1267 struct uv1h_gr1_tlb_mmr_read_data_hi_s { 1626 struct uv1h_gr1_tlb_mmr_read_data_hi_s {
1268 unsigned long pfn:41; /* RO */ 1627 unsigned long pfn:41; /* RO */
1269 unsigned long gaa:2; /* RO */ 1628 unsigned long gaa:2; /* RO */
@@ -1271,13 +1630,6 @@ union uvh_gr1_tlb_mmr_read_data_hi_u {
1271 unsigned long larger:1; /* RO */ 1630 unsigned long larger:1; /* RO */
1272 unsigned long rsvd_45_63:19; 1631 unsigned long rsvd_45_63:19;
1273 } s1; 1632 } s1;
1274 struct uvxh_gr1_tlb_mmr_read_data_hi_s {
1275 unsigned long pfn:41; /* RO */
1276 unsigned long gaa:2; /* RO */
1277 unsigned long dirty:1; /* RO */
1278 unsigned long larger:1; /* RO */
1279 unsigned long rsvd_45_63:19;
1280 } sx;
1281 struct uv2h_gr1_tlb_mmr_read_data_hi_s { 1633 struct uv2h_gr1_tlb_mmr_read_data_hi_s {
1282 unsigned long pfn:41; /* RO */ 1634 unsigned long pfn:41; /* RO */
1283 unsigned long gaa:2; /* RO */ 1635 unsigned long gaa:2; /* RO */
@@ -1294,6 +1646,16 @@ union uvh_gr1_tlb_mmr_read_data_hi_u {
1294 unsigned long undef_46_54:9; /* Undefined */ 1646 unsigned long undef_46_54:9; /* Undefined */
1295 unsigned long way_ecc:9; /* RO */ 1647 unsigned long way_ecc:9; /* RO */
1296 } s3; 1648 } s3;
1649 struct uv4h_gr1_tlb_mmr_read_data_hi_s {
1650 unsigned long pfn:34; /* RO */
1651 unsigned long pnid:15; /* RO */
1652 unsigned long gaa:2; /* RO */
1653 unsigned long dirty:1; /* RO */
1654 unsigned long larger:1; /* RO */
1655 unsigned long aa_ext:1; /* RO */
1656 unsigned long undef_54:1; /* Undefined */
1657 unsigned long way_ecc:9; /* RO */
1658 } s4;
1297}; 1659};
1298 1660
1299/* ========================================================================= */ 1661/* ========================================================================= */
@@ -1302,10 +1664,12 @@ union uvh_gr1_tlb_mmr_read_data_hi_u {
1302#define UV1H_GR1_TLB_MMR_READ_DATA_LO 0x8010a8UL 1664#define UV1H_GR1_TLB_MMR_READ_DATA_LO 0x8010a8UL
1303#define UV2H_GR1_TLB_MMR_READ_DATA_LO 0x10010a8UL 1665#define UV2H_GR1_TLB_MMR_READ_DATA_LO 0x10010a8UL
1304#define UV3H_GR1_TLB_MMR_READ_DATA_LO 0x10010a8UL 1666#define UV3H_GR1_TLB_MMR_READ_DATA_LO 0x10010a8UL
1305#define UVH_GR1_TLB_MMR_READ_DATA_LO \ 1667#define UV4H_GR1_TLB_MMR_READ_DATA_LO 0x7010a8UL
1306 (is_uv1_hub() ? UV1H_GR1_TLB_MMR_READ_DATA_LO : \ 1668#define UVH_GR1_TLB_MMR_READ_DATA_LO ( \
1307 (is_uv2_hub() ? UV2H_GR1_TLB_MMR_READ_DATA_LO : \ 1669 is_uv1_hub() ? UV1H_GR1_TLB_MMR_READ_DATA_LO : \
1308 UV3H_GR1_TLB_MMR_READ_DATA_LO)) 1670 is_uv2_hub() ? UV2H_GR1_TLB_MMR_READ_DATA_LO : \
1671 is_uv3_hub() ? UV3H_GR1_TLB_MMR_READ_DATA_LO : \
1672 /*is_uv4_hub*/ UV4H_GR1_TLB_MMR_READ_DATA_LO)
1309 1673
1310#define UVH_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 1674#define UVH_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0
1311#define UVH_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 1675#define UVH_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39
@@ -1342,6 +1706,14 @@ union uvh_gr1_tlb_mmr_read_data_hi_u {
1342#define UV3H_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL 1706#define UV3H_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL
1343#define UV3H_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL 1707#define UV3H_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL
1344 1708
1709#define UV4H_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0
1710#define UV4H_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39
1711#define UV4H_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT 63
1712#define UV4H_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL
1713#define UV4H_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL
1714#define UV4H_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL
1715
1716
1345union uvh_gr1_tlb_mmr_read_data_lo_u { 1717union uvh_gr1_tlb_mmr_read_data_lo_u {
1346 unsigned long v; 1718 unsigned long v;
1347 struct uvh_gr1_tlb_mmr_read_data_lo_s { 1719 struct uvh_gr1_tlb_mmr_read_data_lo_s {
@@ -1369,6 +1741,11 @@ union uvh_gr1_tlb_mmr_read_data_lo_u {
1369 unsigned long asid:24; /* RO */ 1741 unsigned long asid:24; /* RO */
1370 unsigned long valid:1; /* RO */ 1742 unsigned long valid:1; /* RO */
1371 } s3; 1743 } s3;
1744 struct uv4h_gr1_tlb_mmr_read_data_lo_s {
1745 unsigned long vpn:39; /* RO */
1746 unsigned long asid:24; /* RO */
1747 unsigned long valid:1; /* RO */
1748 } s4;
1372}; 1749};
1373 1750
1374/* ========================================================================= */ 1751/* ========================================================================= */
@@ -1379,6 +1756,7 @@ union uvh_gr1_tlb_mmr_read_data_lo_u {
1379#define UVH_INT_CMPB_REAL_TIME_CMPB_SHFT 0 1756#define UVH_INT_CMPB_REAL_TIME_CMPB_SHFT 0
1380#define UVH_INT_CMPB_REAL_TIME_CMPB_MASK 0x00ffffffffffffffUL 1757#define UVH_INT_CMPB_REAL_TIME_CMPB_MASK 0x00ffffffffffffffUL
1381 1758
1759
1382union uvh_int_cmpb_u { 1760union uvh_int_cmpb_u {
1383 unsigned long v; 1761 unsigned long v;
1384 struct uvh_int_cmpb_s { 1762 struct uvh_int_cmpb_s {
@@ -1392,12 +1770,14 @@ union uvh_int_cmpb_u {
1392/* ========================================================================= */ 1770/* ========================================================================= */
1393#define UVH_INT_CMPC 0x22100UL 1771#define UVH_INT_CMPC 0x22100UL
1394 1772
1773
1395#define UV1H_INT_CMPC_REAL_TIME_CMPC_SHFT 0 1774#define UV1H_INT_CMPC_REAL_TIME_CMPC_SHFT 0
1396#define UV1H_INT_CMPC_REAL_TIME_CMPC_MASK 0x00ffffffffffffffUL 1775#define UV1H_INT_CMPC_REAL_TIME_CMPC_MASK 0x00ffffffffffffffUL
1397 1776
1398#define UVXH_INT_CMPC_REAL_TIME_CMP_2_SHFT 0 1777#define UVXH_INT_CMPC_REAL_TIME_CMP_2_SHFT 0
1399#define UVXH_INT_CMPC_REAL_TIME_CMP_2_MASK 0x00ffffffffffffffUL 1778#define UVXH_INT_CMPC_REAL_TIME_CMP_2_MASK 0x00ffffffffffffffUL
1400 1779
1780
1401union uvh_int_cmpc_u { 1781union uvh_int_cmpc_u {
1402 unsigned long v; 1782 unsigned long v;
1403 struct uvh_int_cmpc_s { 1783 struct uvh_int_cmpc_s {
@@ -1411,12 +1791,14 @@ union uvh_int_cmpc_u {
1411/* ========================================================================= */ 1791/* ========================================================================= */
1412#define UVH_INT_CMPD 0x22180UL 1792#define UVH_INT_CMPD 0x22180UL
1413 1793
1794
1414#define UV1H_INT_CMPD_REAL_TIME_CMPD_SHFT 0 1795#define UV1H_INT_CMPD_REAL_TIME_CMPD_SHFT 0
1415#define UV1H_INT_CMPD_REAL_TIME_CMPD_MASK 0x00ffffffffffffffUL 1796#define UV1H_INT_CMPD_REAL_TIME_CMPD_MASK 0x00ffffffffffffffUL
1416 1797
1417#define UVXH_INT_CMPD_REAL_TIME_CMP_3_SHFT 0 1798#define UVXH_INT_CMPD_REAL_TIME_CMP_3_SHFT 0
1418#define UVXH_INT_CMPD_REAL_TIME_CMP_3_MASK 0x00ffffffffffffffUL 1799#define UVXH_INT_CMPD_REAL_TIME_CMP_3_MASK 0x00ffffffffffffffUL
1419 1800
1801
1420union uvh_int_cmpd_u { 1802union uvh_int_cmpd_u {
1421 unsigned long v; 1803 unsigned long v;
1422 struct uvh_int_cmpd_s { 1804 struct uvh_int_cmpd_s {
@@ -1429,7 +1811,16 @@ union uvh_int_cmpd_u {
1429/* UVH_IPI_INT */ 1811/* UVH_IPI_INT */
1430/* ========================================================================= */ 1812/* ========================================================================= */
1431#define UVH_IPI_INT 0x60500UL 1813#define UVH_IPI_INT 0x60500UL
1432#define UVH_IPI_INT_32 0x348 1814
1815#define UV1H_IPI_INT_32 0x348
1816#define UV2H_IPI_INT_32 0x348
1817#define UV3H_IPI_INT_32 0x348
1818#define UV4H_IPI_INT_32 0x268
1819#define UVH_IPI_INT_32 ( \
1820 is_uv1_hub() ? UV1H_IPI_INT_32 : \
1821 is_uv2_hub() ? UV2H_IPI_INT_32 : \
1822 is_uv3_hub() ? UV3H_IPI_INT_32 : \
1823 /*is_uv4_hub*/ UV4H_IPI_INT_32)
1433 1824
1434#define UVH_IPI_INT_VECTOR_SHFT 0 1825#define UVH_IPI_INT_VECTOR_SHFT 0
1435#define UVH_IPI_INT_DELIVERY_MODE_SHFT 8 1826#define UVH_IPI_INT_DELIVERY_MODE_SHFT 8
@@ -1442,6 +1833,7 @@ union uvh_int_cmpd_u {
1442#define UVH_IPI_INT_APIC_ID_MASK 0x0000ffffffff0000UL 1833#define UVH_IPI_INT_APIC_ID_MASK 0x0000ffffffff0000UL
1443#define UVH_IPI_INT_SEND_MASK 0x8000000000000000UL 1834#define UVH_IPI_INT_SEND_MASK 0x8000000000000000UL
1444 1835
1836
1445union uvh_ipi_int_u { 1837union uvh_ipi_int_u {
1446 unsigned long v; 1838 unsigned long v;
1447 struct uvh_ipi_int_s { 1839 struct uvh_ipi_int_s {
@@ -1458,103 +1850,269 @@ union uvh_ipi_int_u {
1458/* ========================================================================= */ 1850/* ========================================================================= */
1459/* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST */ 1851/* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST */
1460/* ========================================================================= */ 1852/* ========================================================================= */
1461#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL 1853#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL
1854#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL
1855#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL
1856#define UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST uv_undefined("UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST")
1857#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST ( \
1858 is_uv1_hub() ? UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST : \
1859 is_uv2_hub() ? UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST : \
1860 is_uv3_hub() ? UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST : \
1861 /*is_uv4_hub*/ UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST)
1462#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_32 0x9c0 1862#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_32 0x9c0
1463 1863
1464#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4 1864
1465#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49 1865#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4
1466#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_MASK 0x000007fffffffff0UL 1866#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49
1467#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_MASK 0x7ffe000000000000UL 1867#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_MASK 0x000007fffffffff0UL
1868#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_MASK 0x7ffe000000000000UL
1869
1870
1871#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4
1872#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49
1873#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_MASK 0x000007fffffffff0UL
1874#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_MASK 0x7ffe000000000000UL
1875
1876#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4
1877#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49
1878#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_MASK 0x000007fffffffff0UL
1879#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_MASK 0x7ffe000000000000UL
1880
1468 1881
1469union uvh_lb_bau_intd_payload_queue_first_u { 1882union uvh_lb_bau_intd_payload_queue_first_u {
1470 unsigned long v; 1883 unsigned long v;
1471 struct uvh_lb_bau_intd_payload_queue_first_s { 1884 struct uv1h_lb_bau_intd_payload_queue_first_s {
1472 unsigned long rsvd_0_3:4; 1885 unsigned long rsvd_0_3:4;
1473 unsigned long address:39; /* RW */ 1886 unsigned long address:39; /* RW */
1474 unsigned long rsvd_43_48:6; 1887 unsigned long rsvd_43_48:6;
1475 unsigned long node_id:14; /* RW */ 1888 unsigned long node_id:14; /* RW */
1476 unsigned long rsvd_63:1; 1889 unsigned long rsvd_63:1;
1477 } s; 1890 } s1;
1891 struct uv2h_lb_bau_intd_payload_queue_first_s {
1892 unsigned long rsvd_0_3:4;
1893 unsigned long address:39; /* RW */
1894 unsigned long rsvd_43_48:6;
1895 unsigned long node_id:14; /* RW */
1896 unsigned long rsvd_63:1;
1897 } s2;
1898 struct uv3h_lb_bau_intd_payload_queue_first_s {
1899 unsigned long rsvd_0_3:4;
1900 unsigned long address:39; /* RW */
1901 unsigned long rsvd_43_48:6;
1902 unsigned long node_id:14; /* RW */
1903 unsigned long rsvd_63:1;
1904 } s3;
1478}; 1905};
1479 1906
1480/* ========================================================================= */ 1907/* ========================================================================= */
1481/* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST */ 1908/* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST */
1482/* ========================================================================= */ 1909/* ========================================================================= */
1483#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL 1910#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL
1911#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL
1912#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL
1913#define UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST uv_undefined("UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST")
1914#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST ( \
1915 is_uv1_hub() ? UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST : \
1916 is_uv2_hub() ? UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST : \
1917 is_uv3_hub() ? UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST : \
1918 /*is_uv4_hub*/ UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST)
1484#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_32 0x9c8 1919#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_32 0x9c8
1485 1920
1486#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4 1921
1487#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL 1922#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4
1923#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL
1924
1925
1926#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4
1927#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL
1928
1929#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4
1930#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL
1931
1488 1932
1489union uvh_lb_bau_intd_payload_queue_last_u { 1933union uvh_lb_bau_intd_payload_queue_last_u {
1490 unsigned long v; 1934 unsigned long v;
1491 struct uvh_lb_bau_intd_payload_queue_last_s { 1935 struct uv1h_lb_bau_intd_payload_queue_last_s {
1492 unsigned long rsvd_0_3:4; 1936 unsigned long rsvd_0_3:4;
1493 unsigned long address:39; /* RW */ 1937 unsigned long address:39; /* RW */
1494 unsigned long rsvd_43_63:21; 1938 unsigned long rsvd_43_63:21;
1495 } s; 1939 } s1;
1940 struct uv2h_lb_bau_intd_payload_queue_last_s {
1941 unsigned long rsvd_0_3:4;
1942 unsigned long address:39; /* RW */
1943 unsigned long rsvd_43_63:21;
1944 } s2;
1945 struct uv3h_lb_bau_intd_payload_queue_last_s {
1946 unsigned long rsvd_0_3:4;
1947 unsigned long address:39; /* RW */
1948 unsigned long rsvd_43_63:21;
1949 } s3;
1496}; 1950};
1497 1951
1498/* ========================================================================= */ 1952/* ========================================================================= */
1499/* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL */ 1953/* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL */
1500/* ========================================================================= */ 1954/* ========================================================================= */
1501#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL 1955#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL
1956#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL
1957#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL
1958#define UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL uv_undefined("UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL")
1959#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL ( \
1960 is_uv1_hub() ? UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL : \
1961 is_uv2_hub() ? UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL : \
1962 is_uv3_hub() ? UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL : \
1963 /*is_uv4_hub*/ UV4H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL)
1502#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_32 0x9d0 1964#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_32 0x9d0
1503 1965
1504#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4 1966
1505#define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL 1967#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4
1968#define UV1H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL
1969
1970
1971#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4
1972#define UV2H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL
1973
1974#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4
1975#define UV3H_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL
1976
1506 1977
1507union uvh_lb_bau_intd_payload_queue_tail_u { 1978union uvh_lb_bau_intd_payload_queue_tail_u {
1508 unsigned long v; 1979 unsigned long v;
1509 struct uvh_lb_bau_intd_payload_queue_tail_s { 1980 struct uv1h_lb_bau_intd_payload_queue_tail_s {
1510 unsigned long rsvd_0_3:4; 1981 unsigned long rsvd_0_3:4;
1511 unsigned long address:39; /* RW */ 1982 unsigned long address:39; /* RW */
1512 unsigned long rsvd_43_63:21; 1983 unsigned long rsvd_43_63:21;
1513 } s; 1984 } s1;
1985 struct uv2h_lb_bau_intd_payload_queue_tail_s {
1986 unsigned long rsvd_0_3:4;
1987 unsigned long address:39; /* RW */
1988 unsigned long rsvd_43_63:21;
1989 } s2;
1990 struct uv3h_lb_bau_intd_payload_queue_tail_s {
1991 unsigned long rsvd_0_3:4;
1992 unsigned long address:39; /* RW */
1993 unsigned long rsvd_43_63:21;
1994 } s3;
1514}; 1995};
1515 1996
1516/* ========================================================================= */ 1997/* ========================================================================= */
1517/* UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE */ 1998/* UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE */
1518/* ========================================================================= */ 1999/* ========================================================================= */
1519#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL 2000#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL
2001#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL
2002#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL
2003#define UV4H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE uv_undefined("UV4H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE")
2004#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE ( \
2005 is_uv1_hub() ? UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE : \
2006 is_uv2_hub() ? UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE : \
2007 is_uv3_hub() ? UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE : \
2008 /*is_uv4_hub*/ UV4H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE)
1520#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_32 0xa68 2009#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_32 0xa68
1521 2010
1522#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0 2011
1523#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1 2012#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0
1524#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_SHFT 2 2013#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1
1525#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_SHFT 3 2014#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_SHFT 2
1526#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_SHFT 4 2015#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_SHFT 3
1527#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_SHFT 5 2016#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_SHFT 4
1528#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_SHFT 6 2017#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_SHFT 5
1529#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_SHFT 7 2018#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_SHFT 6
1530#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_SHFT 8 2019#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_SHFT 7
1531#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_SHFT 9 2020#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_SHFT 8
1532#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_SHFT 10 2021#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_SHFT 9
1533#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_SHFT 11 2022#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_SHFT 10
1534#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_SHFT 12 2023#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_SHFT 11
1535#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_SHFT 13 2024#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_SHFT 12
1536#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_SHFT 14 2025#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_SHFT 13
1537#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_SHFT 15 2026#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_SHFT 14
1538#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_MASK 0x0000000000000001UL 2027#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_SHFT 15
1539#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_MASK 0x0000000000000002UL 2028#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_MASK 0x0000000000000001UL
1540#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_MASK 0x0000000000000004UL 2029#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_MASK 0x0000000000000002UL
1541#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_MASK 0x0000000000000008UL 2030#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_MASK 0x0000000000000004UL
1542#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_MASK 0x0000000000000010UL 2031#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_MASK 0x0000000000000008UL
1543#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_MASK 0x0000000000000020UL 2032#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_MASK 0x0000000000000010UL
1544#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_MASK 0x0000000000000040UL 2033#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_MASK 0x0000000000000020UL
1545#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_MASK 0x0000000000000080UL 2034#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_MASK 0x0000000000000040UL
1546#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_MASK 0x0000000000000100UL 2035#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_MASK 0x0000000000000080UL
1547#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_MASK 0x0000000000000200UL 2036#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_MASK 0x0000000000000100UL
1548#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_MASK 0x0000000000000400UL 2037#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_MASK 0x0000000000000200UL
1549#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_MASK 0x0000000000000800UL 2038#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_MASK 0x0000000000000400UL
1550#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_MASK 0x0000000000001000UL 2039#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_MASK 0x0000000000000800UL
1551#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_MASK 0x0000000000002000UL 2040#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_MASK 0x0000000000001000UL
1552#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_MASK 0x0000000000004000UL 2041#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_MASK 0x0000000000002000UL
1553#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_MASK 0x0000000000008000UL 2042#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_MASK 0x0000000000004000UL
2043#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_MASK 0x0000000000008000UL
2044
2045
2046#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0
2047#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1
2048#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_SHFT 2
2049#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_SHFT 3
2050#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_SHFT 4
2051#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_SHFT 5
2052#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_SHFT 6
2053#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_SHFT 7
2054#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_SHFT 8
2055#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_SHFT 9
2056#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_SHFT 10
2057#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_SHFT 11
2058#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_SHFT 12
2059#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_SHFT 13
2060#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_SHFT 14
2061#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_SHFT 15
2062#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_MASK 0x0000000000000001UL
2063#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_MASK 0x0000000000000002UL
2064#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_MASK 0x0000000000000004UL
2065#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_MASK 0x0000000000000008UL
2066#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_MASK 0x0000000000000010UL
2067#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_MASK 0x0000000000000020UL
2068#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_MASK 0x0000000000000040UL
2069#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_MASK 0x0000000000000080UL
2070#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_MASK 0x0000000000000100UL
2071#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_MASK 0x0000000000000200UL
2072#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_MASK 0x0000000000000400UL
2073#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_MASK 0x0000000000000800UL
2074#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_MASK 0x0000000000001000UL
2075#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_MASK 0x0000000000002000UL
2076#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_MASK 0x0000000000004000UL
2077#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_MASK 0x0000000000008000UL
2078
2079#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0
2080#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1
2081#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_SHFT 2
2082#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_SHFT 3
2083#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_SHFT 4
2084#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_SHFT 5
2085#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_SHFT 6
2086#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_SHFT 7
2087#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_SHFT 8
2088#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_SHFT 9
2089#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_SHFT 10
2090#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_SHFT 11
2091#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_SHFT 12
2092#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_SHFT 13
2093#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_SHFT 14
2094#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_SHFT 15
2095#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_MASK 0x0000000000000001UL
2096#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_MASK 0x0000000000000002UL
2097#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_2_MASK 0x0000000000000004UL
2098#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_3_MASK 0x0000000000000008UL
2099#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_4_MASK 0x0000000000000010UL
2100#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_5_MASK 0x0000000000000020UL
2101#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_6_MASK 0x0000000000000040UL
2102#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_7_MASK 0x0000000000000080UL
2103#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_0_MASK 0x0000000000000100UL
2104#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_1_MASK 0x0000000000000200UL
2105#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_2_MASK 0x0000000000000400UL
2106#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_3_MASK 0x0000000000000800UL
2107#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_4_MASK 0x0000000000001000UL
2108#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_5_MASK 0x0000000000002000UL
2109#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_6_MASK 0x0000000000004000UL
2110#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_TIMEOUT_7_MASK 0x0000000000008000UL
2111
1554 2112
1555union uvh_lb_bau_intd_software_acknowledge_u { 2113union uvh_lb_bau_intd_software_acknowledge_u {
1556 unsigned long v; 2114 unsigned long v;
1557 struct uvh_lb_bau_intd_software_acknowledge_s { 2115 struct uv1h_lb_bau_intd_software_acknowledge_s {
1558 unsigned long pending_0:1; /* RW, W1C */ 2116 unsigned long pending_0:1; /* RW, W1C */
1559 unsigned long pending_1:1; /* RW, W1C */ 2117 unsigned long pending_1:1; /* RW, W1C */
1560 unsigned long pending_2:1; /* RW, W1C */ 2118 unsigned long pending_2:1; /* RW, W1C */
@@ -1572,27 +2130,84 @@ union uvh_lb_bau_intd_software_acknowledge_u {
1572 unsigned long timeout_6:1; /* RW, W1C */ 2130 unsigned long timeout_6:1; /* RW, W1C */
1573 unsigned long timeout_7:1; /* RW, W1C */ 2131 unsigned long timeout_7:1; /* RW, W1C */
1574 unsigned long rsvd_16_63:48; 2132 unsigned long rsvd_16_63:48;
1575 } s; 2133 } s1;
2134 struct uv2h_lb_bau_intd_software_acknowledge_s {
2135 unsigned long pending_0:1; /* RW */
2136 unsigned long pending_1:1; /* RW */
2137 unsigned long pending_2:1; /* RW */
2138 unsigned long pending_3:1; /* RW */
2139 unsigned long pending_4:1; /* RW */
2140 unsigned long pending_5:1; /* RW */
2141 unsigned long pending_6:1; /* RW */
2142 unsigned long pending_7:1; /* RW */
2143 unsigned long timeout_0:1; /* RW */
2144 unsigned long timeout_1:1; /* RW */
2145 unsigned long timeout_2:1; /* RW */
2146 unsigned long timeout_3:1; /* RW */
2147 unsigned long timeout_4:1; /* RW */
2148 unsigned long timeout_5:1; /* RW */
2149 unsigned long timeout_6:1; /* RW */
2150 unsigned long timeout_7:1; /* RW */
2151 unsigned long rsvd_16_63:48;
2152 } s2;
2153 struct uv3h_lb_bau_intd_software_acknowledge_s {
2154 unsigned long pending_0:1; /* RW */
2155 unsigned long pending_1:1; /* RW */
2156 unsigned long pending_2:1; /* RW */
2157 unsigned long pending_3:1; /* RW */
2158 unsigned long pending_4:1; /* RW */
2159 unsigned long pending_5:1; /* RW */
2160 unsigned long pending_6:1; /* RW */
2161 unsigned long pending_7:1; /* RW */
2162 unsigned long timeout_0:1; /* RW */
2163 unsigned long timeout_1:1; /* RW */
2164 unsigned long timeout_2:1; /* RW */
2165 unsigned long timeout_3:1; /* RW */
2166 unsigned long timeout_4:1; /* RW */
2167 unsigned long timeout_5:1; /* RW */
2168 unsigned long timeout_6:1; /* RW */
2169 unsigned long timeout_7:1; /* RW */
2170 unsigned long rsvd_16_63:48;
2171 } s3;
1576}; 2172};
1577 2173
1578/* ========================================================================= */ 2174/* ========================================================================= */
1579/* UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS */ 2175/* UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS */
1580/* ========================================================================= */ 2176/* ========================================================================= */
1581#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x320088UL 2177#define UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x320088UL
2178#define UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x320088UL
2179#define UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x320088UL
2180#define UV4H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS uv_undefined("UV4H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS")
2181#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS ( \
2182 is_uv1_hub() ? UV1H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS : \
2183 is_uv2_hub() ? UV2H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS : \
2184 is_uv3_hub() ? UV3H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS : \
2185 /*is_uv4_hub*/ UV4H_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS)
1582#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS_32 0xa70 2186#define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS_32 0xa70
1583 2187
1584 2188
1585/* ========================================================================= */ 2189/* ========================================================================= */
1586/* UVH_LB_BAU_MISC_CONTROL */ 2190/* UVH_LB_BAU_MISC_CONTROL */
1587/* ========================================================================= */ 2191/* ========================================================================= */
1588#define UVH_LB_BAU_MISC_CONTROL 0x320170UL
1589#define UV1H_LB_BAU_MISC_CONTROL 0x320170UL 2192#define UV1H_LB_BAU_MISC_CONTROL 0x320170UL
1590#define UV2H_LB_BAU_MISC_CONTROL 0x320170UL 2193#define UV2H_LB_BAU_MISC_CONTROL 0x320170UL
1591#define UV3H_LB_BAU_MISC_CONTROL 0x320170UL 2194#define UV3H_LB_BAU_MISC_CONTROL 0x320170UL
1592#define UVH_LB_BAU_MISC_CONTROL_32 0xa10 2195#define UV4H_LB_BAU_MISC_CONTROL 0xc8170UL
1593#define UV1H_LB_BAU_MISC_CONTROL_32 0x320170UL 2196#define UVH_LB_BAU_MISC_CONTROL ( \
1594#define UV2H_LB_BAU_MISC_CONTROL_32 0x320170UL 2197 is_uv1_hub() ? UV1H_LB_BAU_MISC_CONTROL : \
1595#define UV3H_LB_BAU_MISC_CONTROL_32 0x320170UL 2198 is_uv2_hub() ? UV2H_LB_BAU_MISC_CONTROL : \
2199 is_uv3_hub() ? UV3H_LB_BAU_MISC_CONTROL : \
2200 /*is_uv4_hub*/ UV4H_LB_BAU_MISC_CONTROL)
2201
2202#define UV1H_LB_BAU_MISC_CONTROL_32 0xa10
2203#define UV2H_LB_BAU_MISC_CONTROL_32 0xa10
2204#define UV3H_LB_BAU_MISC_CONTROL_32 0xa10
2205#define UV4H_LB_BAU_MISC_CONTROL_32 0xa18
2206#define UVH_LB_BAU_MISC_CONTROL_32 ( \
2207 is_uv1_hub() ? UV1H_LB_BAU_MISC_CONTROL_32 : \
2208 is_uv2_hub() ? UV2H_LB_BAU_MISC_CONTROL_32 : \
2209 is_uv3_hub() ? UV3H_LB_BAU_MISC_CONTROL_32 : \
2210 /*is_uv4_hub*/ UV4H_LB_BAU_MISC_CONTROL_32)
1596 2211
1597#define UVH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0 2212#define UVH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0
1598#define UVH_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8 2213#define UVH_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8
@@ -1600,8 +2215,6 @@ union uvh_lb_bau_intd_software_acknowledge_u {
1600#define UVH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT 10 2215#define UVH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT 10
1601#define UVH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11 2216#define UVH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11
1602#define UVH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14 2217#define UVH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14
1603#define UVH_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT 15
1604#define UVH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT 16
1605#define UVH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20 2218#define UVH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20
1606#define UVH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21 2219#define UVH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21
1607#define UVH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22 2220#define UVH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22
@@ -1616,8 +2229,6 @@ union uvh_lb_bau_intd_software_acknowledge_u {
1616#define UVH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK 0x0000000000000400UL 2229#define UVH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK 0x0000000000000400UL
1617#define UVH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL 2230#define UVH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL
1618#define UVH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL 2231#define UVH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL
1619#define UVH_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK 0x0000000000008000UL
1620#define UVH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK 0x00000000000f0000UL
1621#define UVH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL 2232#define UVH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL
1622#define UVH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL 2233#define UVH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL
1623#define UVH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL 2234#define UVH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL
@@ -1666,8 +2277,6 @@ union uvh_lb_bau_intd_software_acknowledge_u {
1666#define UVXH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT 10 2277#define UVXH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT 10
1667#define UVXH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11 2278#define UVXH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11
1668#define UVXH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14 2279#define UVXH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14
1669#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT 15
1670#define UVXH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT 16
1671#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20 2280#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20
1672#define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21 2281#define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21
1673#define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22 2282#define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22
@@ -1689,8 +2298,6 @@ union uvh_lb_bau_intd_software_acknowledge_u {
1689#define UVXH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK 0x0000000000000400UL 2298#define UVXH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK 0x0000000000000400UL
1690#define UVXH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL 2299#define UVXH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL
1691#define UVXH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL 2300#define UVXH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL
1692#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK 0x0000000000008000UL
1693#define UVXH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK 0x00000000000f0000UL
1694#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL 2301#define UVXH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL
1695#define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL 2302#define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL
1696#define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL 2303#define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL
@@ -1807,6 +2414,88 @@ union uvh_lb_bau_intd_software_acknowledge_u {
1807#define UV3H_LB_BAU_MISC_CONTROL_THREAD_KILL_TIMEBASE_MASK 0x00003fc000000000UL 2414#define UV3H_LB_BAU_MISC_CONTROL_THREAD_KILL_TIMEBASE_MASK 0x00003fc000000000UL
1808#define UV3H_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL 2415#define UV3H_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL
1809 2416
2417#define UV4H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0
2418#define UV4H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8
2419#define UV4H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT 9
2420#define UV4H_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT 10
2421#define UV4H_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11
2422#define UV4H_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14
2423#define UV4H_LB_BAU_MISC_CONTROL_RESERVED_15_19_SHFT 15
2424#define UV4H_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20
2425#define UV4H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21
2426#define UV4H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22
2427#define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_SHFT 23
2428#define UV4H_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24
2429#define UV4H_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27
2430#define UV4H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28
2431#define UV4H_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_SHFT 29
2432#define UV4H_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_SHFT 30
2433#define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_SHFT 31
2434#define UV4H_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_SHFT 32
2435#define UV4H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_SHFT 33
2436#define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_SHFT 34
2437#define UV4H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_SHFT 35
2438#define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_QUIESCE_MSGS_TO_QPI_SHFT 36
2439#define UV4H_LB_BAU_MISC_CONTROL_RESERVED_37_SHFT 37
2440#define UV4H_LB_BAU_MISC_CONTROL_THREAD_KILL_TIMEBASE_SHFT 38
2441#define UV4H_LB_BAU_MISC_CONTROL_ADDRESS_INTERLEAVE_SELECT_SHFT 46
2442#define UV4H_LB_BAU_MISC_CONTROL_FUN_SHFT 48
2443#define UV4H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK 0x00000000000000ffUL
2444#define UV4H_LB_BAU_MISC_CONTROL_APIC_MODE_MASK 0x0000000000000100UL
2445#define UV4H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK 0x0000000000000200UL
2446#define UV4H_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK 0x0000000000000400UL
2447#define UV4H_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL
2448#define UV4H_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL
2449#define UV4H_LB_BAU_MISC_CONTROL_RESERVED_15_19_MASK 0x00000000000f8000UL
2450#define UV4H_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL
2451#define UV4H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL
2452#define UV4H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL
2453#define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_MASK 0x0000000000800000UL
2454#define UV4H_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL
2455#define UV4H_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL
2456#define UV4H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL
2457#define UV4H_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_MASK 0x0000000020000000UL
2458#define UV4H_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_MASK 0x0000000040000000UL
2459#define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_MASK 0x0000000080000000UL
2460#define UV4H_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_MASK 0x0000000100000000UL
2461#define UV4H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_MASK 0x0000000200000000UL
2462#define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_MASK 0x0000000400000000UL
2463#define UV4H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_MASK 0x0000000800000000UL
2464#define UV4H_LB_BAU_MISC_CONTROL_SUPPRESS_QUIESCE_MSGS_TO_QPI_MASK 0x0000001000000000UL
2465#define UV4H_LB_BAU_MISC_CONTROL_RESERVED_37_MASK 0x0000002000000000UL
2466#define UV4H_LB_BAU_MISC_CONTROL_THREAD_KILL_TIMEBASE_MASK 0x00003fc000000000UL
2467#define UV4H_LB_BAU_MISC_CONTROL_ADDRESS_INTERLEAVE_SELECT_MASK 0x0000400000000000UL
2468#define UV4H_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL
2469
2470#define UV4H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK \
2471 uv_undefined("UV4H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK")
2472#define UVH_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK ( \
2473 is_uv1_hub() ? UV1H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK : \
2474 is_uv2_hub() ? UV2H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK : \
2475 is_uv3_hub() ? UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK : \
2476 /*is_uv4_hub*/ UV4H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK)
2477#define UV4H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT \
2478 uv_undefined("UV4H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT")
2479#define UVH_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT ( \
2480 is_uv1_hub() ? UV1H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT : \
2481 is_uv2_hub() ? UV2H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT : \
2482 is_uv3_hub() ? UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT : \
2483 /*is_uv4_hub*/ UV4H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT)
2484#define UV4H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK \
2485 uv_undefined("UV4H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK")
2486#define UVH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK ( \
2487 is_uv1_hub() ? UV1H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK : \
2488 is_uv2_hub() ? UV2H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK : \
2489 is_uv3_hub() ? UV3H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK : \
2490 /*is_uv4_hub*/ UV4H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK)
2491#define UV4H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT \
2492 uv_undefined("UV4H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT")
2493#define UVH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT ( \
2494 is_uv1_hub() ? UV1H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT : \
2495 is_uv2_hub() ? UV2H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT : \
2496 is_uv3_hub() ? UV3H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT : \
2497 /*is_uv4_hub*/ UV4H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT)
2498
1810union uvh_lb_bau_misc_control_u { 2499union uvh_lb_bau_misc_control_u {
1811 unsigned long v; 2500 unsigned long v;
1812 struct uvh_lb_bau_misc_control_s { 2501 struct uvh_lb_bau_misc_control_s {
@@ -1816,8 +2505,7 @@ union uvh_lb_bau_misc_control_u {
1816 unsigned long force_lock_nop:1; /* RW */ 2505 unsigned long force_lock_nop:1; /* RW */
1817 unsigned long qpi_agent_presence_vector:3; /* RW */ 2506 unsigned long qpi_agent_presence_vector:3; /* RW */
1818 unsigned long descriptor_fetch_mode:1; /* RW */ 2507 unsigned long descriptor_fetch_mode:1; /* RW */
1819 unsigned long enable_intd_soft_ack_mode:1; /* RW */ 2508 unsigned long rsvd_15_19:5;
1820 unsigned long intd_soft_ack_timeout_period:4; /* RW */
1821 unsigned long enable_dual_mapping_mode:1; /* RW */ 2509 unsigned long enable_dual_mapping_mode:1; /* RW */
1822 unsigned long vga_io_port_decode_enable:1; /* RW */ 2510 unsigned long vga_io_port_decode_enable:1; /* RW */
1823 unsigned long vga_io_port_16_bit_decode:1; /* RW */ 2511 unsigned long vga_io_port_16_bit_decode:1; /* RW */
@@ -1854,8 +2542,7 @@ union uvh_lb_bau_misc_control_u {
1854 unsigned long force_lock_nop:1; /* RW */ 2542 unsigned long force_lock_nop:1; /* RW */
1855 unsigned long qpi_agent_presence_vector:3; /* RW */ 2543 unsigned long qpi_agent_presence_vector:3; /* RW */
1856 unsigned long descriptor_fetch_mode:1; /* RW */ 2544 unsigned long descriptor_fetch_mode:1; /* RW */
1857 unsigned long enable_intd_soft_ack_mode:1; /* RW */ 2545 unsigned long rsvd_15_19:5;
1858 unsigned long intd_soft_ack_timeout_period:4; /* RW */
1859 unsigned long enable_dual_mapping_mode:1; /* RW */ 2546 unsigned long enable_dual_mapping_mode:1; /* RW */
1860 unsigned long vga_io_port_decode_enable:1; /* RW */ 2547 unsigned long vga_io_port_decode_enable:1; /* RW */
1861 unsigned long vga_io_port_16_bit_decode:1; /* RW */ 2548 unsigned long vga_io_port_16_bit_decode:1; /* RW */
@@ -1928,13 +2615,59 @@ union uvh_lb_bau_misc_control_u {
1928 unsigned long rsvd_46_47:2; 2615 unsigned long rsvd_46_47:2;
1929 unsigned long fun:16; /* RW */ 2616 unsigned long fun:16; /* RW */
1930 } s3; 2617 } s3;
2618 struct uv4h_lb_bau_misc_control_s {
2619 unsigned long rejection_delay:8; /* RW */
2620 unsigned long apic_mode:1; /* RW */
2621 unsigned long force_broadcast:1; /* RW */
2622 unsigned long force_lock_nop:1; /* RW */
2623 unsigned long qpi_agent_presence_vector:3; /* RW */
2624 unsigned long descriptor_fetch_mode:1; /* RW */
2625 unsigned long rsvd_15_19:5;
2626 unsigned long enable_dual_mapping_mode:1; /* RW */
2627 unsigned long vga_io_port_decode_enable:1; /* RW */
2628 unsigned long vga_io_port_16_bit_decode:1; /* RW */
2629 unsigned long suppress_dest_registration:1; /* RW */
2630 unsigned long programmed_initial_priority:3; /* RW */
2631 unsigned long use_incoming_priority:1; /* RW */
2632 unsigned long enable_programmed_initial_priority:1;/* RW */
2633 unsigned long enable_automatic_apic_mode_selection:1;/* RW */
2634 unsigned long apic_mode_status:1; /* RO */
2635 unsigned long suppress_interrupts_to_self:1; /* RW */
2636 unsigned long enable_lock_based_system_flush:1;/* RW */
2637 unsigned long enable_extended_sb_status:1; /* RW */
2638 unsigned long suppress_int_prio_udt_to_self:1;/* RW */
2639 unsigned long use_legacy_descriptor_formats:1;/* RW */
2640 unsigned long suppress_quiesce_msgs_to_qpi:1; /* RW */
2641 unsigned long rsvd_37:1;
2642 unsigned long thread_kill_timebase:8; /* RW */
2643 unsigned long address_interleave_select:1; /* RW */
2644 unsigned long rsvd_47:1;
2645 unsigned long fun:16; /* RW */
2646 } s4;
1931}; 2647};
1932 2648
1933/* ========================================================================= */ 2649/* ========================================================================= */
1934/* UVH_LB_BAU_SB_ACTIVATION_CONTROL */ 2650/* UVH_LB_BAU_SB_ACTIVATION_CONTROL */
1935/* ========================================================================= */ 2651/* ========================================================================= */
1936#define UVH_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL 2652#define UV1H_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL
1937#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_32 0x9a8 2653#define UV2H_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL
2654#define UV3H_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL
2655#define UV4H_LB_BAU_SB_ACTIVATION_CONTROL 0xc8020UL
2656#define UVH_LB_BAU_SB_ACTIVATION_CONTROL ( \
2657 is_uv1_hub() ? UV1H_LB_BAU_SB_ACTIVATION_CONTROL : \
2658 is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_CONTROL : \
2659 is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_CONTROL : \
2660 /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_CONTROL)
2661
2662#define UV1H_LB_BAU_SB_ACTIVATION_CONTROL_32 0x9a8
2663#define UV2H_LB_BAU_SB_ACTIVATION_CONTROL_32 0x9a8
2664#define UV3H_LB_BAU_SB_ACTIVATION_CONTROL_32 0x9a8
2665#define UV4H_LB_BAU_SB_ACTIVATION_CONTROL_32 0x9c8
2666#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_32 ( \
2667 is_uv1_hub() ? UV1H_LB_BAU_SB_ACTIVATION_CONTROL_32 : \
2668 is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_CONTROL_32 : \
2669 is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_CONTROL_32 : \
2670 /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_CONTROL_32)
1938 2671
1939#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_SHFT 0 2672#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_SHFT 0
1940#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_SHFT 62 2673#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_SHFT 62
@@ -1943,6 +2676,7 @@ union uvh_lb_bau_misc_control_u {
1943#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_MASK 0x4000000000000000UL 2676#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_MASK 0x4000000000000000UL
1944#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INIT_MASK 0x8000000000000000UL 2677#define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INIT_MASK 0x8000000000000000UL
1945 2678
2679
1946union uvh_lb_bau_sb_activation_control_u { 2680union uvh_lb_bau_sb_activation_control_u {
1947 unsigned long v; 2681 unsigned long v;
1948 struct uvh_lb_bau_sb_activation_control_s { 2682 struct uvh_lb_bau_sb_activation_control_s {
@@ -1956,12 +2690,30 @@ union uvh_lb_bau_sb_activation_control_u {
1956/* ========================================================================= */ 2690/* ========================================================================= */
1957/* UVH_LB_BAU_SB_ACTIVATION_STATUS_0 */ 2691/* UVH_LB_BAU_SB_ACTIVATION_STATUS_0 */
1958/* ========================================================================= */ 2692/* ========================================================================= */
1959#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL 2693#define UV1H_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL
1960#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x9b0 2694#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL
2695#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL
2696#define UV4H_LB_BAU_SB_ACTIVATION_STATUS_0 0xc8030UL
2697#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0 ( \
2698 is_uv1_hub() ? UV1H_LB_BAU_SB_ACTIVATION_STATUS_0 : \
2699 is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_STATUS_0 : \
2700 is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_STATUS_0 : \
2701 /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_STATUS_0)
2702
2703#define UV1H_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x9b0
2704#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x9b0
2705#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x9b0
2706#define UV4H_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x9d0
2707#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_32 ( \
2708 is_uv1_hub() ? UV1H_LB_BAU_SB_ACTIVATION_STATUS_0_32 : \
2709 is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_STATUS_0_32 : \
2710 is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_STATUS_0_32 : \
2711 /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_STATUS_0_32)
1961 2712
1962#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_SHFT 0 2713#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_SHFT 0
1963#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_MASK 0xffffffffffffffffUL 2714#define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_MASK 0xffffffffffffffffUL
1964 2715
2716
1965union uvh_lb_bau_sb_activation_status_0_u { 2717union uvh_lb_bau_sb_activation_status_0_u {
1966 unsigned long v; 2718 unsigned long v;
1967 struct uvh_lb_bau_sb_activation_status_0_s { 2719 struct uvh_lb_bau_sb_activation_status_0_s {
@@ -1972,12 +2724,30 @@ union uvh_lb_bau_sb_activation_status_0_u {
1972/* ========================================================================= */ 2724/* ========================================================================= */
1973/* UVH_LB_BAU_SB_ACTIVATION_STATUS_1 */ 2725/* UVH_LB_BAU_SB_ACTIVATION_STATUS_1 */
1974/* ========================================================================= */ 2726/* ========================================================================= */
1975#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL 2727#define UV1H_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL
1976#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x9b8 2728#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL
2729#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL
2730#define UV4H_LB_BAU_SB_ACTIVATION_STATUS_1 0xc8040UL
2731#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1 ( \
2732 is_uv1_hub() ? UV1H_LB_BAU_SB_ACTIVATION_STATUS_1 : \
2733 is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_STATUS_1 : \
2734 is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_STATUS_1 : \
2735 /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_STATUS_1)
2736
2737#define UV1H_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x9b8
2738#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x9b8
2739#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x9b8
2740#define UV4H_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x9d8
2741#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_32 ( \
2742 is_uv1_hub() ? UV1H_LB_BAU_SB_ACTIVATION_STATUS_1_32 : \
2743 is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_STATUS_1_32 : \
2744 is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_STATUS_1_32 : \
2745 /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_STATUS_1_32)
1977 2746
1978#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_SHFT 0 2747#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_SHFT 0
1979#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_MASK 0xffffffffffffffffUL 2748#define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_MASK 0xffffffffffffffffUL
1980 2749
2750
1981union uvh_lb_bau_sb_activation_status_1_u { 2751union uvh_lb_bau_sb_activation_status_1_u {
1982 unsigned long v; 2752 unsigned long v;
1983 struct uvh_lb_bau_sb_activation_status_1_s { 2753 struct uvh_lb_bau_sb_activation_status_1_s {
@@ -1988,23 +2758,55 @@ union uvh_lb_bau_sb_activation_status_1_u {
1988/* ========================================================================= */ 2758/* ========================================================================= */
1989/* UVH_LB_BAU_SB_DESCRIPTOR_BASE */ 2759/* UVH_LB_BAU_SB_DESCRIPTOR_BASE */
1990/* ========================================================================= */ 2760/* ========================================================================= */
1991#define UVH_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL 2761#define UV1H_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL
1992#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_32 0x9a0 2762#define UV2H_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL
2763#define UV3H_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL
2764#define UV4H_LB_BAU_SB_DESCRIPTOR_BASE 0xc8010UL
2765#define UVH_LB_BAU_SB_DESCRIPTOR_BASE ( \
2766 is_uv1_hub() ? UV1H_LB_BAU_SB_DESCRIPTOR_BASE : \
2767 is_uv2_hub() ? UV2H_LB_BAU_SB_DESCRIPTOR_BASE : \
2768 is_uv3_hub() ? UV3H_LB_BAU_SB_DESCRIPTOR_BASE : \
2769 /*is_uv4_hub*/ UV4H_LB_BAU_SB_DESCRIPTOR_BASE)
2770
2771#define UV1H_LB_BAU_SB_DESCRIPTOR_BASE_32 0x9a0
2772#define UV2H_LB_BAU_SB_DESCRIPTOR_BASE_32 0x9a0
2773#define UV3H_LB_BAU_SB_DESCRIPTOR_BASE_32 0x9a0
2774#define UV4H_LB_BAU_SB_DESCRIPTOR_BASE_32 0x9c0
2775#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_32 ( \
2776 is_uv1_hub() ? UV1H_LB_BAU_SB_DESCRIPTOR_BASE_32 : \
2777 is_uv2_hub() ? UV2H_LB_BAU_SB_DESCRIPTOR_BASE_32 : \
2778 is_uv3_hub() ? UV3H_LB_BAU_SB_DESCRIPTOR_BASE_32 : \
2779 /*is_uv4_hub*/ UV4H_LB_BAU_SB_DESCRIPTOR_BASE_32)
1993 2780
1994#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_SHFT 12 2781#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_SHFT 12
1995#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT 49 2782#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT 49
1996#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000007fffffff000UL
1997#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK 0x7ffe000000000000UL 2783#define UVH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_MASK 0x7ffe000000000000UL
1998 2784
2785#define UV1H_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000007fffffff000UL
2786
2787
2788#define UV2H_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000007fffffff000UL
2789
2790#define UV3H_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x000007fffffff000UL
2791
2792#define UV4H_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_MASK 0x00003ffffffff000UL
2793
2794
1999union uvh_lb_bau_sb_descriptor_base_u { 2795union uvh_lb_bau_sb_descriptor_base_u {
2000 unsigned long v; 2796 unsigned long v;
2001 struct uvh_lb_bau_sb_descriptor_base_s { 2797 struct uvh_lb_bau_sb_descriptor_base_s {
2002 unsigned long rsvd_0_11:12; 2798 unsigned long rsvd_0_11:12;
2003 unsigned long page_address:31; /* RW */ 2799 unsigned long rsvd_12_48:37;
2004 unsigned long rsvd_43_48:6;
2005 unsigned long node_id:14; /* RW */ 2800 unsigned long node_id:14; /* RW */
2006 unsigned long rsvd_63:1; 2801 unsigned long rsvd_63:1;
2007 } s; 2802 } s;
2803 struct uv4h_lb_bau_sb_descriptor_base_s {
2804 unsigned long rsvd_0_11:12;
2805 unsigned long page_address:34; /* RW */
2806 unsigned long rsvd_46_48:3;
2807 unsigned long node_id:14; /* RW */
2808 unsigned long rsvd_63:1;
2809 } s4;
2008}; 2810};
2009 2811
2010/* ========================================================================= */ 2812/* ========================================================================= */
@@ -2014,6 +2816,7 @@ union uvh_lb_bau_sb_descriptor_base_u {
2014#define UV1H_NODE_ID 0x0UL 2816#define UV1H_NODE_ID 0x0UL
2015#define UV2H_NODE_ID 0x0UL 2817#define UV2H_NODE_ID 0x0UL
2016#define UV3H_NODE_ID 0x0UL 2818#define UV3H_NODE_ID 0x0UL
2819#define UV4H_NODE_ID 0x0UL
2017 2820
2018#define UVH_NODE_ID_FORCE1_SHFT 0 2821#define UVH_NODE_ID_FORCE1_SHFT 0
2019#define UVH_NODE_ID_MANUFACTURER_SHFT 1 2822#define UVH_NODE_ID_MANUFACTURER_SHFT 1
@@ -2090,6 +2893,26 @@ union uvh_lb_bau_sb_descriptor_base_u {
2090#define UV3H_NODE_ID_NODES_PER_BIT_MASK 0x01fc000000000000UL 2893#define UV3H_NODE_ID_NODES_PER_BIT_MASK 0x01fc000000000000UL
2091#define UV3H_NODE_ID_NI_PORT_MASK 0x3e00000000000000UL 2894#define UV3H_NODE_ID_NI_PORT_MASK 0x3e00000000000000UL
2092 2895
2896#define UV4H_NODE_ID_FORCE1_SHFT 0
2897#define UV4H_NODE_ID_MANUFACTURER_SHFT 1
2898#define UV4H_NODE_ID_PART_NUMBER_SHFT 12
2899#define UV4H_NODE_ID_REVISION_SHFT 28
2900#define UV4H_NODE_ID_NODE_ID_SHFT 32
2901#define UV4H_NODE_ID_ROUTER_SELECT_SHFT 48
2902#define UV4H_NODE_ID_RESERVED_2_SHFT 49
2903#define UV4H_NODE_ID_NODES_PER_BIT_SHFT 50
2904#define UV4H_NODE_ID_NI_PORT_SHFT 57
2905#define UV4H_NODE_ID_FORCE1_MASK 0x0000000000000001UL
2906#define UV4H_NODE_ID_MANUFACTURER_MASK 0x0000000000000ffeUL
2907#define UV4H_NODE_ID_PART_NUMBER_MASK 0x000000000ffff000UL
2908#define UV4H_NODE_ID_REVISION_MASK 0x00000000f0000000UL
2909#define UV4H_NODE_ID_NODE_ID_MASK 0x00007fff00000000UL
2910#define UV4H_NODE_ID_ROUTER_SELECT_MASK 0x0001000000000000UL
2911#define UV4H_NODE_ID_RESERVED_2_MASK 0x0002000000000000UL
2912#define UV4H_NODE_ID_NODES_PER_BIT_MASK 0x01fc000000000000UL
2913#define UV4H_NODE_ID_NI_PORT_MASK 0x3e00000000000000UL
2914
2915
2093union uvh_node_id_u { 2916union uvh_node_id_u {
2094 unsigned long v; 2917 unsigned long v;
2095 struct uvh_node_id_s { 2918 struct uvh_node_id_s {
@@ -2147,17 +2970,40 @@ union uvh_node_id_u {
2147 unsigned long ni_port:5; /* RO */ 2970 unsigned long ni_port:5; /* RO */
2148 unsigned long rsvd_62_63:2; 2971 unsigned long rsvd_62_63:2;
2149 } s3; 2972 } s3;
2973 struct uv4h_node_id_s {
2974 unsigned long force1:1; /* RO */
2975 unsigned long manufacturer:11; /* RO */
2976 unsigned long part_number:16; /* RO */
2977 unsigned long revision:4; /* RO */
2978 unsigned long node_id:15; /* RW */
2979 unsigned long rsvd_47:1;
2980 unsigned long router_select:1; /* RO */
2981 unsigned long rsvd_49:1;
2982 unsigned long nodes_per_bit:7; /* RO */
2983 unsigned long ni_port:5; /* RO */
2984 unsigned long rsvd_62_63:2;
2985 } s4;
2150}; 2986};
2151 2987
2152/* ========================================================================= */ 2988/* ========================================================================= */
2153/* UVH_NODE_PRESENT_TABLE */ 2989/* UVH_NODE_PRESENT_TABLE */
2154/* ========================================================================= */ 2990/* ========================================================================= */
2155#define UVH_NODE_PRESENT_TABLE 0x1400UL 2991#define UVH_NODE_PRESENT_TABLE 0x1400UL
2156#define UVH_NODE_PRESENT_TABLE_DEPTH 16 2992
2993#define UV1H_NODE_PRESENT_TABLE_DEPTH 16
2994#define UV2H_NODE_PRESENT_TABLE_DEPTH 16
2995#define UV3H_NODE_PRESENT_TABLE_DEPTH 16
2996#define UV4H_NODE_PRESENT_TABLE_DEPTH 4
2997#define UVH_NODE_PRESENT_TABLE_DEPTH ( \
2998 is_uv1_hub() ? UV1H_NODE_PRESENT_TABLE_DEPTH : \
2999 is_uv2_hub() ? UV2H_NODE_PRESENT_TABLE_DEPTH : \
3000 is_uv3_hub() ? UV3H_NODE_PRESENT_TABLE_DEPTH : \
3001 /*is_uv4_hub*/ UV4H_NODE_PRESENT_TABLE_DEPTH)
2157 3002
2158#define UVH_NODE_PRESENT_TABLE_NODES_SHFT 0 3003#define UVH_NODE_PRESENT_TABLE_NODES_SHFT 0
2159#define UVH_NODE_PRESENT_TABLE_NODES_MASK 0xffffffffffffffffUL 3004#define UVH_NODE_PRESENT_TABLE_NODES_MASK 0xffffffffffffffffUL
2160 3005
3006
2161union uvh_node_present_table_u { 3007union uvh_node_present_table_u {
2162 unsigned long v; 3008 unsigned long v;
2163 struct uvh_node_present_table_s { 3009 struct uvh_node_present_table_s {
@@ -2168,7 +3014,15 @@ union uvh_node_present_table_u {
2168/* ========================================================================= */ 3014/* ========================================================================= */
2169/* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR */ 3015/* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR */
2170/* ========================================================================= */ 3016/* ========================================================================= */
2171#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x16000c8UL 3017#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x16000c8UL
3018#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x16000c8UL
3019#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x16000c8UL
3020#define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x4800c8UL
3021#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR ( \
3022 is_uv1_hub() ? UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR : \
3023 is_uv2_hub() ? UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR : \
3024 is_uv3_hub() ? UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR : \
3025 /*is_uv4_hub*/ UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR)
2172 3026
2173#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24 3027#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24
2174#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48 3028#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48
@@ -2177,6 +3031,7 @@ union uvh_node_present_table_u {
2177#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_MASK 0x001f000000000000UL 3031#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_MASK 0x001f000000000000UL
2178#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_MASK 0x8000000000000000UL 3032#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_ENABLE_MASK 0x8000000000000000UL
2179 3033
3034
2180union uvh_rh_gam_alias210_overlay_config_0_mmr_u { 3035union uvh_rh_gam_alias210_overlay_config_0_mmr_u {
2181 unsigned long v; 3036 unsigned long v;
2182 struct uvh_rh_gam_alias210_overlay_config_0_mmr_s { 3037 struct uvh_rh_gam_alias210_overlay_config_0_mmr_s {
@@ -2192,7 +3047,15 @@ union uvh_rh_gam_alias210_overlay_config_0_mmr_u {
2192/* ========================================================================= */ 3047/* ========================================================================= */
2193/* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR */ 3048/* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR */
2194/* ========================================================================= */ 3049/* ========================================================================= */
2195#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x16000d8UL 3050#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x16000d8UL
3051#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x16000d8UL
3052#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x16000d8UL
3053#define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x4800d8UL
3054#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR ( \
3055 is_uv1_hub() ? UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR : \
3056 is_uv2_hub() ? UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR : \
3057 is_uv3_hub() ? UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR : \
3058 /*is_uv4_hub*/ UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR)
2196 3059
2197#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24 3060#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24
2198#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48 3061#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48
@@ -2201,6 +3064,7 @@ union uvh_rh_gam_alias210_overlay_config_0_mmr_u {
2201#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_MASK 0x001f000000000000UL 3064#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_MASK 0x001f000000000000UL
2202#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_MASK 0x8000000000000000UL 3065#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_ENABLE_MASK 0x8000000000000000UL
2203 3066
3067
2204union uvh_rh_gam_alias210_overlay_config_1_mmr_u { 3068union uvh_rh_gam_alias210_overlay_config_1_mmr_u {
2205 unsigned long v; 3069 unsigned long v;
2206 struct uvh_rh_gam_alias210_overlay_config_1_mmr_s { 3070 struct uvh_rh_gam_alias210_overlay_config_1_mmr_s {
@@ -2216,7 +3080,15 @@ union uvh_rh_gam_alias210_overlay_config_1_mmr_u {
2216/* ========================================================================= */ 3080/* ========================================================================= */
2217/* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR */ 3081/* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR */
2218/* ========================================================================= */ 3082/* ========================================================================= */
2219#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x16000e8UL 3083#define UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x16000e8UL
3084#define UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x16000e8UL
3085#define UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x16000e8UL
3086#define UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x4800e8UL
3087#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR ( \
3088 is_uv1_hub() ? UV1H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR : \
3089 is_uv2_hub() ? UV2H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR : \
3090 is_uv3_hub() ? UV3H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR : \
3091 /*is_uv4_hub*/ UV4H_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR)
2220 3092
2221#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24 3093#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24
2222#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48 3094#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48
@@ -2225,6 +3097,7 @@ union uvh_rh_gam_alias210_overlay_config_1_mmr_u {
2225#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_MASK 0x001f000000000000UL 3097#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_MASK 0x001f000000000000UL
2226#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_MASK 0x8000000000000000UL 3098#define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_ENABLE_MASK 0x8000000000000000UL
2227 3099
3100
2228union uvh_rh_gam_alias210_overlay_config_2_mmr_u { 3101union uvh_rh_gam_alias210_overlay_config_2_mmr_u {
2229 unsigned long v; 3102 unsigned long v;
2230 struct uvh_rh_gam_alias210_overlay_config_2_mmr_s { 3103 struct uvh_rh_gam_alias210_overlay_config_2_mmr_s {
@@ -2240,11 +3113,20 @@ union uvh_rh_gam_alias210_overlay_config_2_mmr_u {
2240/* ========================================================================= */ 3113/* ========================================================================= */
2241/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR */ 3114/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR */
2242/* ========================================================================= */ 3115/* ========================================================================= */
2243#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL 3116#define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL
3117#define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL
3118#define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL
3119#define UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x4800d0UL
3120#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR ( \
3121 is_uv1_hub() ? UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR : \
3122 is_uv2_hub() ? UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR : \
3123 is_uv3_hub() ? UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR : \
3124 /*is_uv4_hub*/ UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR)
2244 3125
2245#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24 3126#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24
2246#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL 3127#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL
2247 3128
3129
2248union uvh_rh_gam_alias210_redirect_config_0_mmr_u { 3130union uvh_rh_gam_alias210_redirect_config_0_mmr_u {
2249 unsigned long v; 3131 unsigned long v;
2250 struct uvh_rh_gam_alias210_redirect_config_0_mmr_s { 3132 struct uvh_rh_gam_alias210_redirect_config_0_mmr_s {
@@ -2257,11 +3139,20 @@ union uvh_rh_gam_alias210_redirect_config_0_mmr_u {
2257/* ========================================================================= */ 3139/* ========================================================================= */
2258/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR */ 3140/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR */
2259/* ========================================================================= */ 3141/* ========================================================================= */
2260#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL 3142#define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL
3143#define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL
3144#define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL
3145#define UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x4800e0UL
3146#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR ( \
3147 is_uv1_hub() ? UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR : \
3148 is_uv2_hub() ? UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR : \
3149 is_uv3_hub() ? UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR : \
3150 /*is_uv4_hub*/ UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR)
2261 3151
2262#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24 3152#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24
2263#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL 3153#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL
2264 3154
3155
2265union uvh_rh_gam_alias210_redirect_config_1_mmr_u { 3156union uvh_rh_gam_alias210_redirect_config_1_mmr_u {
2266 unsigned long v; 3157 unsigned long v;
2267 struct uvh_rh_gam_alias210_redirect_config_1_mmr_s { 3158 struct uvh_rh_gam_alias210_redirect_config_1_mmr_s {
@@ -2274,11 +3165,20 @@ union uvh_rh_gam_alias210_redirect_config_1_mmr_u {
2274/* ========================================================================= */ 3165/* ========================================================================= */
2275/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR */ 3166/* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR */
2276/* ========================================================================= */ 3167/* ========================================================================= */
2277#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL 3168#define UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL
3169#define UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL
3170#define UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL
3171#define UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x4800f0UL
3172#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR ( \
3173 is_uv1_hub() ? UV1H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR : \
3174 is_uv2_hub() ? UV2H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR : \
3175 is_uv3_hub() ? UV3H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR : \
3176 /*is_uv4_hub*/ UV4H_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR)
2278 3177
2279#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24 3178#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24
2280#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL 3179#define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL
2281 3180
3181
2282union uvh_rh_gam_alias210_redirect_config_2_mmr_u { 3182union uvh_rh_gam_alias210_redirect_config_2_mmr_u {
2283 unsigned long v; 3183 unsigned long v;
2284 struct uvh_rh_gam_alias210_redirect_config_2_mmr_s { 3184 struct uvh_rh_gam_alias210_redirect_config_2_mmr_s {
@@ -2291,14 +3191,17 @@ union uvh_rh_gam_alias210_redirect_config_2_mmr_u {
2291/* ========================================================================= */ 3191/* ========================================================================= */
2292/* UVH_RH_GAM_CONFIG_MMR */ 3192/* UVH_RH_GAM_CONFIG_MMR */
2293/* ========================================================================= */ 3193/* ========================================================================= */
2294#define UVH_RH_GAM_CONFIG_MMR 0x1600000UL
2295#define UV1H_RH_GAM_CONFIG_MMR 0x1600000UL 3194#define UV1H_RH_GAM_CONFIG_MMR 0x1600000UL
2296#define UV2H_RH_GAM_CONFIG_MMR 0x1600000UL 3195#define UV2H_RH_GAM_CONFIG_MMR 0x1600000UL
2297#define UV3H_RH_GAM_CONFIG_MMR 0x1600000UL 3196#define UV3H_RH_GAM_CONFIG_MMR 0x1600000UL
3197#define UV4H_RH_GAM_CONFIG_MMR 0x480000UL
3198#define UVH_RH_GAM_CONFIG_MMR ( \
3199 is_uv1_hub() ? UV1H_RH_GAM_CONFIG_MMR : \
3200 is_uv2_hub() ? UV2H_RH_GAM_CONFIG_MMR : \
3201 is_uv3_hub() ? UV3H_RH_GAM_CONFIG_MMR : \
3202 /*is_uv4_hub*/ UV4H_RH_GAM_CONFIG_MMR)
2298 3203
2299#define UVH_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0
2300#define UVH_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6 3204#define UVH_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6
2301#define UVH_RH_GAM_CONFIG_MMR_M_SKT_MASK 0x000000000000003fUL
2302#define UVH_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL 3205#define UVH_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL
2303 3206
2304#define UV1H_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0 3207#define UV1H_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0
@@ -2308,9 +3211,7 @@ union uvh_rh_gam_alias210_redirect_config_2_mmr_u {
2308#define UV1H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL 3211#define UV1H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL
2309#define UV1H_RH_GAM_CONFIG_MMR_MMIOL_CFG_MASK 0x0000000000001000UL 3212#define UV1H_RH_GAM_CONFIG_MMR_MMIOL_CFG_MASK 0x0000000000001000UL
2310 3213
2311#define UVXH_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0
2312#define UVXH_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6 3214#define UVXH_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6
2313#define UVXH_RH_GAM_CONFIG_MMR_M_SKT_MASK 0x000000000000003fUL
2314#define UVXH_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL 3215#define UVXH_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL
2315 3216
2316#define UV2H_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0 3217#define UV2H_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0
@@ -2323,10 +3224,14 @@ union uvh_rh_gam_alias210_redirect_config_2_mmr_u {
2323#define UV3H_RH_GAM_CONFIG_MMR_M_SKT_MASK 0x000000000000003fUL 3224#define UV3H_RH_GAM_CONFIG_MMR_M_SKT_MASK 0x000000000000003fUL
2324#define UV3H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL 3225#define UV3H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL
2325 3226
3227#define UV4H_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6
3228#define UV4H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL
3229
3230
2326union uvh_rh_gam_config_mmr_u { 3231union uvh_rh_gam_config_mmr_u {
2327 unsigned long v; 3232 unsigned long v;
2328 struct uvh_rh_gam_config_mmr_s { 3233 struct uvh_rh_gam_config_mmr_s {
2329 unsigned long m_skt:6; /* RW */ 3234 unsigned long rsvd_0_5:6;
2330 unsigned long n_skt:4; /* RW */ 3235 unsigned long n_skt:4; /* RW */
2331 unsigned long rsvd_10_63:54; 3236 unsigned long rsvd_10_63:54;
2332 } s; 3237 } s;
@@ -2338,7 +3243,7 @@ union uvh_rh_gam_config_mmr_u {
2338 unsigned long rsvd_13_63:51; 3243 unsigned long rsvd_13_63:51;
2339 } s1; 3244 } s1;
2340 struct uvxh_rh_gam_config_mmr_s { 3245 struct uvxh_rh_gam_config_mmr_s {
2341 unsigned long m_skt:6; /* RW */ 3246 unsigned long rsvd_0_5:6;
2342 unsigned long n_skt:4; /* RW */ 3247 unsigned long n_skt:4; /* RW */
2343 unsigned long rsvd_10_63:54; 3248 unsigned long rsvd_10_63:54;
2344 } sx; 3249 } sx;
@@ -2352,20 +3257,28 @@ union uvh_rh_gam_config_mmr_u {
2352 unsigned long n_skt:4; /* RW */ 3257 unsigned long n_skt:4; /* RW */
2353 unsigned long rsvd_10_63:54; 3258 unsigned long rsvd_10_63:54;
2354 } s3; 3259 } s3;
3260 struct uv4h_rh_gam_config_mmr_s {
3261 unsigned long rsvd_0_5:6;
3262 unsigned long n_skt:4; /* RW */
3263 unsigned long rsvd_10_63:54;
3264 } s4;
2355}; 3265};
2356 3266
2357/* ========================================================================= */ 3267/* ========================================================================= */
2358/* UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR */ 3268/* UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR */
2359/* ========================================================================= */ 3269/* ========================================================================= */
2360#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL
2361#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL 3270#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL
2362#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL 3271#define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL
2363#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL 3272#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL
3273#define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x480010UL
3274#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR ( \
3275 is_uv1_hub() ? UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR : \
3276 is_uv2_hub() ? UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR : \
3277 is_uv3_hub() ? UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR : \
3278 /*is_uv4_hub*/ UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR)
2364 3279
2365#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28
2366#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52 3280#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52
2367#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 3281#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
2368#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffff0000000UL
2369#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL 3282#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL
2370#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL 3283#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
2371 3284
@@ -2378,10 +3291,8 @@ union uvh_rh_gam_config_mmr_u {
2378#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL 3291#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL
2379#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL 3292#define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
2380 3293
2381#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28
2382#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52 3294#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52
2383#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 3295#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
2384#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffff0000000UL
2385#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL 3296#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL
2386#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL 3297#define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
2387 3298
@@ -2401,12 +3312,28 @@ union uvh_rh_gam_config_mmr_u {
2401#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_MODE_MASK 0x4000000000000000UL 3312#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_MODE_MASK 0x4000000000000000UL
2402#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL 3313#define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
2403 3314
3315#define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 26
3316#define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52
3317#define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
3318#define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL
3319#define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL
3320#define UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
3321
3322#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK ( \
3323 is_uv1_hub() ? UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK : \
3324 is_uv2_hub() ? UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK : \
3325 is_uv3_hub() ? UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK : \
3326 /*is_uv4_hub*/ UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK)
3327#define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT ( \
3328 is_uv1_hub() ? UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT : \
3329 is_uv2_hub() ? UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT : \
3330 is_uv3_hub() ? UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT : \
3331 /*is_uv4_hub*/ UV4H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT)
3332
2404union uvh_rh_gam_gru_overlay_config_mmr_u { 3333union uvh_rh_gam_gru_overlay_config_mmr_u {
2405 unsigned long v; 3334 unsigned long v;
2406 struct uvh_rh_gam_gru_overlay_config_mmr_s { 3335 struct uvh_rh_gam_gru_overlay_config_mmr_s {
2407 unsigned long rsvd_0_27:28; 3336 unsigned long rsvd_0_51:52;
2408 unsigned long base:18; /* RW */
2409 unsigned long rsvd_46_51:6;
2410 unsigned long n_gru:4; /* RW */ 3337 unsigned long n_gru:4; /* RW */
2411 unsigned long rsvd_56_62:7; 3338 unsigned long rsvd_56_62:7;
2412 unsigned long enable:1; /* RW */ 3339 unsigned long enable:1; /* RW */
@@ -2422,8 +3349,7 @@ union uvh_rh_gam_gru_overlay_config_mmr_u {
2422 unsigned long enable:1; /* RW */ 3349 unsigned long enable:1; /* RW */
2423 } s1; 3350 } s1;
2424 struct uvxh_rh_gam_gru_overlay_config_mmr_s { 3351 struct uvxh_rh_gam_gru_overlay_config_mmr_s {
2425 unsigned long rsvd_0_27:28; 3352 unsigned long rsvd_0_45:46;
2426 unsigned long base:18; /* RW */
2427 unsigned long rsvd_46_51:6; 3353 unsigned long rsvd_46_51:6;
2428 unsigned long n_gru:4; /* RW */ 3354 unsigned long n_gru:4; /* RW */
2429 unsigned long rsvd_56_62:7; 3355 unsigned long rsvd_56_62:7;
@@ -2446,6 +3372,15 @@ union uvh_rh_gam_gru_overlay_config_mmr_u {
2446 unsigned long mode:1; /* RW */ 3372 unsigned long mode:1; /* RW */
2447 unsigned long enable:1; /* RW */ 3373 unsigned long enable:1; /* RW */
2448 } s3; 3374 } s3;
3375 struct uv4h_rh_gam_gru_overlay_config_mmr_s {
3376 unsigned long rsvd_0_24:25;
3377 unsigned long undef_25:1; /* Undefined */
3378 unsigned long base:20; /* RW */
3379 unsigned long rsvd_46_51:6;
3380 unsigned long n_gru:4; /* RW */
3381 unsigned long rsvd_56_62:7;
3382 unsigned long enable:1; /* RW */
3383 } s4;
2449}; 3384};
2450 3385
2451/* ========================================================================= */ 3386/* ========================================================================= */
@@ -2453,6 +3388,14 @@ union uvh_rh_gam_gru_overlay_config_mmr_u {
2453/* ========================================================================= */ 3388/* ========================================================================= */
2454#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL 3389#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL
2455#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL 3390#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL
3391#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR uv_undefined("UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR")
3392#define UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR uv_undefined("UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR")
3393#define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR ( \
3394 is_uv1_hub() ? UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR : \
3395 is_uv2_hub() ? UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR : \
3396 is_uv3_hub() ? UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR : \
3397 /*is_uv4_hub*/ UV4H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR)
3398
2456 3399
2457#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT 30 3400#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT 30
2458#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_SHFT 46 3401#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_SHFT 46
@@ -2463,6 +3406,7 @@ union uvh_rh_gam_gru_overlay_config_mmr_u {
2463#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_MASK 0x00f0000000000000UL 3406#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_MASK 0x00f0000000000000UL
2464#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL 3407#define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
2465 3408
3409
2466#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT 27 3410#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT 27
2467#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_SHFT 46 3411#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_SHFT 46
2468#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_SHFT 52 3412#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_SHFT 52
@@ -2472,6 +3416,7 @@ union uvh_rh_gam_gru_overlay_config_mmr_u {
2472#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_MASK 0x00f0000000000000UL 3416#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_MASK 0x00f0000000000000UL
2473#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL 3417#define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
2474 3418
3419
2475union uvh_rh_gam_mmioh_overlay_config_mmr_u { 3420union uvh_rh_gam_mmioh_overlay_config_mmr_u {
2476 unsigned long v; 3421 unsigned long v;
2477 struct uv1h_rh_gam_mmioh_overlay_config_mmr_s { 3422 struct uv1h_rh_gam_mmioh_overlay_config_mmr_s {
@@ -2495,10 +3440,15 @@ union uvh_rh_gam_mmioh_overlay_config_mmr_u {
2495/* ========================================================================= */ 3440/* ========================================================================= */
2496/* UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR */ 3441/* UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR */
2497/* ========================================================================= */ 3442/* ========================================================================= */
2498#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
2499#define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL 3443#define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
2500#define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL 3444#define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
2501#define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL 3445#define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL
3446#define UV4H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x480028UL
3447#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR ( \
3448 is_uv1_hub() ? UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR : \
3449 is_uv2_hub() ? UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR : \
3450 is_uv3_hub() ? UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR : \
3451 /*is_uv4_hub*/ UV4H_RH_GAM_MMR_OVERLAY_CONFIG_MMR)
2502 3452
2503#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26 3453#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26
2504#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 3454#define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
@@ -2527,6 +3477,12 @@ union uvh_rh_gam_mmioh_overlay_config_mmr_u {
2527#define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL 3477#define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL
2528#define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL 3478#define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
2529 3479
3480#define UV4H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26
3481#define UV4H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63
3482#define UV4H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL
3483#define UV4H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL
3484
3485
2530union uvh_rh_gam_mmr_overlay_config_mmr_u { 3486union uvh_rh_gam_mmr_overlay_config_mmr_u {
2531 unsigned long v; 3487 unsigned long v;
2532 struct uvh_rh_gam_mmr_overlay_config_mmr_s { 3488 struct uvh_rh_gam_mmr_overlay_config_mmr_s {
@@ -2560,16 +3516,31 @@ union uvh_rh_gam_mmr_overlay_config_mmr_u {
2560 unsigned long rsvd_46_62:17; 3516 unsigned long rsvd_46_62:17;
2561 unsigned long enable:1; /* RW */ 3517 unsigned long enable:1; /* RW */
2562 } s3; 3518 } s3;
3519 struct uv4h_rh_gam_mmr_overlay_config_mmr_s {
3520 unsigned long rsvd_0_25:26;
3521 unsigned long base:20; /* RW */
3522 unsigned long rsvd_46_62:17;
3523 unsigned long enable:1; /* RW */
3524 } s4;
2563}; 3525};
2564 3526
2565/* ========================================================================= */ 3527/* ========================================================================= */
2566/* UVH_RTC */ 3528/* UVH_RTC */
2567/* ========================================================================= */ 3529/* ========================================================================= */
2568#define UVH_RTC 0x340000UL 3530#define UV1H_RTC 0x340000UL
3531#define UV2H_RTC 0x340000UL
3532#define UV3H_RTC 0x340000UL
3533#define UV4H_RTC 0xe0000UL
3534#define UVH_RTC ( \
3535 is_uv1_hub() ? UV1H_RTC : \
3536 is_uv2_hub() ? UV2H_RTC : \
3537 is_uv3_hub() ? UV3H_RTC : \
3538 /*is_uv4_hub*/ UV4H_RTC)
2569 3539
2570#define UVH_RTC_REAL_TIME_CLOCK_SHFT 0 3540#define UVH_RTC_REAL_TIME_CLOCK_SHFT 0
2571#define UVH_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL 3541#define UVH_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL
2572 3542
3543
2573union uvh_rtc_u { 3544union uvh_rtc_u {
2574 unsigned long v; 3545 unsigned long v;
2575 struct uvh_rtc_s { 3546 struct uvh_rtc_s {
@@ -2600,6 +3571,7 @@ union uvh_rtc_u {
2600#define UVH_RTC1_INT_CONFIG_M_MASK 0x0000000000010000UL 3571#define UVH_RTC1_INT_CONFIG_M_MASK 0x0000000000010000UL
2601#define UVH_RTC1_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 3572#define UVH_RTC1_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL
2602 3573
3574
2603union uvh_rtc1_int_config_u { 3575union uvh_rtc1_int_config_u {
2604 unsigned long v; 3576 unsigned long v;
2605 struct uvh_rtc1_int_config_s { 3577 struct uvh_rtc1_int_config_s {
@@ -2619,12 +3591,30 @@ union uvh_rtc1_int_config_u {
2619/* ========================================================================= */ 3591/* ========================================================================= */
2620/* UVH_SCRATCH5 */ 3592/* UVH_SCRATCH5 */
2621/* ========================================================================= */ 3593/* ========================================================================= */
2622#define UVH_SCRATCH5 0x2d0200UL 3594#define UV1H_SCRATCH5 0x2d0200UL
2623#define UVH_SCRATCH5_32 0x778 3595#define UV2H_SCRATCH5 0x2d0200UL
3596#define UV3H_SCRATCH5 0x2d0200UL
3597#define UV4H_SCRATCH5 0xb0200UL
3598#define UVH_SCRATCH5 ( \
3599 is_uv1_hub() ? UV1H_SCRATCH5 : \
3600 is_uv2_hub() ? UV2H_SCRATCH5 : \
3601 is_uv3_hub() ? UV3H_SCRATCH5 : \
3602 /*is_uv4_hub*/ UV4H_SCRATCH5)
3603
3604#define UV1H_SCRATCH5_32 0x778
3605#define UV2H_SCRATCH5_32 0x778
3606#define UV3H_SCRATCH5_32 0x778
3607#define UV4H_SCRATCH5_32 0x798
3608#define UVH_SCRATCH5_32 ( \
3609 is_uv1_hub() ? UV1H_SCRATCH5_32 : \
3610 is_uv2_hub() ? UV2H_SCRATCH5_32 : \
3611 is_uv3_hub() ? UV3H_SCRATCH5_32 : \
3612 /*is_uv4_hub*/ UV4H_SCRATCH5_32)
2624 3613
2625#define UVH_SCRATCH5_SCRATCH5_SHFT 0 3614#define UVH_SCRATCH5_SCRATCH5_SHFT 0
2626#define UVH_SCRATCH5_SCRATCH5_MASK 0xffffffffffffffffUL 3615#define UVH_SCRATCH5_SCRATCH5_MASK 0xffffffffffffffffUL
2627 3616
3617
2628union uvh_scratch5_u { 3618union uvh_scratch5_u {
2629 unsigned long v; 3619 unsigned long v;
2630 struct uvh_scratch5_s { 3620 struct uvh_scratch5_s {
@@ -2635,14 +3625,39 @@ union uvh_scratch5_u {
2635/* ========================================================================= */ 3625/* ========================================================================= */
2636/* UVH_SCRATCH5_ALIAS */ 3626/* UVH_SCRATCH5_ALIAS */
2637/* ========================================================================= */ 3627/* ========================================================================= */
2638#define UVH_SCRATCH5_ALIAS 0x2d0208UL 3628#define UV1H_SCRATCH5_ALIAS 0x2d0208UL
2639#define UVH_SCRATCH5_ALIAS_32 0x780 3629#define UV2H_SCRATCH5_ALIAS 0x2d0208UL
3630#define UV3H_SCRATCH5_ALIAS 0x2d0208UL
3631#define UV4H_SCRATCH5_ALIAS 0xb0208UL
3632#define UVH_SCRATCH5_ALIAS ( \
3633 is_uv1_hub() ? UV1H_SCRATCH5_ALIAS : \
3634 is_uv2_hub() ? UV2H_SCRATCH5_ALIAS : \
3635 is_uv3_hub() ? UV3H_SCRATCH5_ALIAS : \
3636 /*is_uv4_hub*/ UV4H_SCRATCH5_ALIAS)
3637
3638#define UV1H_SCRATCH5_ALIAS_32 0x780
3639#define UV2H_SCRATCH5_ALIAS_32 0x780
3640#define UV3H_SCRATCH5_ALIAS_32 0x780
3641#define UV4H_SCRATCH5_ALIAS_32 0x7a0
3642#define UVH_SCRATCH5_ALIAS_32 ( \
3643 is_uv1_hub() ? UV1H_SCRATCH5_ALIAS_32 : \
3644 is_uv2_hub() ? UV2H_SCRATCH5_ALIAS_32 : \
3645 is_uv3_hub() ? UV3H_SCRATCH5_ALIAS_32 : \
3646 /*is_uv4_hub*/ UV4H_SCRATCH5_ALIAS_32)
2640 3647
2641 3648
2642/* ========================================================================= */ 3649/* ========================================================================= */
2643/* UVH_SCRATCH5_ALIAS_2 */ 3650/* UVH_SCRATCH5_ALIAS_2 */
2644/* ========================================================================= */ 3651/* ========================================================================= */
2645#define UVH_SCRATCH5_ALIAS_2 0x2d0210UL 3652#define UV1H_SCRATCH5_ALIAS_2 0x2d0210UL
3653#define UV2H_SCRATCH5_ALIAS_2 0x2d0210UL
3654#define UV3H_SCRATCH5_ALIAS_2 0x2d0210UL
3655#define UV4H_SCRATCH5_ALIAS_2 0xb0210UL
3656#define UVH_SCRATCH5_ALIAS_2 ( \
3657 is_uv1_hub() ? UV1H_SCRATCH5_ALIAS_2 : \
3658 is_uv2_hub() ? UV2H_SCRATCH5_ALIAS_2 : \
3659 is_uv3_hub() ? UV3H_SCRATCH5_ALIAS_2 : \
3660 /*is_uv4_hub*/ UV4H_SCRATCH5_ALIAS_2)
2646#define UVH_SCRATCH5_ALIAS_2_32 0x788 3661#define UVH_SCRATCH5_ALIAS_2_32 0x788
2647 3662
2648 3663
@@ -2650,76 +3665,255 @@ union uvh_scratch5_u {
2650/* UVXH_EVENT_OCCURRED2 */ 3665/* UVXH_EVENT_OCCURRED2 */
2651/* ========================================================================= */ 3666/* ========================================================================= */
2652#define UVXH_EVENT_OCCURRED2 0x70100UL 3667#define UVXH_EVENT_OCCURRED2 0x70100UL
2653#define UVXH_EVENT_OCCURRED2_32 0xb68 3668
2654 3669#define UV2H_EVENT_OCCURRED2_32 0xb68
2655#define UVXH_EVENT_OCCURRED2_RTC_0_SHFT 0 3670#define UV3H_EVENT_OCCURRED2_32 0xb68
2656#define UVXH_EVENT_OCCURRED2_RTC_1_SHFT 1 3671#define UV4H_EVENT_OCCURRED2_32 0x608
2657#define UVXH_EVENT_OCCURRED2_RTC_2_SHFT 2 3672#define UVH_EVENT_OCCURRED2_32 ( \
2658#define UVXH_EVENT_OCCURRED2_RTC_3_SHFT 3 3673 is_uv2_hub() ? UV2H_EVENT_OCCURRED2_32 : \
2659#define UVXH_EVENT_OCCURRED2_RTC_4_SHFT 4 3674 is_uv3_hub() ? UV3H_EVENT_OCCURRED2_32 : \
2660#define UVXH_EVENT_OCCURRED2_RTC_5_SHFT 5 3675 /*is_uv4_hub*/ UV4H_EVENT_OCCURRED2_32)
2661#define UVXH_EVENT_OCCURRED2_RTC_6_SHFT 6 3676
2662#define UVXH_EVENT_OCCURRED2_RTC_7_SHFT 7 3677
2663#define UVXH_EVENT_OCCURRED2_RTC_8_SHFT 8 3678#define UV2H_EVENT_OCCURRED2_RTC_0_SHFT 0
2664#define UVXH_EVENT_OCCURRED2_RTC_9_SHFT 9 3679#define UV2H_EVENT_OCCURRED2_RTC_1_SHFT 1
2665#define UVXH_EVENT_OCCURRED2_RTC_10_SHFT 10 3680#define UV2H_EVENT_OCCURRED2_RTC_2_SHFT 2
2666#define UVXH_EVENT_OCCURRED2_RTC_11_SHFT 11 3681#define UV2H_EVENT_OCCURRED2_RTC_3_SHFT 3
2667#define UVXH_EVENT_OCCURRED2_RTC_12_SHFT 12 3682#define UV2H_EVENT_OCCURRED2_RTC_4_SHFT 4
2668#define UVXH_EVENT_OCCURRED2_RTC_13_SHFT 13 3683#define UV2H_EVENT_OCCURRED2_RTC_5_SHFT 5
2669#define UVXH_EVENT_OCCURRED2_RTC_14_SHFT 14 3684#define UV2H_EVENT_OCCURRED2_RTC_6_SHFT 6
2670#define UVXH_EVENT_OCCURRED2_RTC_15_SHFT 15 3685#define UV2H_EVENT_OCCURRED2_RTC_7_SHFT 7
2671#define UVXH_EVENT_OCCURRED2_RTC_16_SHFT 16 3686#define UV2H_EVENT_OCCURRED2_RTC_8_SHFT 8
2672#define UVXH_EVENT_OCCURRED2_RTC_17_SHFT 17 3687#define UV2H_EVENT_OCCURRED2_RTC_9_SHFT 9
2673#define UVXH_EVENT_OCCURRED2_RTC_18_SHFT 18 3688#define UV2H_EVENT_OCCURRED2_RTC_10_SHFT 10
2674#define UVXH_EVENT_OCCURRED2_RTC_19_SHFT 19 3689#define UV2H_EVENT_OCCURRED2_RTC_11_SHFT 11
2675#define UVXH_EVENT_OCCURRED2_RTC_20_SHFT 20 3690#define UV2H_EVENT_OCCURRED2_RTC_12_SHFT 12
2676#define UVXH_EVENT_OCCURRED2_RTC_21_SHFT 21 3691#define UV2H_EVENT_OCCURRED2_RTC_13_SHFT 13
2677#define UVXH_EVENT_OCCURRED2_RTC_22_SHFT 22 3692#define UV2H_EVENT_OCCURRED2_RTC_14_SHFT 14
2678#define UVXH_EVENT_OCCURRED2_RTC_23_SHFT 23 3693#define UV2H_EVENT_OCCURRED2_RTC_15_SHFT 15
2679#define UVXH_EVENT_OCCURRED2_RTC_24_SHFT 24 3694#define UV2H_EVENT_OCCURRED2_RTC_16_SHFT 16
2680#define UVXH_EVENT_OCCURRED2_RTC_25_SHFT 25 3695#define UV2H_EVENT_OCCURRED2_RTC_17_SHFT 17
2681#define UVXH_EVENT_OCCURRED2_RTC_26_SHFT 26 3696#define UV2H_EVENT_OCCURRED2_RTC_18_SHFT 18
2682#define UVXH_EVENT_OCCURRED2_RTC_27_SHFT 27 3697#define UV2H_EVENT_OCCURRED2_RTC_19_SHFT 19
2683#define UVXH_EVENT_OCCURRED2_RTC_28_SHFT 28 3698#define UV2H_EVENT_OCCURRED2_RTC_20_SHFT 20
2684#define UVXH_EVENT_OCCURRED2_RTC_29_SHFT 29 3699#define UV2H_EVENT_OCCURRED2_RTC_21_SHFT 21
2685#define UVXH_EVENT_OCCURRED2_RTC_30_SHFT 30 3700#define UV2H_EVENT_OCCURRED2_RTC_22_SHFT 22
2686#define UVXH_EVENT_OCCURRED2_RTC_31_SHFT 31 3701#define UV2H_EVENT_OCCURRED2_RTC_23_SHFT 23
2687#define UVXH_EVENT_OCCURRED2_RTC_0_MASK 0x0000000000000001UL 3702#define UV2H_EVENT_OCCURRED2_RTC_24_SHFT 24
2688#define UVXH_EVENT_OCCURRED2_RTC_1_MASK 0x0000000000000002UL 3703#define UV2H_EVENT_OCCURRED2_RTC_25_SHFT 25
2689#define UVXH_EVENT_OCCURRED2_RTC_2_MASK 0x0000000000000004UL 3704#define UV2H_EVENT_OCCURRED2_RTC_26_SHFT 26
2690#define UVXH_EVENT_OCCURRED2_RTC_3_MASK 0x0000000000000008UL 3705#define UV2H_EVENT_OCCURRED2_RTC_27_SHFT 27
2691#define UVXH_EVENT_OCCURRED2_RTC_4_MASK 0x0000000000000010UL 3706#define UV2H_EVENT_OCCURRED2_RTC_28_SHFT 28
2692#define UVXH_EVENT_OCCURRED2_RTC_5_MASK 0x0000000000000020UL 3707#define UV2H_EVENT_OCCURRED2_RTC_29_SHFT 29
2693#define UVXH_EVENT_OCCURRED2_RTC_6_MASK 0x0000000000000040UL 3708#define UV2H_EVENT_OCCURRED2_RTC_30_SHFT 30
2694#define UVXH_EVENT_OCCURRED2_RTC_7_MASK 0x0000000000000080UL 3709#define UV2H_EVENT_OCCURRED2_RTC_31_SHFT 31
2695#define UVXH_EVENT_OCCURRED2_RTC_8_MASK 0x0000000000000100UL 3710#define UV2H_EVENT_OCCURRED2_RTC_0_MASK 0x0000000000000001UL
2696#define UVXH_EVENT_OCCURRED2_RTC_9_MASK 0x0000000000000200UL 3711#define UV2H_EVENT_OCCURRED2_RTC_1_MASK 0x0000000000000002UL
2697#define UVXH_EVENT_OCCURRED2_RTC_10_MASK 0x0000000000000400UL 3712#define UV2H_EVENT_OCCURRED2_RTC_2_MASK 0x0000000000000004UL
2698#define UVXH_EVENT_OCCURRED2_RTC_11_MASK 0x0000000000000800UL 3713#define UV2H_EVENT_OCCURRED2_RTC_3_MASK 0x0000000000000008UL
2699#define UVXH_EVENT_OCCURRED2_RTC_12_MASK 0x0000000000001000UL 3714#define UV2H_EVENT_OCCURRED2_RTC_4_MASK 0x0000000000000010UL
2700#define UVXH_EVENT_OCCURRED2_RTC_13_MASK 0x0000000000002000UL 3715#define UV2H_EVENT_OCCURRED2_RTC_5_MASK 0x0000000000000020UL
2701#define UVXH_EVENT_OCCURRED2_RTC_14_MASK 0x0000000000004000UL 3716#define UV2H_EVENT_OCCURRED2_RTC_6_MASK 0x0000000000000040UL
2702#define UVXH_EVENT_OCCURRED2_RTC_15_MASK 0x0000000000008000UL 3717#define UV2H_EVENT_OCCURRED2_RTC_7_MASK 0x0000000000000080UL
2703#define UVXH_EVENT_OCCURRED2_RTC_16_MASK 0x0000000000010000UL 3718#define UV2H_EVENT_OCCURRED2_RTC_8_MASK 0x0000000000000100UL
2704#define UVXH_EVENT_OCCURRED2_RTC_17_MASK 0x0000000000020000UL 3719#define UV2H_EVENT_OCCURRED2_RTC_9_MASK 0x0000000000000200UL
2705#define UVXH_EVENT_OCCURRED2_RTC_18_MASK 0x0000000000040000UL 3720#define UV2H_EVENT_OCCURRED2_RTC_10_MASK 0x0000000000000400UL
2706#define UVXH_EVENT_OCCURRED2_RTC_19_MASK 0x0000000000080000UL 3721#define UV2H_EVENT_OCCURRED2_RTC_11_MASK 0x0000000000000800UL
2707#define UVXH_EVENT_OCCURRED2_RTC_20_MASK 0x0000000000100000UL 3722#define UV2H_EVENT_OCCURRED2_RTC_12_MASK 0x0000000000001000UL
2708#define UVXH_EVENT_OCCURRED2_RTC_21_MASK 0x0000000000200000UL 3723#define UV2H_EVENT_OCCURRED2_RTC_13_MASK 0x0000000000002000UL
2709#define UVXH_EVENT_OCCURRED2_RTC_22_MASK 0x0000000000400000UL 3724#define UV2H_EVENT_OCCURRED2_RTC_14_MASK 0x0000000000004000UL
2710#define UVXH_EVENT_OCCURRED2_RTC_23_MASK 0x0000000000800000UL 3725#define UV2H_EVENT_OCCURRED2_RTC_15_MASK 0x0000000000008000UL
2711#define UVXH_EVENT_OCCURRED2_RTC_24_MASK 0x0000000001000000UL 3726#define UV2H_EVENT_OCCURRED2_RTC_16_MASK 0x0000000000010000UL
2712#define UVXH_EVENT_OCCURRED2_RTC_25_MASK 0x0000000002000000UL 3727#define UV2H_EVENT_OCCURRED2_RTC_17_MASK 0x0000000000020000UL
2713#define UVXH_EVENT_OCCURRED2_RTC_26_MASK 0x0000000004000000UL 3728#define UV2H_EVENT_OCCURRED2_RTC_18_MASK 0x0000000000040000UL
2714#define UVXH_EVENT_OCCURRED2_RTC_27_MASK 0x0000000008000000UL 3729#define UV2H_EVENT_OCCURRED2_RTC_19_MASK 0x0000000000080000UL
2715#define UVXH_EVENT_OCCURRED2_RTC_28_MASK 0x0000000010000000UL 3730#define UV2H_EVENT_OCCURRED2_RTC_20_MASK 0x0000000000100000UL
2716#define UVXH_EVENT_OCCURRED2_RTC_29_MASK 0x0000000020000000UL 3731#define UV2H_EVENT_OCCURRED2_RTC_21_MASK 0x0000000000200000UL
2717#define UVXH_EVENT_OCCURRED2_RTC_30_MASK 0x0000000040000000UL 3732#define UV2H_EVENT_OCCURRED2_RTC_22_MASK 0x0000000000400000UL
2718#define UVXH_EVENT_OCCURRED2_RTC_31_MASK 0x0000000080000000UL 3733#define UV2H_EVENT_OCCURRED2_RTC_23_MASK 0x0000000000800000UL
2719 3734#define UV2H_EVENT_OCCURRED2_RTC_24_MASK 0x0000000001000000UL
2720union uvxh_event_occurred2_u { 3735#define UV2H_EVENT_OCCURRED2_RTC_25_MASK 0x0000000002000000UL
3736#define UV2H_EVENT_OCCURRED2_RTC_26_MASK 0x0000000004000000UL
3737#define UV2H_EVENT_OCCURRED2_RTC_27_MASK 0x0000000008000000UL
3738#define UV2H_EVENT_OCCURRED2_RTC_28_MASK 0x0000000010000000UL
3739#define UV2H_EVENT_OCCURRED2_RTC_29_MASK 0x0000000020000000UL
3740#define UV2H_EVENT_OCCURRED2_RTC_30_MASK 0x0000000040000000UL
3741#define UV2H_EVENT_OCCURRED2_RTC_31_MASK 0x0000000080000000UL
3742
3743#define UV3H_EVENT_OCCURRED2_RTC_0_SHFT 0
3744#define UV3H_EVENT_OCCURRED2_RTC_1_SHFT 1
3745#define UV3H_EVENT_OCCURRED2_RTC_2_SHFT 2
3746#define UV3H_EVENT_OCCURRED2_RTC_3_SHFT 3
3747#define UV3H_EVENT_OCCURRED2_RTC_4_SHFT 4
3748#define UV3H_EVENT_OCCURRED2_RTC_5_SHFT 5
3749#define UV3H_EVENT_OCCURRED2_RTC_6_SHFT 6
3750#define UV3H_EVENT_OCCURRED2_RTC_7_SHFT 7
3751#define UV3H_EVENT_OCCURRED2_RTC_8_SHFT 8
3752#define UV3H_EVENT_OCCURRED2_RTC_9_SHFT 9
3753#define UV3H_EVENT_OCCURRED2_RTC_10_SHFT 10
3754#define UV3H_EVENT_OCCURRED2_RTC_11_SHFT 11
3755#define UV3H_EVENT_OCCURRED2_RTC_12_SHFT 12
3756#define UV3H_EVENT_OCCURRED2_RTC_13_SHFT 13
3757#define UV3H_EVENT_OCCURRED2_RTC_14_SHFT 14
3758#define UV3H_EVENT_OCCURRED2_RTC_15_SHFT 15
3759#define UV3H_EVENT_OCCURRED2_RTC_16_SHFT 16
3760#define UV3H_EVENT_OCCURRED2_RTC_17_SHFT 17
3761#define UV3H_EVENT_OCCURRED2_RTC_18_SHFT 18
3762#define UV3H_EVENT_OCCURRED2_RTC_19_SHFT 19
3763#define UV3H_EVENT_OCCURRED2_RTC_20_SHFT 20
3764#define UV3H_EVENT_OCCURRED2_RTC_21_SHFT 21
3765#define UV3H_EVENT_OCCURRED2_RTC_22_SHFT 22
3766#define UV3H_EVENT_OCCURRED2_RTC_23_SHFT 23
3767#define UV3H_EVENT_OCCURRED2_RTC_24_SHFT 24
3768#define UV3H_EVENT_OCCURRED2_RTC_25_SHFT 25
3769#define UV3H_EVENT_OCCURRED2_RTC_26_SHFT 26
3770#define UV3H_EVENT_OCCURRED2_RTC_27_SHFT 27
3771#define UV3H_EVENT_OCCURRED2_RTC_28_SHFT 28
3772#define UV3H_EVENT_OCCURRED2_RTC_29_SHFT 29
3773#define UV3H_EVENT_OCCURRED2_RTC_30_SHFT 30
3774#define UV3H_EVENT_OCCURRED2_RTC_31_SHFT 31
3775#define UV3H_EVENT_OCCURRED2_RTC_0_MASK 0x0000000000000001UL
3776#define UV3H_EVENT_OCCURRED2_RTC_1_MASK 0x0000000000000002UL
3777#define UV3H_EVENT_OCCURRED2_RTC_2_MASK 0x0000000000000004UL
3778#define UV3H_EVENT_OCCURRED2_RTC_3_MASK 0x0000000000000008UL
3779#define UV3H_EVENT_OCCURRED2_RTC_4_MASK 0x0000000000000010UL
3780#define UV3H_EVENT_OCCURRED2_RTC_5_MASK 0x0000000000000020UL
3781#define UV3H_EVENT_OCCURRED2_RTC_6_MASK 0x0000000000000040UL
3782#define UV3H_EVENT_OCCURRED2_RTC_7_MASK 0x0000000000000080UL
3783#define UV3H_EVENT_OCCURRED2_RTC_8_MASK 0x0000000000000100UL
3784#define UV3H_EVENT_OCCURRED2_RTC_9_MASK 0x0000000000000200UL
3785#define UV3H_EVENT_OCCURRED2_RTC_10_MASK 0x0000000000000400UL
3786#define UV3H_EVENT_OCCURRED2_RTC_11_MASK 0x0000000000000800UL
3787#define UV3H_EVENT_OCCURRED2_RTC_12_MASK 0x0000000000001000UL
3788#define UV3H_EVENT_OCCURRED2_RTC_13_MASK 0x0000000000002000UL
3789#define UV3H_EVENT_OCCURRED2_RTC_14_MASK 0x0000000000004000UL
3790#define UV3H_EVENT_OCCURRED2_RTC_15_MASK 0x0000000000008000UL
3791#define UV3H_EVENT_OCCURRED2_RTC_16_MASK 0x0000000000010000UL
3792#define UV3H_EVENT_OCCURRED2_RTC_17_MASK 0x0000000000020000UL
3793#define UV3H_EVENT_OCCURRED2_RTC_18_MASK 0x0000000000040000UL
3794#define UV3H_EVENT_OCCURRED2_RTC_19_MASK 0x0000000000080000UL
3795#define UV3H_EVENT_OCCURRED2_RTC_20_MASK 0x0000000000100000UL
3796#define UV3H_EVENT_OCCURRED2_RTC_21_MASK 0x0000000000200000UL
3797#define UV3H_EVENT_OCCURRED2_RTC_22_MASK 0x0000000000400000UL
3798#define UV3H_EVENT_OCCURRED2_RTC_23_MASK 0x0000000000800000UL
3799#define UV3H_EVENT_OCCURRED2_RTC_24_MASK 0x0000000001000000UL
3800#define UV3H_EVENT_OCCURRED2_RTC_25_MASK 0x0000000002000000UL
3801#define UV3H_EVENT_OCCURRED2_RTC_26_MASK 0x0000000004000000UL
3802#define UV3H_EVENT_OCCURRED2_RTC_27_MASK 0x0000000008000000UL
3803#define UV3H_EVENT_OCCURRED2_RTC_28_MASK 0x0000000010000000UL
3804#define UV3H_EVENT_OCCURRED2_RTC_29_MASK 0x0000000020000000UL
3805#define UV3H_EVENT_OCCURRED2_RTC_30_MASK 0x0000000040000000UL
3806#define UV3H_EVENT_OCCURRED2_RTC_31_MASK 0x0000000080000000UL
3807
3808#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT0_SHFT 0
3809#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT1_SHFT 1
3810#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT2_SHFT 2
3811#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT3_SHFT 3
3812#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT4_SHFT 4
3813#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT5_SHFT 5
3814#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT6_SHFT 6
3815#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT7_SHFT 7
3816#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT8_SHFT 8
3817#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT9_SHFT 9
3818#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT10_SHFT 10
3819#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT11_SHFT 11
3820#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT12_SHFT 12
3821#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT13_SHFT 13
3822#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT14_SHFT 14
3823#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT15_SHFT 15
3824#define UV4H_EVENT_OCCURRED2_RTC_INTERVAL_INT_SHFT 16
3825#define UV4H_EVENT_OCCURRED2_BAU_DASHBOARD_INT_SHFT 17
3826#define UV4H_EVENT_OCCURRED2_RTC_0_SHFT 18
3827#define UV4H_EVENT_OCCURRED2_RTC_1_SHFT 19
3828#define UV4H_EVENT_OCCURRED2_RTC_2_SHFT 20
3829#define UV4H_EVENT_OCCURRED2_RTC_3_SHFT 21
3830#define UV4H_EVENT_OCCURRED2_RTC_4_SHFT 22
3831#define UV4H_EVENT_OCCURRED2_RTC_5_SHFT 23
3832#define UV4H_EVENT_OCCURRED2_RTC_6_SHFT 24
3833#define UV4H_EVENT_OCCURRED2_RTC_7_SHFT 25
3834#define UV4H_EVENT_OCCURRED2_RTC_8_SHFT 26
3835#define UV4H_EVENT_OCCURRED2_RTC_9_SHFT 27
3836#define UV4H_EVENT_OCCURRED2_RTC_10_SHFT 28
3837#define UV4H_EVENT_OCCURRED2_RTC_11_SHFT 29
3838#define UV4H_EVENT_OCCURRED2_RTC_12_SHFT 30
3839#define UV4H_EVENT_OCCURRED2_RTC_13_SHFT 31
3840#define UV4H_EVENT_OCCURRED2_RTC_14_SHFT 32
3841#define UV4H_EVENT_OCCURRED2_RTC_15_SHFT 33
3842#define UV4H_EVENT_OCCURRED2_RTC_16_SHFT 34
3843#define UV4H_EVENT_OCCURRED2_RTC_17_SHFT 35
3844#define UV4H_EVENT_OCCURRED2_RTC_18_SHFT 36
3845#define UV4H_EVENT_OCCURRED2_RTC_19_SHFT 37
3846#define UV4H_EVENT_OCCURRED2_RTC_20_SHFT 38
3847#define UV4H_EVENT_OCCURRED2_RTC_21_SHFT 39
3848#define UV4H_EVENT_OCCURRED2_RTC_22_SHFT 40
3849#define UV4H_EVENT_OCCURRED2_RTC_23_SHFT 41
3850#define UV4H_EVENT_OCCURRED2_RTC_24_SHFT 42
3851#define UV4H_EVENT_OCCURRED2_RTC_25_SHFT 43
3852#define UV4H_EVENT_OCCURRED2_RTC_26_SHFT 44
3853#define UV4H_EVENT_OCCURRED2_RTC_27_SHFT 45
3854#define UV4H_EVENT_OCCURRED2_RTC_28_SHFT 46
3855#define UV4H_EVENT_OCCURRED2_RTC_29_SHFT 47
3856#define UV4H_EVENT_OCCURRED2_RTC_30_SHFT 48
3857#define UV4H_EVENT_OCCURRED2_RTC_31_SHFT 49
3858#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT0_MASK 0x0000000000000001UL
3859#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT1_MASK 0x0000000000000002UL
3860#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT2_MASK 0x0000000000000004UL
3861#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT3_MASK 0x0000000000000008UL
3862#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT4_MASK 0x0000000000000010UL
3863#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT5_MASK 0x0000000000000020UL
3864#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT6_MASK 0x0000000000000040UL
3865#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT7_MASK 0x0000000000000080UL
3866#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT8_MASK 0x0000000000000100UL
3867#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT9_MASK 0x0000000000000200UL
3868#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT10_MASK 0x0000000000000400UL
3869#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT11_MASK 0x0000000000000800UL
3870#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT12_MASK 0x0000000000001000UL
3871#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT13_MASK 0x0000000000002000UL
3872#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT14_MASK 0x0000000000004000UL
3873#define UV4H_EVENT_OCCURRED2_MESSAGE_ACCELERATOR_INT15_MASK 0x0000000000008000UL
3874#define UV4H_EVENT_OCCURRED2_RTC_INTERVAL_INT_MASK 0x0000000000010000UL
3875#define UV4H_EVENT_OCCURRED2_BAU_DASHBOARD_INT_MASK 0x0000000000020000UL
3876#define UV4H_EVENT_OCCURRED2_RTC_0_MASK 0x0000000000040000UL
3877#define UV4H_EVENT_OCCURRED2_RTC_1_MASK 0x0000000000080000UL
3878#define UV4H_EVENT_OCCURRED2_RTC_2_MASK 0x0000000000100000UL
3879#define UV4H_EVENT_OCCURRED2_RTC_3_MASK 0x0000000000200000UL
3880#define UV4H_EVENT_OCCURRED2_RTC_4_MASK 0x0000000000400000UL
3881#define UV4H_EVENT_OCCURRED2_RTC_5_MASK 0x0000000000800000UL
3882#define UV4H_EVENT_OCCURRED2_RTC_6_MASK 0x0000000001000000UL
3883#define UV4H_EVENT_OCCURRED2_RTC_7_MASK 0x0000000002000000UL
3884#define UV4H_EVENT_OCCURRED2_RTC_8_MASK 0x0000000004000000UL
3885#define UV4H_EVENT_OCCURRED2_RTC_9_MASK 0x0000000008000000UL
3886#define UV4H_EVENT_OCCURRED2_RTC_10_MASK 0x0000000010000000UL
3887#define UV4H_EVENT_OCCURRED2_RTC_11_MASK 0x0000000020000000UL
3888#define UV4H_EVENT_OCCURRED2_RTC_12_MASK 0x0000000040000000UL
3889#define UV4H_EVENT_OCCURRED2_RTC_13_MASK 0x0000000080000000UL
3890#define UV4H_EVENT_OCCURRED2_RTC_14_MASK 0x0000000100000000UL
3891#define UV4H_EVENT_OCCURRED2_RTC_15_MASK 0x0000000200000000UL
3892#define UV4H_EVENT_OCCURRED2_RTC_16_MASK 0x0000000400000000UL
3893#define UV4H_EVENT_OCCURRED2_RTC_17_MASK 0x0000000800000000UL
3894#define UV4H_EVENT_OCCURRED2_RTC_18_MASK 0x0000001000000000UL
3895#define UV4H_EVENT_OCCURRED2_RTC_19_MASK 0x0000002000000000UL
3896#define UV4H_EVENT_OCCURRED2_RTC_20_MASK 0x0000004000000000UL
3897#define UV4H_EVENT_OCCURRED2_RTC_21_MASK 0x0000008000000000UL
3898#define UV4H_EVENT_OCCURRED2_RTC_22_MASK 0x0000010000000000UL
3899#define UV4H_EVENT_OCCURRED2_RTC_23_MASK 0x0000020000000000UL
3900#define UV4H_EVENT_OCCURRED2_RTC_24_MASK 0x0000040000000000UL
3901#define UV4H_EVENT_OCCURRED2_RTC_25_MASK 0x0000080000000000UL
3902#define UV4H_EVENT_OCCURRED2_RTC_26_MASK 0x0000100000000000UL
3903#define UV4H_EVENT_OCCURRED2_RTC_27_MASK 0x0000200000000000UL
3904#define UV4H_EVENT_OCCURRED2_RTC_28_MASK 0x0000400000000000UL
3905#define UV4H_EVENT_OCCURRED2_RTC_29_MASK 0x0000800000000000UL
3906#define UV4H_EVENT_OCCURRED2_RTC_30_MASK 0x0001000000000000UL
3907#define UV4H_EVENT_OCCURRED2_RTC_31_MASK 0x0002000000000000UL
3908
3909#define UVXH_EVENT_OCCURRED2_RTC_1_MASK ( \
3910 is_uv2_hub() ? UV2H_EVENT_OCCURRED2_RTC_1_MASK : \
3911 is_uv3_hub() ? UV3H_EVENT_OCCURRED2_RTC_1_MASK : \
3912 /*is_uv4_hub*/ UV4H_EVENT_OCCURRED2_RTC_1_MASK)
3913
3914union uvh_event_occurred2_u {
2721 unsigned long v; 3915 unsigned long v;
2722 struct uvxh_event_occurred2_s { 3916 struct uv2h_event_occurred2_s {
2723 unsigned long rtc_0:1; /* RW */ 3917 unsigned long rtc_0:1; /* RW */
2724 unsigned long rtc_1:1; /* RW */ 3918 unsigned long rtc_1:1; /* RW */
2725 unsigned long rtc_2:1; /* RW */ 3919 unsigned long rtc_2:1; /* RW */
@@ -2753,25 +3947,129 @@ union uvxh_event_occurred2_u {
2753 unsigned long rtc_30:1; /* RW */ 3947 unsigned long rtc_30:1; /* RW */
2754 unsigned long rtc_31:1; /* RW */ 3948 unsigned long rtc_31:1; /* RW */
2755 unsigned long rsvd_32_63:32; 3949 unsigned long rsvd_32_63:32;
2756 } sx; 3950 } s2;
3951 struct uv3h_event_occurred2_s {
3952 unsigned long rtc_0:1; /* RW */
3953 unsigned long rtc_1:1; /* RW */
3954 unsigned long rtc_2:1; /* RW */
3955 unsigned long rtc_3:1; /* RW */
3956 unsigned long rtc_4:1; /* RW */
3957 unsigned long rtc_5:1; /* RW */
3958 unsigned long rtc_6:1; /* RW */
3959 unsigned long rtc_7:1; /* RW */
3960 unsigned long rtc_8:1; /* RW */
3961 unsigned long rtc_9:1; /* RW */
3962 unsigned long rtc_10:1; /* RW */
3963 unsigned long rtc_11:1; /* RW */
3964 unsigned long rtc_12:1; /* RW */
3965 unsigned long rtc_13:1; /* RW */
3966 unsigned long rtc_14:1; /* RW */
3967 unsigned long rtc_15:1; /* RW */
3968 unsigned long rtc_16:1; /* RW */
3969 unsigned long rtc_17:1; /* RW */
3970 unsigned long rtc_18:1; /* RW */
3971 unsigned long rtc_19:1; /* RW */
3972 unsigned long rtc_20:1; /* RW */
3973 unsigned long rtc_21:1; /* RW */
3974 unsigned long rtc_22:1; /* RW */
3975 unsigned long rtc_23:1; /* RW */
3976 unsigned long rtc_24:1; /* RW */
3977 unsigned long rtc_25:1; /* RW */
3978 unsigned long rtc_26:1; /* RW */
3979 unsigned long rtc_27:1; /* RW */
3980 unsigned long rtc_28:1; /* RW */
3981 unsigned long rtc_29:1; /* RW */
3982 unsigned long rtc_30:1; /* RW */
3983 unsigned long rtc_31:1; /* RW */
3984 unsigned long rsvd_32_63:32;
3985 } s3;
3986 struct uv4h_event_occurred2_s {
3987 unsigned long message_accelerator_int0:1; /* RW */
3988 unsigned long message_accelerator_int1:1; /* RW */
3989 unsigned long message_accelerator_int2:1; /* RW */
3990 unsigned long message_accelerator_int3:1; /* RW */
3991 unsigned long message_accelerator_int4:1; /* RW */
3992 unsigned long message_accelerator_int5:1; /* RW */
3993 unsigned long message_accelerator_int6:1; /* RW */
3994 unsigned long message_accelerator_int7:1; /* RW */
3995 unsigned long message_accelerator_int8:1; /* RW */
3996 unsigned long message_accelerator_int9:1; /* RW */
3997 unsigned long message_accelerator_int10:1; /* RW */
3998 unsigned long message_accelerator_int11:1; /* RW */
3999 unsigned long message_accelerator_int12:1; /* RW */
4000 unsigned long message_accelerator_int13:1; /* RW */
4001 unsigned long message_accelerator_int14:1; /* RW */
4002 unsigned long message_accelerator_int15:1; /* RW */
4003 unsigned long rtc_interval_int:1; /* RW */
4004 unsigned long bau_dashboard_int:1; /* RW */
4005 unsigned long rtc_0:1; /* RW */
4006 unsigned long rtc_1:1; /* RW */
4007 unsigned long rtc_2:1; /* RW */
4008 unsigned long rtc_3:1; /* RW */
4009 unsigned long rtc_4:1; /* RW */
4010 unsigned long rtc_5:1; /* RW */
4011 unsigned long rtc_6:1; /* RW */
4012 unsigned long rtc_7:1; /* RW */
4013 unsigned long rtc_8:1; /* RW */
4014 unsigned long rtc_9:1; /* RW */
4015 unsigned long rtc_10:1; /* RW */
4016 unsigned long rtc_11:1; /* RW */
4017 unsigned long rtc_12:1; /* RW */
4018 unsigned long rtc_13:1; /* RW */
4019 unsigned long rtc_14:1; /* RW */
4020 unsigned long rtc_15:1; /* RW */
4021 unsigned long rtc_16:1; /* RW */
4022 unsigned long rtc_17:1; /* RW */
4023 unsigned long rtc_18:1; /* RW */
4024 unsigned long rtc_19:1; /* RW */
4025 unsigned long rtc_20:1; /* RW */
4026 unsigned long rtc_21:1; /* RW */
4027 unsigned long rtc_22:1; /* RW */
4028 unsigned long rtc_23:1; /* RW */
4029 unsigned long rtc_24:1; /* RW */
4030 unsigned long rtc_25:1; /* RW */
4031 unsigned long rtc_26:1; /* RW */
4032 unsigned long rtc_27:1; /* RW */
4033 unsigned long rtc_28:1; /* RW */
4034 unsigned long rtc_29:1; /* RW */
4035 unsigned long rtc_30:1; /* RW */
4036 unsigned long rtc_31:1; /* RW */
4037 unsigned long rsvd_50_63:14;
4038 } s4;
2757}; 4039};
2758 4040
2759/* ========================================================================= */ 4041/* ========================================================================= */
2760/* UVXH_EVENT_OCCURRED2_ALIAS */ 4042/* UVXH_EVENT_OCCURRED2_ALIAS */
2761/* ========================================================================= */ 4043/* ========================================================================= */
2762#define UVXH_EVENT_OCCURRED2_ALIAS 0x70108UL 4044#define UVXH_EVENT_OCCURRED2_ALIAS 0x70108UL
2763#define UVXH_EVENT_OCCURRED2_ALIAS_32 0xb70 4045
4046#define UV2H_EVENT_OCCURRED2_ALIAS_32 0xb70
4047#define UV3H_EVENT_OCCURRED2_ALIAS_32 0xb70
4048#define UV4H_EVENT_OCCURRED2_ALIAS_32 0x610
4049#define UVH_EVENT_OCCURRED2_ALIAS_32 ( \
4050 is_uv2_hub() ? UV2H_EVENT_OCCURRED2_ALIAS_32 : \
4051 is_uv3_hub() ? UV3H_EVENT_OCCURRED2_ALIAS_32 : \
4052 /*is_uv4_hub*/ UV4H_EVENT_OCCURRED2_ALIAS_32)
2764 4053
2765 4054
2766/* ========================================================================= */ 4055/* ========================================================================= */
2767/* UVXH_LB_BAU_SB_ACTIVATION_STATUS_2 */ 4056/* UVXH_LB_BAU_SB_ACTIVATION_STATUS_2 */
2768/* ========================================================================= */ 4057/* ========================================================================= */
2769#define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL
2770#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL 4058#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL
2771#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL 4059#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL
2772#define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x9f0 4060#define UV4H_LB_BAU_SB_ACTIVATION_STATUS_2 0xc8130UL
2773#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x320130UL 4061#define UVH_LB_BAU_SB_ACTIVATION_STATUS_2 ( \
2774#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x320130UL 4062 is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_STATUS_2 : \
4063 is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_STATUS_2 : \
4064 /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_STATUS_2)
4065
4066#define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x9f0
4067#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x9f0
4068#define UV4H_LB_BAU_SB_ACTIVATION_STATUS_2_32 0xa10
4069#define UVH_LB_BAU_SB_ACTIVATION_STATUS_2_32 ( \
4070 is_uv2_hub() ? UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_32 : \
4071 is_uv3_hub() ? UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_32 : \
4072 /*is_uv4_hub*/ UV4H_LB_BAU_SB_ACTIVATION_STATUS_2_32)
2775 4073
2776#define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0 4074#define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0
2777#define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL 4075#define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL
@@ -2782,6 +4080,10 @@ union uvxh_event_occurred2_u {
2782#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0 4080#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0
2783#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL 4081#define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL
2784 4082
4083#define UV4H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0
4084#define UV4H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL
4085
4086
2785union uvxh_lb_bau_sb_activation_status_2_u { 4087union uvxh_lb_bau_sb_activation_status_2_u {
2786 unsigned long v; 4088 unsigned long v;
2787 struct uvxh_lb_bau_sb_activation_status_2_s { 4089 struct uvxh_lb_bau_sb_activation_status_2_s {
@@ -2793,6 +4095,9 @@ union uvxh_lb_bau_sb_activation_status_2_u {
2793 struct uv3h_lb_bau_sb_activation_status_2_s { 4095 struct uv3h_lb_bau_sb_activation_status_2_s {
2794 unsigned long aux_error:64; /* RW */ 4096 unsigned long aux_error:64; /* RW */
2795 } s3; 4097 } s3;
4098 struct uv4h_lb_bau_sb_activation_status_2_s {
4099 unsigned long aux_error:64; /* RW */
4100 } s4;
2796}; 4101};
2797 4102
2798/* ========================================================================= */ 4103/* ========================================================================= */
@@ -2833,26 +4138,6 @@ union uv3h_gr0_gam_gr_config_u {
2833}; 4138};
2834 4139
2835/* ========================================================================= */ 4140/* ========================================================================= */
2836/* UV3H_GR1_GAM_GR_CONFIG */
2837/* ========================================================================= */
2838#define UV3H_GR1_GAM_GR_CONFIG 0x1000028UL
2839
2840#define UV3H_GR1_GAM_GR_CONFIG_M_SKT_SHFT 0
2841#define UV3H_GR1_GAM_GR_CONFIG_SUBSPACE_SHFT 10
2842#define UV3H_GR1_GAM_GR_CONFIG_M_SKT_MASK 0x000000000000003fUL
2843#define UV3H_GR1_GAM_GR_CONFIG_SUBSPACE_MASK 0x0000000000000400UL
2844
2845union uv3h_gr1_gam_gr_config_u {
2846 unsigned long v;
2847 struct uv3h_gr1_gam_gr_config_s {
2848 unsigned long m_skt:6; /* RW */
2849 unsigned long undef_6_9:4; /* Undefined */
2850 unsigned long subspace:1; /* RW */
2851 unsigned long reserved:53;
2852 } s3;
2853};
2854
2855/* ========================================================================= */
2856/* UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR */ 4141/* UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR */
2857/* ========================================================================= */ 4142/* ========================================================================= */
2858#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR 0x1603000UL 4143#define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR 0x1603000UL
@@ -2934,5 +4219,67 @@ union uv3h_rh_gam_mmioh_redirect_config1_mmr_u {
2934 } s3; 4219 } s3;
2935}; 4220};
2936 4221
4222/* ========================================================================= */
4223/* UV4H_LB_PROC_INTD_QUEUE_FIRST */
4224/* ========================================================================= */
4225#define UV4H_LB_PROC_INTD_QUEUE_FIRST 0xa4100UL
4226
4227#define UV4H_LB_PROC_INTD_QUEUE_FIRST_FIRST_PAYLOAD_ADDRESS_SHFT 6
4228#define UV4H_LB_PROC_INTD_QUEUE_FIRST_FIRST_PAYLOAD_ADDRESS_MASK 0x00003fffffffffc0UL
4229
4230union uv4h_lb_proc_intd_queue_first_u {
4231 unsigned long v;
4232 struct uv4h_lb_proc_intd_queue_first_s {
4233 unsigned long undef_0_5:6; /* Undefined */
4234 unsigned long first_payload_address:40; /* RW */
4235 } s4;
4236};
4237
4238/* ========================================================================= */
4239/* UV4H_LB_PROC_INTD_QUEUE_LAST */
4240/* ========================================================================= */
4241#define UV4H_LB_PROC_INTD_QUEUE_LAST 0xa4108UL
4242
4243#define UV4H_LB_PROC_INTD_QUEUE_LAST_LAST_PAYLOAD_ADDRESS_SHFT 5
4244#define UV4H_LB_PROC_INTD_QUEUE_LAST_LAST_PAYLOAD_ADDRESS_MASK 0x00003fffffffffe0UL
4245
4246union uv4h_lb_proc_intd_queue_last_u {
4247 unsigned long v;
4248 struct uv4h_lb_proc_intd_queue_last_s {
4249 unsigned long undef_0_4:5; /* Undefined */
4250 unsigned long last_payload_address:41; /* RW */
4251 } s4;
4252};
4253
4254/* ========================================================================= */
4255/* UV4H_LB_PROC_INTD_SOFT_ACK_CLEAR */
4256/* ========================================================================= */
4257#define UV4H_LB_PROC_INTD_SOFT_ACK_CLEAR 0xa4118UL
4258
4259#define UV4H_LB_PROC_INTD_SOFT_ACK_CLEAR_SOFT_ACK_PENDING_FLAGS_SHFT 0
4260#define UV4H_LB_PROC_INTD_SOFT_ACK_CLEAR_SOFT_ACK_PENDING_FLAGS_MASK 0x00000000000000ffUL
4261
4262union uv4h_lb_proc_intd_soft_ack_clear_u {
4263 unsigned long v;
4264 struct uv4h_lb_proc_intd_soft_ack_clear_s {
4265 unsigned long soft_ack_pending_flags:8; /* WP */
4266 } s4;
4267};
4268
4269/* ========================================================================= */
4270/* UV4H_LB_PROC_INTD_SOFT_ACK_PENDING */
4271/* ========================================================================= */
4272#define UV4H_LB_PROC_INTD_SOFT_ACK_PENDING 0xa4110UL
4273
4274#define UV4H_LB_PROC_INTD_SOFT_ACK_PENDING_SOFT_ACK_FLAGS_SHFT 0
4275#define UV4H_LB_PROC_INTD_SOFT_ACK_PENDING_SOFT_ACK_FLAGS_MASK 0x00000000000000ffUL
4276
4277union uv4h_lb_proc_intd_soft_ack_pending_u {
4278 unsigned long v;
4279 struct uv4h_lb_proc_intd_soft_ack_pending_s {
4280 unsigned long soft_ack_flags:8; /* RW */
4281 } s4;
4282};
4283
2937 4284
2938#endif /* _ASM_X86_UV_UV_MMRS_H */ 4285#endif /* _ASM_X86_UV_UV_MMRS_H */