diff options
| -rw-r--r-- | arch/x86/include/asm/uv/uv_hub.h | 44 | ||||
| -rw-r--r-- | arch/x86/include/asm/uv/uv_mmrs.h | 1496 | ||||
| -rw-r--r-- | arch/x86/kernel/apic/x2apic_uv_x.c | 206 | ||||
| -rw-r--r-- | arch/x86/pci/mmconfig-shared.c | 3 | ||||
| -rw-r--r-- | arch/x86/platform/uv/uv_time.c | 13 | ||||
| -rw-r--r-- | drivers/misc/sgi-gru/grufile.c | 2 |
6 files changed, 1354 insertions, 410 deletions
diff --git a/arch/x86/include/asm/uv/uv_hub.h b/arch/x86/include/asm/uv/uv_hub.h index 21f7385badb8..2c32df95bb78 100644 --- a/arch/x86/include/asm/uv/uv_hub.h +++ b/arch/x86/include/asm/uv/uv_hub.h | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | * | 5 | * |
| 6 | * SGI UV architectural definitions | 6 | * SGI UV architectural definitions |
| 7 | * | 7 | * |
| 8 | * Copyright (C) 2007-2010 Silicon Graphics, Inc. All rights reserved. | 8 | * Copyright (C) 2007-2013 Silicon Graphics, Inc. All rights reserved. |
| 9 | */ | 9 | */ |
| 10 | 10 | ||
| 11 | #ifndef _ASM_X86_UV_UV_HUB_H | 11 | #ifndef _ASM_X86_UV_UV_HUB_H |
| @@ -175,6 +175,7 @@ DECLARE_PER_CPU(struct uv_hub_info_s, __uv_hub_info); | |||
| 175 | */ | 175 | */ |
| 176 | #define UV1_HUB_REVISION_BASE 1 | 176 | #define UV1_HUB_REVISION_BASE 1 |
| 177 | #define UV2_HUB_REVISION_BASE 3 | 177 | #define UV2_HUB_REVISION_BASE 3 |
| 178 | #define UV3_HUB_REVISION_BASE 5 | ||
| 178 | 179 | ||
| 179 | static inline int is_uv1_hub(void) | 180 | static inline int is_uv1_hub(void) |
| 180 | { | 181 | { |
| @@ -183,6 +184,23 @@ static inline int is_uv1_hub(void) | |||
| 183 | 184 | ||
| 184 | static inline int is_uv2_hub(void) | 185 | static inline int is_uv2_hub(void) |
| 185 | { | 186 | { |
| 187 | return ((uv_hub_info->hub_revision >= UV2_HUB_REVISION_BASE) && | ||
| 188 | (uv_hub_info->hub_revision < UV3_HUB_REVISION_BASE)); | ||
| 189 | } | ||
| 190 | |||
| 191 | static inline int is_uv3_hub(void) | ||
| 192 | { | ||
| 193 | return uv_hub_info->hub_revision >= UV3_HUB_REVISION_BASE; | ||
| 194 | } | ||
| 195 | |||
| 196 | static inline int is_uv_hub(void) | ||
| 197 | { | ||
| 198 | return uv_hub_info->hub_revision; | ||
| 199 | } | ||
| 200 | |||
| 201 | /* code common to uv2 and uv3 only */ | ||
| 202 | static inline int is_uvx_hub(void) | ||
| 203 | { | ||
| 186 | return uv_hub_info->hub_revision >= UV2_HUB_REVISION_BASE; | 204 | return uv_hub_info->hub_revision >= UV2_HUB_REVISION_BASE; |
| 187 | } | 205 | } |
| 188 | 206 | ||
| @@ -230,14 +248,23 @@ union uvh_apicid { | |||
| 230 | #define UV2_LOCAL_MMR_SIZE (32UL * 1024 * 1024) | 248 | #define UV2_LOCAL_MMR_SIZE (32UL * 1024 * 1024) |
| 231 | #define UV2_GLOBAL_MMR32_SIZE (32UL * 1024 * 1024) | 249 | #define UV2_GLOBAL_MMR32_SIZE (32UL * 1024 * 1024) |
| 232 | 250 | ||
| 233 | #define UV_LOCAL_MMR_BASE (is_uv1_hub() ? UV1_LOCAL_MMR_BASE \ | 251 | #define UV3_LOCAL_MMR_BASE 0xfa000000UL |
| 234 | : UV2_LOCAL_MMR_BASE) | 252 | #define UV3_GLOBAL_MMR32_BASE 0xfc000000UL |
| 235 | #define UV_GLOBAL_MMR32_BASE (is_uv1_hub() ? UV1_GLOBAL_MMR32_BASE \ | 253 | #define UV3_LOCAL_MMR_SIZE (32UL * 1024 * 1024) |
| 236 | : UV2_GLOBAL_MMR32_BASE) | 254 | #define UV3_GLOBAL_MMR32_SIZE (32UL * 1024 * 1024) |
| 237 | #define UV_LOCAL_MMR_SIZE (is_uv1_hub() ? UV1_LOCAL_MMR_SIZE : \ | 255 | |
| 238 | UV2_LOCAL_MMR_SIZE) | 256 | #define UV_LOCAL_MMR_BASE (is_uv1_hub() ? UV1_LOCAL_MMR_BASE : \ |
| 257 | (is_uv2_hub() ? UV2_LOCAL_MMR_BASE : \ | ||
| 258 | UV3_LOCAL_MMR_BASE)) | ||
| 259 | #define UV_GLOBAL_MMR32_BASE (is_uv1_hub() ? UV1_GLOBAL_MMR32_BASE :\ | ||
| 260 | (is_uv2_hub() ? UV2_GLOBAL_MMR32_BASE :\ | ||
| 261 | UV3_GLOBAL_MMR32_BASE)) | ||
| 262 | #define UV_LOCAL_MMR_SIZE (is_uv1_hub() ? UV1_LOCAL_MMR_SIZE : \ | ||
| 263 | (is_uv2_hub() ? UV2_LOCAL_MMR_SIZE : \ | ||
| 264 | UV3_LOCAL_MMR_SIZE)) | ||
| 239 | #define UV_GLOBAL_MMR32_SIZE (is_uv1_hub() ? UV1_GLOBAL_MMR32_SIZE :\ | 265 | #define UV_GLOBAL_MMR32_SIZE (is_uv1_hub() ? UV1_GLOBAL_MMR32_SIZE :\ |
| 240 | UV2_GLOBAL_MMR32_SIZE) | 266 | (is_uv2_hub() ? UV2_GLOBAL_MMR32_SIZE :\ |
| 267 | UV3_GLOBAL_MMR32_SIZE)) | ||
| 241 | #define UV_GLOBAL_MMR64_BASE (uv_hub_info->global_mmr_base) | 268 | #define UV_GLOBAL_MMR64_BASE (uv_hub_info->global_mmr_base) |
| 242 | 269 | ||
| 243 | #define UV_GLOBAL_GRU_MMR_BASE 0x4000000 | 270 | #define UV_GLOBAL_GRU_MMR_BASE 0x4000000 |
| @@ -599,6 +626,7 @@ static inline void uv_hub_send_ipi(int pnode, int apicid, int vector) | |||
| 599 | * 1 - UV1 rev 1.0 initial silicon | 626 | * 1 - UV1 rev 1.0 initial silicon |
| 600 | * 2 - UV1 rev 2.0 production silicon | 627 | * 2 - UV1 rev 2.0 production silicon |
| 601 | * 3 - UV2 rev 1.0 initial silicon | 628 | * 3 - UV2 rev 1.0 initial silicon |
| 629 | * 5 - UV3 rev 1.0 initial silicon | ||
| 602 | */ | 630 | */ |
| 603 | static inline int uv_get_min_hub_revision_id(void) | 631 | static inline int uv_get_min_hub_revision_id(void) |
| 604 | { | 632 | { |
diff --git a/arch/x86/include/asm/uv/uv_mmrs.h b/arch/x86/include/asm/uv/uv_mmrs.h index cf1d73643f60..bd5f80e58a23 100644 --- a/arch/x86/include/asm/uv/uv_mmrs.h +++ b/arch/x86/include/asm/uv/uv_mmrs.h | |||
| @@ -5,16 +5,25 @@ | |||
| 5 | * | 5 | * |
| 6 | * SGI UV MMR definitions | 6 | * SGI UV MMR definitions |
| 7 | * | 7 | * |
| 8 | * Copyright (C) 2007-2011 Silicon Graphics, Inc. All rights reserved. | 8 | * Copyright (C) 2007-2013 Silicon Graphics, Inc. All rights reserved. |
| 9 | */ | 9 | */ |
| 10 | 10 | ||
| 11 | #ifndef _ASM_X86_UV_UV_MMRS_H | 11 | #ifndef _ASM_X86_UV_UV_MMRS_H |
| 12 | #define _ASM_X86_UV_UV_MMRS_H | 12 | #define _ASM_X86_UV_UV_MMRS_H |
| 13 | 13 | ||
| 14 | /* | 14 | /* |
| 15 | * This file contains MMR definitions for both UV1 & UV2 hubs. | 15 | * This file contains MMR definitions for all UV hubs types. |
| 16 | * | 16 | * |
| 17 | * In general, MMR addresses and structures are identical on both hubs. | 17 | * To minimize coding differences between hub types, the symbols are |
| 18 | * grouped by architecture types. | ||
| 19 | * | ||
| 20 | * UVH - definitions common to all UV hub types. | ||
| 21 | * UVXH - definitions common to all UV eXtended hub types (currently 2 & 3). | ||
| 22 | * UV1H - definitions specific to UV type 1 hub. | ||
| 23 | * UV2H - definitions specific to UV type 2 hub. | ||
| 24 | * UV3H - definitions specific to UV type 3 hub. | ||
| 25 | * | ||
| 26 | * So in general, MMR addresses and structures are identical on all hubs types. | ||
| 18 | * These MMRs are identified as: | 27 | * These MMRs are identified as: |
| 19 | * #define UVH_xxx <address> | 28 | * #define UVH_xxx <address> |
| 20 | * union uvh_xxx { | 29 | * union uvh_xxx { |
| @@ -23,24 +32,36 @@ | |||
| 23 | * } s; | 32 | * } s; |
| 24 | * }; | 33 | * }; |
| 25 | * | 34 | * |
| 26 | * If the MMR exists on both hub type but has different addresses or | 35 | * If the MMR exists on all hub types but have different addresses: |
| 27 | * contents, the MMR definition is similar to: | 36 | * #define UV1Hxxx a |
| 28 | * #define UV1H_xxx <uv1 address> | 37 | * #define UV2Hxxx b |
| 29 | * #define UV2H_xxx <uv2address> | 38 | * #define UV3Hxxx c |
| 30 | * #define UVH_xxx (is_uv1_hub() ? UV1H_xxx : UV2H_xxx) | 39 | * #define UVHxxx (is_uv1_hub() ? UV1Hxxx : |
| 40 | * (is_uv2_hub() ? UV2Hxxx : | ||
| 41 | * UV3Hxxx)) | ||
| 42 | * | ||
| 43 | * If the MMR exists on all hub types > 1 but have different addresses: | ||
| 44 | * #define UV2Hxxx b | ||
| 45 | * #define UV3Hxxx c | ||
| 46 | * #define UVXHxxx (is_uv2_hub() ? UV2Hxxx : | ||
| 47 | * UV3Hxxx)) | ||
| 48 | * | ||
| 31 | * union uvh_xxx { | 49 | * union uvh_xxx { |
| 32 | * unsigned long v; | 50 | * unsigned long v; |
| 33 | * struct uv1h_int_cmpd_s { (Common fields only) | 51 | * struct uvh_xxx_s { # Common fields only |
| 34 | * } s; | 52 | * } s; |
| 35 | * struct uv1h_int_cmpd_s { (Full UV1 definition) | 53 | * struct uv1h_xxx_s { # Full UV1 definition (*) |
| 36 | * } s1; | 54 | * } s1; |
| 37 | * struct uv2h_int_cmpd_s { (Full UV2 definition) | 55 | * struct uv2h_xxx_s { # Full UV2 definition (*) |
| 38 | * } s2; | 56 | * } s2; |
| 57 | * struct uv3h_xxx_s { # Full UV3 definition (*) | ||
| 58 | * } s3; | ||
| 39 | * }; | 59 | * }; |
| 60 | * (* - if present and different than the common struct) | ||
| 40 | * | 61 | * |
| 41 | * Only essential difference are enumerated. For example, if the address is | 62 | * Only essential differences are enumerated. For example, if the address is |
| 42 | * the same for both UV1 & UV2, only a single #define is generated. Likewise, | 63 | * the same for all UV's, only a single #define is generated. Likewise, |
| 43 | * if the contents is the same for both hubs, only the "s" structure is | 64 | * if the contents is the same for all hubs, only the "s" structure is |
| 44 | * generated. | 65 | * generated. |
| 45 | * | 66 | * |
| 46 | * If the MMR exists on ONLY 1 type of hub, no generic definition is | 67 | * If the MMR exists on ONLY 1 type of hub, no generic definition is |
| @@ -51,6 +72,8 @@ | |||
| 51 | * struct uvh_int_cmpd_s { | 72 | * struct uvh_int_cmpd_s { |
| 52 | * } sn; | 73 | * } sn; |
| 53 | * }; | 74 | * }; |
| 75 | * | ||
| 76 | * (GEN Flags: mflags_opt= undefs=0 UV23=UVXH) | ||
| 54 | */ | 77 | */ |
| 55 | 78 | ||
| 56 | #define UV_MMR_ENABLE (1UL << 63) | 79 | #define UV_MMR_ENABLE (1UL << 63) |
| @@ -58,15 +81,18 @@ | |||
| 58 | #define UV1_HUB_PART_NUMBER 0x88a5 | 81 | #define UV1_HUB_PART_NUMBER 0x88a5 |
| 59 | #define UV2_HUB_PART_NUMBER 0x8eb8 | 82 | #define UV2_HUB_PART_NUMBER 0x8eb8 |
| 60 | #define UV2_HUB_PART_NUMBER_X 0x1111 | 83 | #define UV2_HUB_PART_NUMBER_X 0x1111 |
| 84 | #define UV3_HUB_PART_NUMBER 0x9578 | ||
| 85 | #define UV3_HUB_PART_NUMBER_X 0x4321 | ||
| 61 | 86 | ||
| 62 | /* Compat: if this #define is present, UV headers support UV2 */ | 87 | /* Compat: Indicate which UV Hubs are supported. */ |
| 63 | #define UV2_HUB_IS_SUPPORTED 1 | 88 | #define UV2_HUB_IS_SUPPORTED 1 |
| 89 | #define UV3_HUB_IS_SUPPORTED 1 | ||
| 64 | 90 | ||
| 65 | /* ========================================================================= */ | 91 | /* ========================================================================= */ |
| 66 | /* UVH_BAU_DATA_BROADCAST */ | 92 | /* UVH_BAU_DATA_BROADCAST */ |
| 67 | /* ========================================================================= */ | 93 | /* ========================================================================= */ |
| 68 | #define UVH_BAU_DATA_BROADCAST 0x61688UL | 94 | #define UVH_BAU_DATA_BROADCAST 0x61688UL |
| 69 | #define UVH_BAU_DATA_BROADCAST_32 0x440 | 95 | #define UVH_BAU_DATA_BROADCAST_32 0x440 |
| 70 | 96 | ||
| 71 | #define UVH_BAU_DATA_BROADCAST_ENABLE_SHFT 0 | 97 | #define UVH_BAU_DATA_BROADCAST_ENABLE_SHFT 0 |
| 72 | #define UVH_BAU_DATA_BROADCAST_ENABLE_MASK 0x0000000000000001UL | 98 | #define UVH_BAU_DATA_BROADCAST_ENABLE_MASK 0x0000000000000001UL |
| @@ -82,8 +108,8 @@ union uvh_bau_data_broadcast_u { | |||
| 82 | /* ========================================================================= */ | 108 | /* ========================================================================= */ |
| 83 | /* UVH_BAU_DATA_CONFIG */ | 109 | /* UVH_BAU_DATA_CONFIG */ |
| 84 | /* ========================================================================= */ | 110 | /* ========================================================================= */ |
| 85 | #define UVH_BAU_DATA_CONFIG 0x61680UL | 111 | #define UVH_BAU_DATA_CONFIG 0x61680UL |
| 86 | #define UVH_BAU_DATA_CONFIG_32 0x438 | 112 | #define UVH_BAU_DATA_CONFIG_32 0x438 |
| 87 | 113 | ||
| 88 | #define UVH_BAU_DATA_CONFIG_VECTOR_SHFT 0 | 114 | #define UVH_BAU_DATA_CONFIG_VECTOR_SHFT 0 |
| 89 | #define UVH_BAU_DATA_CONFIG_DM_SHFT 8 | 115 | #define UVH_BAU_DATA_CONFIG_DM_SHFT 8 |
| @@ -121,10 +147,14 @@ union uvh_bau_data_config_u { | |||
| 121 | /* ========================================================================= */ | 147 | /* ========================================================================= */ |
| 122 | /* UVH_EVENT_OCCURRED0 */ | 148 | /* UVH_EVENT_OCCURRED0 */ |
| 123 | /* ========================================================================= */ | 149 | /* ========================================================================= */ |
| 124 | #define UVH_EVENT_OCCURRED0 0x70000UL | 150 | #define UVH_EVENT_OCCURRED0 0x70000UL |
| 125 | #define UVH_EVENT_OCCURRED0_32 0x5e8 | 151 | #define UVH_EVENT_OCCURRED0_32 0x5e8 |
| 152 | |||
| 153 | #define UVH_EVENT_OCCURRED0_LB_HCERR_SHFT 0 | ||
| 154 | #define UVH_EVENT_OCCURRED0_RH_AOERR0_SHFT 11 | ||
| 155 | #define UVH_EVENT_OCCURRED0_LB_HCERR_MASK 0x0000000000000001UL | ||
| 156 | #define UVH_EVENT_OCCURRED0_RH_AOERR0_MASK 0x0000000000000800UL | ||
| 126 | 157 | ||
| 127 | #define UV1H_EVENT_OCCURRED0_LB_HCERR_SHFT 0 | ||
| 128 | #define UV1H_EVENT_OCCURRED0_GR0_HCERR_SHFT 1 | 158 | #define UV1H_EVENT_OCCURRED0_GR0_HCERR_SHFT 1 |
| 129 | #define UV1H_EVENT_OCCURRED0_GR1_HCERR_SHFT 2 | 159 | #define UV1H_EVENT_OCCURRED0_GR1_HCERR_SHFT 2 |
| 130 | #define UV1H_EVENT_OCCURRED0_LH_HCERR_SHFT 3 | 160 | #define UV1H_EVENT_OCCURRED0_LH_HCERR_SHFT 3 |
| @@ -135,7 +165,6 @@ union uvh_bau_data_config_u { | |||
| 135 | #define UV1H_EVENT_OCCURRED0_GR0_AOERR0_SHFT 8 | 165 | #define UV1H_EVENT_OCCURRED0_GR0_AOERR0_SHFT 8 |
| 136 | #define UV1H_EVENT_OCCURRED0_GR1_AOERR0_SHFT 9 | 166 | #define UV1H_EVENT_OCCURRED0_GR1_AOERR0_SHFT 9 |
| 137 | #define UV1H_EVENT_OCCURRED0_LH_AOERR0_SHFT 10 | 167 | #define UV1H_EVENT_OCCURRED0_LH_AOERR0_SHFT 10 |
| 138 | #define UV1H_EVENT_OCCURRED0_RH_AOERR0_SHFT 11 | ||
| 139 | #define UV1H_EVENT_OCCURRED0_XN_AOERR0_SHFT 12 | 168 | #define UV1H_EVENT_OCCURRED0_XN_AOERR0_SHFT 12 |
| 140 | #define UV1H_EVENT_OCCURRED0_SI_AOERR0_SHFT 13 | 169 | #define UV1H_EVENT_OCCURRED0_SI_AOERR0_SHFT 13 |
| 141 | #define UV1H_EVENT_OCCURRED0_LB_AOERR1_SHFT 14 | 170 | #define UV1H_EVENT_OCCURRED0_LB_AOERR1_SHFT 14 |
| @@ -181,7 +210,6 @@ union uvh_bau_data_config_u { | |||
| 181 | #define UV1H_EVENT_OCCURRED0_RTC3_SHFT 54 | 210 | #define UV1H_EVENT_OCCURRED0_RTC3_SHFT 54 |
| 182 | #define UV1H_EVENT_OCCURRED0_BAU_DATA_SHFT 55 | 211 | #define UV1H_EVENT_OCCURRED0_BAU_DATA_SHFT 55 |
| 183 | #define UV1H_EVENT_OCCURRED0_POWER_MANAGEMENT_REQ_SHFT 56 | 212 | #define UV1H_EVENT_OCCURRED0_POWER_MANAGEMENT_REQ_SHFT 56 |
| 184 | #define UV1H_EVENT_OCCURRED0_LB_HCERR_MASK 0x0000000000000001UL | ||
| 185 | #define UV1H_EVENT_OCCURRED0_GR0_HCERR_MASK 0x0000000000000002UL | 213 | #define UV1H_EVENT_OCCURRED0_GR0_HCERR_MASK 0x0000000000000002UL |
| 186 | #define UV1H_EVENT_OCCURRED0_GR1_HCERR_MASK 0x0000000000000004UL | 214 | #define UV1H_EVENT_OCCURRED0_GR1_HCERR_MASK 0x0000000000000004UL |
| 187 | #define UV1H_EVENT_OCCURRED0_LH_HCERR_MASK 0x0000000000000008UL | 215 | #define UV1H_EVENT_OCCURRED0_LH_HCERR_MASK 0x0000000000000008UL |
| @@ -192,7 +220,6 @@ union uvh_bau_data_config_u { | |||
| 192 | #define UV1H_EVENT_OCCURRED0_GR0_AOERR0_MASK 0x0000000000000100UL | 220 | #define UV1H_EVENT_OCCURRED0_GR0_AOERR0_MASK 0x0000000000000100UL |
| 193 | #define UV1H_EVENT_OCCURRED0_GR1_AOERR0_MASK 0x0000000000000200UL | 221 | #define UV1H_EVENT_OCCURRED0_GR1_AOERR0_MASK 0x0000000000000200UL |
| 194 | #define UV1H_EVENT_OCCURRED0_LH_AOERR0_MASK 0x0000000000000400UL | 222 | #define UV1H_EVENT_OCCURRED0_LH_AOERR0_MASK 0x0000000000000400UL |
| 195 | #define UV1H_EVENT_OCCURRED0_RH_AOERR0_MASK 0x0000000000000800UL | ||
| 196 | #define UV1H_EVENT_OCCURRED0_XN_AOERR0_MASK 0x0000000000001000UL | 223 | #define UV1H_EVENT_OCCURRED0_XN_AOERR0_MASK 0x0000000000001000UL |
| 197 | #define UV1H_EVENT_OCCURRED0_SI_AOERR0_MASK 0x0000000000002000UL | 224 | #define UV1H_EVENT_OCCURRED0_SI_AOERR0_MASK 0x0000000000002000UL |
| 198 | #define UV1H_EVENT_OCCURRED0_LB_AOERR1_MASK 0x0000000000004000UL | 225 | #define UV1H_EVENT_OCCURRED0_LB_AOERR1_MASK 0x0000000000004000UL |
| @@ -239,188 +266,130 @@ union uvh_bau_data_config_u { | |||
| 239 | #define UV1H_EVENT_OCCURRED0_BAU_DATA_MASK 0x0080000000000000UL | 266 | #define UV1H_EVENT_OCCURRED0_BAU_DATA_MASK 0x0080000000000000UL |
| 240 | #define UV1H_EVENT_OCCURRED0_POWER_MANAGEMENT_REQ_MASK 0x0100000000000000UL | 267 | #define UV1H_EVENT_OCCURRED0_POWER_MANAGEMENT_REQ_MASK 0x0100000000000000UL |
| 241 | 268 | ||
| 242 | #define UV2H_EVENT_OCCURRED0_LB_HCERR_SHFT 0 | 269 | #define UVXH_EVENT_OCCURRED0_QP_HCERR_SHFT 1 |
| 243 | #define UV2H_EVENT_OCCURRED0_QP_HCERR_SHFT 1 | 270 | #define UVXH_EVENT_OCCURRED0_RH_HCERR_SHFT 2 |
| 244 | #define UV2H_EVENT_OCCURRED0_RH_HCERR_SHFT 2 | 271 | #define UVXH_EVENT_OCCURRED0_LH0_HCERR_SHFT 3 |
| 245 | #define UV2H_EVENT_OCCURRED0_LH0_HCERR_SHFT 3 | 272 | #define UVXH_EVENT_OCCURRED0_LH1_HCERR_SHFT 4 |
| 246 | #define UV2H_EVENT_OCCURRED0_LH1_HCERR_SHFT 4 | 273 | #define UVXH_EVENT_OCCURRED0_GR0_HCERR_SHFT 5 |
| 247 | #define UV2H_EVENT_OCCURRED0_GR0_HCERR_SHFT 5 | 274 | #define UVXH_EVENT_OCCURRED0_GR1_HCERR_SHFT 6 |
| 248 | #define UV2H_EVENT_OCCURRED0_GR1_HCERR_SHFT 6 | 275 | #define UVXH_EVENT_OCCURRED0_NI0_HCERR_SHFT 7 |
| 249 | #define UV2H_EVENT_OCCURRED0_NI0_HCERR_SHFT 7 | 276 | #define UVXH_EVENT_OCCURRED0_NI1_HCERR_SHFT 8 |
| 250 | #define UV2H_EVENT_OCCURRED0_NI1_HCERR_SHFT 8 | 277 | #define UVXH_EVENT_OCCURRED0_LB_AOERR0_SHFT 9 |
| 251 | #define UV2H_EVENT_OCCURRED0_LB_AOERR0_SHFT 9 | 278 | #define UVXH_EVENT_OCCURRED0_QP_AOERR0_SHFT 10 |
| 252 | #define UV2H_EVENT_OCCURRED0_QP_AOERR0_SHFT 10 | 279 | #define UVXH_EVENT_OCCURRED0_LH0_AOERR0_SHFT 12 |
| 253 | #define UV2H_EVENT_OCCURRED0_RH_AOERR0_SHFT 11 | 280 | #define UVXH_EVENT_OCCURRED0_LH1_AOERR0_SHFT 13 |
| 254 | #define UV2H_EVENT_OCCURRED0_LH0_AOERR0_SHFT 12 | 281 | #define UVXH_EVENT_OCCURRED0_GR0_AOERR0_SHFT 14 |
| 255 | #define UV2H_EVENT_OCCURRED0_LH1_AOERR0_SHFT 13 | 282 | #define UVXH_EVENT_OCCURRED0_GR1_AOERR0_SHFT 15 |
| 256 | #define UV2H_EVENT_OCCURRED0_GR0_AOERR0_SHFT 14 | 283 | #define UVXH_EVENT_OCCURRED0_XB_AOERR0_SHFT 16 |
| 257 | #define UV2H_EVENT_OCCURRED0_GR1_AOERR0_SHFT 15 | 284 | #define UVXH_EVENT_OCCURRED0_RT_AOERR0_SHFT 17 |
| 258 | #define UV2H_EVENT_OCCURRED0_XB_AOERR0_SHFT 16 | 285 | #define UVXH_EVENT_OCCURRED0_NI0_AOERR0_SHFT 18 |
| 259 | #define UV2H_EVENT_OCCURRED0_RT_AOERR0_SHFT 17 | 286 | #define UVXH_EVENT_OCCURRED0_NI1_AOERR0_SHFT 19 |
| 260 | #define UV2H_EVENT_OCCURRED0_NI0_AOERR0_SHFT 18 | 287 | #define UVXH_EVENT_OCCURRED0_LB_AOERR1_SHFT 20 |
| 261 | #define UV2H_EVENT_OCCURRED0_NI1_AOERR0_SHFT 19 | 288 | #define UVXH_EVENT_OCCURRED0_QP_AOERR1_SHFT 21 |
| 262 | #define UV2H_EVENT_OCCURRED0_LB_AOERR1_SHFT 20 | 289 | #define UVXH_EVENT_OCCURRED0_RH_AOERR1_SHFT 22 |
| 263 | #define UV2H_EVENT_OCCURRED0_QP_AOERR1_SHFT 21 | 290 | #define UVXH_EVENT_OCCURRED0_LH0_AOERR1_SHFT 23 |
| 264 | #define UV2H_EVENT_OCCURRED0_RH_AOERR1_SHFT 22 | 291 | #define UVXH_EVENT_OCCURRED0_LH1_AOERR1_SHFT 24 |
| 265 | #define UV2H_EVENT_OCCURRED0_LH0_AOERR1_SHFT 23 | 292 | #define UVXH_EVENT_OCCURRED0_GR0_AOERR1_SHFT 25 |
| 266 | #define UV2H_EVENT_OCCURRED0_LH1_AOERR1_SHFT 24 | 293 | #define UVXH_EVENT_OCCURRED0_GR1_AOERR1_SHFT 26 |
| 267 | #define UV2H_EVENT_OCCURRED0_GR0_AOERR1_SHFT 25 | 294 | #define UVXH_EVENT_OCCURRED0_XB_AOERR1_SHFT 27 |
| 268 | #define UV2H_EVENT_OCCURRED0_GR1_AOERR1_SHFT 26 | 295 | #define UVXH_EVENT_OCCURRED0_RT_AOERR1_SHFT 28 |
| 269 | #define UV2H_EVENT_OCCURRED0_XB_AOERR1_SHFT 27 | 296 | #define UVXH_EVENT_OCCURRED0_NI0_AOERR1_SHFT 29 |
| 270 | #define UV2H_EVENT_OCCURRED0_RT_AOERR1_SHFT 28 | 297 | #define UVXH_EVENT_OCCURRED0_NI1_AOERR1_SHFT 30 |
| 271 | #define UV2H_EVENT_OCCURRED0_NI0_AOERR1_SHFT 29 | 298 | #define UVXH_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT 31 |
| 272 | #define UV2H_EVENT_OCCURRED0_NI1_AOERR1_SHFT 30 | 299 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT 32 |
| 273 | #define UV2H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT 31 | 300 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT 33 |
| 274 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT 32 | 301 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT 34 |
| 275 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT 33 | 302 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT 35 |
| 276 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT 34 | 303 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT 36 |
| 277 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT 35 | 304 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT 37 |
| 278 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT 36 | 305 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT 38 |
| 279 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT 37 | 306 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT 39 |
| 280 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT 38 | 307 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT 40 |
| 281 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT 39 | 308 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT 41 |
| 282 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT 40 | 309 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT 42 |
| 283 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT 41 | 310 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT 43 |
| 284 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT 42 | 311 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT 44 |
| 285 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT 43 | 312 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT 45 |
| 286 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT 44 | 313 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT 46 |
| 287 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT 45 | 314 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT 47 |
| 288 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT 46 | 315 | #define UVXH_EVENT_OCCURRED0_L1_NMI_INT_SHFT 48 |
| 289 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT 47 | 316 | #define UVXH_EVENT_OCCURRED0_STOP_CLOCK_SHFT 49 |
| 290 | #define UV2H_EVENT_OCCURRED0_L1_NMI_INT_SHFT 48 | 317 | #define UVXH_EVENT_OCCURRED0_ASIC_TO_L1_SHFT 50 |
| 291 | #define UV2H_EVENT_OCCURRED0_STOP_CLOCK_SHFT 49 | 318 | #define UVXH_EVENT_OCCURRED0_L1_TO_ASIC_SHFT 51 |
| 292 | #define UV2H_EVENT_OCCURRED0_ASIC_TO_L1_SHFT 50 | 319 | #define UVXH_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT 52 |
| 293 | #define UV2H_EVENT_OCCURRED0_L1_TO_ASIC_SHFT 51 | 320 | #define UVXH_EVENT_OCCURRED0_IPI_INT_SHFT 53 |
| 294 | #define UV2H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT 52 | 321 | #define UVXH_EVENT_OCCURRED0_EXTIO_INT0_SHFT 54 |
| 295 | #define UV2H_EVENT_OCCURRED0_IPI_INT_SHFT 53 | 322 | #define UVXH_EVENT_OCCURRED0_EXTIO_INT1_SHFT 55 |
| 296 | #define UV2H_EVENT_OCCURRED0_EXTIO_INT0_SHFT 54 | 323 | #define UVXH_EVENT_OCCURRED0_EXTIO_INT2_SHFT 56 |
| 297 | #define UV2H_EVENT_OCCURRED0_EXTIO_INT1_SHFT 55 | 324 | #define UVXH_EVENT_OCCURRED0_EXTIO_INT3_SHFT 57 |
| 298 | #define UV2H_EVENT_OCCURRED0_EXTIO_INT2_SHFT 56 | 325 | #define UVXH_EVENT_OCCURRED0_PROFILE_INT_SHFT 58 |
| 299 | #define UV2H_EVENT_OCCURRED0_EXTIO_INT3_SHFT 57 | 326 | #define UVXH_EVENT_OCCURRED0_QP_HCERR_MASK 0x0000000000000002UL |
| 300 | #define UV2H_EVENT_OCCURRED0_PROFILE_INT_SHFT 58 | 327 | #define UVXH_EVENT_OCCURRED0_RH_HCERR_MASK 0x0000000000000004UL |
| 301 | #define UV2H_EVENT_OCCURRED0_LB_HCERR_MASK 0x0000000000000001UL | 328 | #define UVXH_EVENT_OCCURRED0_LH0_HCERR_MASK 0x0000000000000008UL |
| 302 | #define UV2H_EVENT_OCCURRED0_QP_HCERR_MASK 0x0000000000000002UL | 329 | #define UVXH_EVENT_OCCURRED0_LH1_HCERR_MASK 0x0000000000000010UL |
| 303 | #define UV2H_EVENT_OCCURRED0_RH_HCERR_MASK 0x0000000000000004UL | 330 | #define UVXH_EVENT_OCCURRED0_GR0_HCERR_MASK 0x0000000000000020UL |
| 304 | #define UV2H_EVENT_OCCURRED0_LH0_HCERR_MASK 0x0000000000000008UL | 331 | #define UVXH_EVENT_OCCURRED0_GR1_HCERR_MASK 0x0000000000000040UL |
| 305 | #define UV2H_EVENT_OCCURRED0_LH1_HCERR_MASK 0x0000000000000010UL | 332 | #define UVXH_EVENT_OCCURRED0_NI0_HCERR_MASK 0x0000000000000080UL |
| 306 | #define UV2H_EVENT_OCCURRED0_GR0_HCERR_MASK 0x0000000000000020UL | 333 | #define UVXH_EVENT_OCCURRED0_NI1_HCERR_MASK 0x0000000000000100UL |
| 307 | #define UV2H_EVENT_OCCURRED0_GR1_HCERR_MASK 0x0000000000000040UL | 334 | #define UVXH_EVENT_OCCURRED0_LB_AOERR0_MASK 0x0000000000000200UL |
| 308 | #define UV2H_EVENT_OCCURRED0_NI0_HCERR_MASK 0x0000000000000080UL | 335 | #define UVXH_EVENT_OCCURRED0_QP_AOERR0_MASK 0x0000000000000400UL |
| 309 | #define UV2H_EVENT_OCCURRED0_NI1_HCERR_MASK 0x0000000000000100UL | 336 | #define UVXH_EVENT_OCCURRED0_LH0_AOERR0_MASK 0x0000000000001000UL |
| 310 | #define UV2H_EVENT_OCCURRED0_LB_AOERR0_MASK 0x0000000000000200UL | 337 | #define UVXH_EVENT_OCCURRED0_LH1_AOERR0_MASK 0x0000000000002000UL |
| 311 | #define UV2H_EVENT_OCCURRED0_QP_AOERR0_MASK 0x0000000000000400UL | 338 | #define UVXH_EVENT_OCCURRED0_GR0_AOERR0_MASK 0x0000000000004000UL |
| 312 | #define UV2H_EVENT_OCCURRED0_RH_AOERR0_MASK 0x0000000000000800UL | 339 | #define UVXH_EVENT_OCCURRED0_GR1_AOERR0_MASK 0x0000000000008000UL |
| 313 | #define UV2H_EVENT_OCCURRED0_LH0_AOERR0_MASK 0x0000000000001000UL | 340 | #define UVXH_EVENT_OCCURRED0_XB_AOERR0_MASK 0x0000000000010000UL |
| 314 | #define UV2H_EVENT_OCCURRED0_LH1_AOERR0_MASK 0x0000000000002000UL | 341 | #define UVXH_EVENT_OCCURRED0_RT_AOERR0_MASK 0x0000000000020000UL |
| 315 | #define UV2H_EVENT_OCCURRED0_GR0_AOERR0_MASK 0x0000000000004000UL | 342 | #define UVXH_EVENT_OCCURRED0_NI0_AOERR0_MASK 0x0000000000040000UL |
| 316 | #define UV2H_EVENT_OCCURRED0_GR1_AOERR0_MASK 0x0000000000008000UL | 343 | #define UVXH_EVENT_OCCURRED0_NI1_AOERR0_MASK 0x0000000000080000UL |
| 317 | #define UV2H_EVENT_OCCURRED0_XB_AOERR0_MASK 0x0000000000010000UL | 344 | #define UVXH_EVENT_OCCURRED0_LB_AOERR1_MASK 0x0000000000100000UL |
| 318 | #define UV2H_EVENT_OCCURRED0_RT_AOERR0_MASK 0x0000000000020000UL | 345 | #define UVXH_EVENT_OCCURRED0_QP_AOERR1_MASK 0x0000000000200000UL |
| 319 | #define UV2H_EVENT_OCCURRED0_NI0_AOERR0_MASK 0x0000000000040000UL | 346 | #define UVXH_EVENT_OCCURRED0_RH_AOERR1_MASK 0x0000000000400000UL |
| 320 | #define UV2H_EVENT_OCCURRED0_NI1_AOERR0_MASK 0x0000000000080000UL | 347 | #define UVXH_EVENT_OCCURRED0_LH0_AOERR1_MASK 0x0000000000800000UL |
| 321 | #define UV2H_EVENT_OCCURRED0_LB_AOERR1_MASK 0x0000000000100000UL | 348 | #define UVXH_EVENT_OCCURRED0_LH1_AOERR1_MASK 0x0000000001000000UL |
| 322 | #define UV2H_EVENT_OCCURRED0_QP_AOERR1_MASK 0x0000000000200000UL | 349 | #define UVXH_EVENT_OCCURRED0_GR0_AOERR1_MASK 0x0000000002000000UL |
| 323 | #define UV2H_EVENT_OCCURRED0_RH_AOERR1_MASK 0x0000000000400000UL | 350 | #define UVXH_EVENT_OCCURRED0_GR1_AOERR1_MASK 0x0000000004000000UL |
| 324 | #define UV2H_EVENT_OCCURRED0_LH0_AOERR1_MASK 0x0000000000800000UL | 351 | #define UVXH_EVENT_OCCURRED0_XB_AOERR1_MASK 0x0000000008000000UL |
| 325 | #define UV2H_EVENT_OCCURRED0_LH1_AOERR1_MASK 0x0000000001000000UL | 352 | #define UVXH_EVENT_OCCURRED0_RT_AOERR1_MASK 0x0000000010000000UL |
| 326 | #define UV2H_EVENT_OCCURRED0_GR0_AOERR1_MASK 0x0000000002000000UL | 353 | #define UVXH_EVENT_OCCURRED0_NI0_AOERR1_MASK 0x0000000020000000UL |
| 327 | #define UV2H_EVENT_OCCURRED0_GR1_AOERR1_MASK 0x0000000004000000UL | 354 | #define UVXH_EVENT_OCCURRED0_NI1_AOERR1_MASK 0x0000000040000000UL |
| 328 | #define UV2H_EVENT_OCCURRED0_XB_AOERR1_MASK 0x0000000008000000UL | 355 | #define UVXH_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK 0x0000000080000000UL |
| 329 | #define UV2H_EVENT_OCCURRED0_RT_AOERR1_MASK 0x0000000010000000UL | 356 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK 0x0000000100000000UL |
| 330 | #define UV2H_EVENT_OCCURRED0_NI0_AOERR1_MASK 0x0000000020000000UL | 357 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK 0x0000000200000000UL |
| 331 | #define UV2H_EVENT_OCCURRED0_NI1_AOERR1_MASK 0x0000000040000000UL | 358 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK 0x0000000400000000UL |
| 332 | #define UV2H_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK 0x0000000080000000UL | 359 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK 0x0000000800000000UL |
| 333 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK 0x0000000100000000UL | 360 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK 0x0000001000000000UL |
| 334 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK 0x0000000200000000UL | 361 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK 0x0000002000000000UL |
| 335 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK 0x0000000400000000UL | 362 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK 0x0000004000000000UL |
| 336 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK 0x0000000800000000UL | 363 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK 0x0000008000000000UL |
| 337 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK 0x0000001000000000UL | 364 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK 0x0000010000000000UL |
| 338 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK 0x0000002000000000UL | 365 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK 0x0000020000000000UL |
| 339 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK 0x0000004000000000UL | 366 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK 0x0000040000000000UL |
| 340 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK 0x0000008000000000UL | 367 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK 0x0000080000000000UL |
| 341 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK 0x0000010000000000UL | 368 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK 0x0000100000000000UL |
| 342 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK 0x0000020000000000UL | 369 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK 0x0000200000000000UL |
| 343 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK 0x0000040000000000UL | 370 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK 0x0000400000000000UL |
| 344 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK 0x0000080000000000UL | 371 | #define UVXH_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK 0x0000800000000000UL |
| 345 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK 0x0000100000000000UL | 372 | #define UVXH_EVENT_OCCURRED0_L1_NMI_INT_MASK 0x0001000000000000UL |
| 346 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK 0x0000200000000000UL | 373 | #define UVXH_EVENT_OCCURRED0_STOP_CLOCK_MASK 0x0002000000000000UL |
| 347 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK 0x0000400000000000UL | 374 | #define UVXH_EVENT_OCCURRED0_ASIC_TO_L1_MASK 0x0004000000000000UL |
| 348 | #define UV2H_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK 0x0000800000000000UL | 375 | #define UVXH_EVENT_OCCURRED0_L1_TO_ASIC_MASK 0x0008000000000000UL |
| 349 | #define UV2H_EVENT_OCCURRED0_L1_NMI_INT_MASK 0x0001000000000000UL | 376 | #define UVXH_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK 0x0010000000000000UL |
| 350 | #define UV2H_EVENT_OCCURRED0_STOP_CLOCK_MASK 0x0002000000000000UL | 377 | #define UVXH_EVENT_OCCURRED0_IPI_INT_MASK 0x0020000000000000UL |
| 351 | #define UV2H_EVENT_OCCURRED0_ASIC_TO_L1_MASK 0x0004000000000000UL | 378 | #define UVXH_EVENT_OCCURRED0_EXTIO_INT0_MASK 0x0040000000000000UL |
| 352 | #define UV2H_EVENT_OCCURRED0_L1_TO_ASIC_MASK 0x0008000000000000UL | 379 | #define UVXH_EVENT_OCCURRED0_EXTIO_INT1_MASK 0x0080000000000000UL |
| 353 | #define UV2H_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK 0x0010000000000000UL | 380 | #define UVXH_EVENT_OCCURRED0_EXTIO_INT2_MASK 0x0100000000000000UL |
| 354 | #define UV2H_EVENT_OCCURRED0_IPI_INT_MASK 0x0020000000000000UL | 381 | #define UVXH_EVENT_OCCURRED0_EXTIO_INT3_MASK 0x0200000000000000UL |
| 355 | #define UV2H_EVENT_OCCURRED0_EXTIO_INT0_MASK 0x0040000000000000UL | 382 | #define UVXH_EVENT_OCCURRED0_PROFILE_INT_MASK 0x0400000000000000UL |
| 356 | #define UV2H_EVENT_OCCURRED0_EXTIO_INT1_MASK 0x0080000000000000UL | ||
| 357 | #define UV2H_EVENT_OCCURRED0_EXTIO_INT2_MASK 0x0100000000000000UL | ||
| 358 | #define UV2H_EVENT_OCCURRED0_EXTIO_INT3_MASK 0x0200000000000000UL | ||
| 359 | #define UV2H_EVENT_OCCURRED0_PROFILE_INT_MASK 0x0400000000000000UL | ||
| 360 | 383 | ||
| 361 | union uvh_event_occurred0_u { | 384 | union uvh_event_occurred0_u { |
| 362 | unsigned long v; | 385 | unsigned long v; |
| 363 | struct uv1h_event_occurred0_s { | 386 | struct uvh_event_occurred0_s { |
| 364 | unsigned long lb_hcerr:1; /* RW, W1C */ | 387 | unsigned long lb_hcerr:1; /* RW, W1C */ |
| 365 | unsigned long gr0_hcerr:1; /* RW, W1C */ | 388 | unsigned long rsvd_1_10:10; |
| 366 | unsigned long gr1_hcerr:1; /* RW, W1C */ | ||
| 367 | unsigned long lh_hcerr:1; /* RW, W1C */ | ||
| 368 | unsigned long rh_hcerr:1; /* RW, W1C */ | ||
| 369 | unsigned long xn_hcerr:1; /* RW, W1C */ | ||
| 370 | unsigned long si_hcerr:1; /* RW, W1C */ | ||
| 371 | unsigned long lb_aoerr0:1; /* RW, W1C */ | ||
| 372 | unsigned long gr0_aoerr0:1; /* RW, W1C */ | ||
| 373 | unsigned long gr1_aoerr0:1; /* RW, W1C */ | ||
| 374 | unsigned long lh_aoerr0:1; /* RW, W1C */ | ||
| 375 | unsigned long rh_aoerr0:1; /* RW, W1C */ | 389 | unsigned long rh_aoerr0:1; /* RW, W1C */ |
| 376 | unsigned long xn_aoerr0:1; /* RW, W1C */ | 390 | unsigned long rsvd_12_63:52; |
| 377 | unsigned long si_aoerr0:1; /* RW, W1C */ | 391 | } s; |
| 378 | unsigned long lb_aoerr1:1; /* RW, W1C */ | 392 | struct uvxh_event_occurred0_s { |
| 379 | unsigned long gr0_aoerr1:1; /* RW, W1C */ | ||
| 380 | unsigned long gr1_aoerr1:1; /* RW, W1C */ | ||
| 381 | unsigned long lh_aoerr1:1; /* RW, W1C */ | ||
| 382 | unsigned long rh_aoerr1:1; /* RW, W1C */ | ||
| 383 | unsigned long xn_aoerr1:1; /* RW, W1C */ | ||
| 384 | unsigned long si_aoerr1:1; /* RW, W1C */ | ||
| 385 | unsigned long rh_vpi_int:1; /* RW, W1C */ | ||
| 386 | unsigned long system_shutdown_int:1; /* RW, W1C */ | ||
| 387 | unsigned long lb_irq_int_0:1; /* RW, W1C */ | ||
| 388 | unsigned long lb_irq_int_1:1; /* RW, W1C */ | ||
| 389 | unsigned long lb_irq_int_2:1; /* RW, W1C */ | ||
| 390 | unsigned long lb_irq_int_3:1; /* RW, W1C */ | ||
| 391 | unsigned long lb_irq_int_4:1; /* RW, W1C */ | ||
| 392 | unsigned long lb_irq_int_5:1; /* RW, W1C */ | ||
| 393 | unsigned long lb_irq_int_6:1; /* RW, W1C */ | ||
| 394 | unsigned long lb_irq_int_7:1; /* RW, W1C */ | ||
| 395 | unsigned long lb_irq_int_8:1; /* RW, W1C */ | ||
| 396 | unsigned long lb_irq_int_9:1; /* RW, W1C */ | ||
| 397 | unsigned long lb_irq_int_10:1; /* RW, W1C */ | ||
| 398 | unsigned long lb_irq_int_11:1; /* RW, W1C */ | ||
| 399 | unsigned long lb_irq_int_12:1; /* RW, W1C */ | ||
| 400 | unsigned long lb_irq_int_13:1; /* RW, W1C */ | ||
| 401 | unsigned long lb_irq_int_14:1; /* RW, W1C */ | ||
| 402 | unsigned long lb_irq_int_15:1; /* RW, W1C */ | ||
| 403 | unsigned long l1_nmi_int:1; /* RW, W1C */ | ||
| 404 | unsigned long stop_clock:1; /* RW, W1C */ | ||
| 405 | unsigned long asic_to_l1:1; /* RW, W1C */ | ||
| 406 | unsigned long l1_to_asic:1; /* RW, W1C */ | ||
| 407 | unsigned long ltc_int:1; /* RW, W1C */ | ||
| 408 | unsigned long la_seq_trigger:1; /* RW, W1C */ | ||
| 409 | unsigned long ipi_int:1; /* RW, W1C */ | ||
| 410 | unsigned long extio_int0:1; /* RW, W1C */ | ||
| 411 | unsigned long extio_int1:1; /* RW, W1C */ | ||
| 412 | unsigned long extio_int2:1; /* RW, W1C */ | ||
| 413 | unsigned long extio_int3:1; /* RW, W1C */ | ||
| 414 | unsigned long profile_int:1; /* RW, W1C */ | ||
| 415 | unsigned long rtc0:1; /* RW, W1C */ | ||
| 416 | unsigned long rtc1:1; /* RW, W1C */ | ||
| 417 | unsigned long rtc2:1; /* RW, W1C */ | ||
| 418 | unsigned long rtc3:1; /* RW, W1C */ | ||
| 419 | unsigned long bau_data:1; /* RW, W1C */ | ||
| 420 | unsigned long power_management_req:1; /* RW, W1C */ | ||
| 421 | unsigned long rsvd_57_63:7; | ||
| 422 | } s1; | ||
| 423 | struct uv2h_event_occurred0_s { | ||
| 424 | unsigned long lb_hcerr:1; /* RW */ | 393 | unsigned long lb_hcerr:1; /* RW */ |
| 425 | unsigned long qp_hcerr:1; /* RW */ | 394 | unsigned long qp_hcerr:1; /* RW */ |
| 426 | unsigned long rh_hcerr:1; /* RW */ | 395 | unsigned long rh_hcerr:1; /* RW */ |
| @@ -481,19 +450,20 @@ union uvh_event_occurred0_u { | |||
| 481 | unsigned long extio_int3:1; /* RW */ | 450 | unsigned long extio_int3:1; /* RW */ |
| 482 | unsigned long profile_int:1; /* RW */ | 451 | unsigned long profile_int:1; /* RW */ |
| 483 | unsigned long rsvd_59_63:5; | 452 | unsigned long rsvd_59_63:5; |
| 484 | } s2; | 453 | } sx; |
| 485 | }; | 454 | }; |
| 486 | 455 | ||
| 487 | /* ========================================================================= */ | 456 | /* ========================================================================= */ |
| 488 | /* UVH_EVENT_OCCURRED0_ALIAS */ | 457 | /* UVH_EVENT_OCCURRED0_ALIAS */ |
| 489 | /* ========================================================================= */ | 458 | /* ========================================================================= */ |
| 490 | #define UVH_EVENT_OCCURRED0_ALIAS 0x0000000000070008UL | 459 | #define UVH_EVENT_OCCURRED0_ALIAS 0x70008UL |
| 491 | #define UVH_EVENT_OCCURRED0_ALIAS_32 0x5f0 | 460 | #define UVH_EVENT_OCCURRED0_ALIAS_32 0x5f0 |
| 461 | |||
| 492 | 462 | ||
| 493 | /* ========================================================================= */ | 463 | /* ========================================================================= */ |
| 494 | /* UVH_GR0_TLB_INT0_CONFIG */ | 464 | /* UVH_GR0_TLB_INT0_CONFIG */ |
| 495 | /* ========================================================================= */ | 465 | /* ========================================================================= */ |
| 496 | #define UVH_GR0_TLB_INT0_CONFIG 0x61b00UL | 466 | #define UVH_GR0_TLB_INT0_CONFIG 0x61b00UL |
| 497 | 467 | ||
| 498 | #define UVH_GR0_TLB_INT0_CONFIG_VECTOR_SHFT 0 | 468 | #define UVH_GR0_TLB_INT0_CONFIG_VECTOR_SHFT 0 |
| 499 | #define UVH_GR0_TLB_INT0_CONFIG_DM_SHFT 8 | 469 | #define UVH_GR0_TLB_INT0_CONFIG_DM_SHFT 8 |
| @@ -531,7 +501,7 @@ union uvh_gr0_tlb_int0_config_u { | |||
| 531 | /* ========================================================================= */ | 501 | /* ========================================================================= */ |
| 532 | /* UVH_GR0_TLB_INT1_CONFIG */ | 502 | /* UVH_GR0_TLB_INT1_CONFIG */ |
| 533 | /* ========================================================================= */ | 503 | /* ========================================================================= */ |
| 534 | #define UVH_GR0_TLB_INT1_CONFIG 0x61b40UL | 504 | #define UVH_GR0_TLB_INT1_CONFIG 0x61b40UL |
| 535 | 505 | ||
| 536 | #define UVH_GR0_TLB_INT1_CONFIG_VECTOR_SHFT 0 | 506 | #define UVH_GR0_TLB_INT1_CONFIG_VECTOR_SHFT 0 |
| 537 | #define UVH_GR0_TLB_INT1_CONFIG_DM_SHFT 8 | 507 | #define UVH_GR0_TLB_INT1_CONFIG_DM_SHFT 8 |
| @@ -571,9 +541,11 @@ union uvh_gr0_tlb_int1_config_u { | |||
| 571 | /* ========================================================================= */ | 541 | /* ========================================================================= */ |
| 572 | #define UV1H_GR0_TLB_MMR_CONTROL 0x401080UL | 542 | #define UV1H_GR0_TLB_MMR_CONTROL 0x401080UL |
| 573 | #define UV2H_GR0_TLB_MMR_CONTROL 0xc01080UL | 543 | #define UV2H_GR0_TLB_MMR_CONTROL 0xc01080UL |
| 574 | #define UVH_GR0_TLB_MMR_CONTROL (is_uv1_hub() ? \ | 544 | #define UV3H_GR0_TLB_MMR_CONTROL 0xc01080UL |
| 575 | UV1H_GR0_TLB_MMR_CONTROL : \ | 545 | #define UVH_GR0_TLB_MMR_CONTROL \ |
| 576 | UV2H_GR0_TLB_MMR_CONTROL) | 546 | (is_uv1_hub() ? UV1H_GR0_TLB_MMR_CONTROL : \ |
| 547 | (is_uv2_hub() ? UV2H_GR0_TLB_MMR_CONTROL : \ | ||
| 548 | UV3H_GR0_TLB_MMR_CONTROL)) | ||
| 577 | 549 | ||
| 578 | #define UVH_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0 | 550 | #define UVH_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0 |
| 579 | #define UVH_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 | 551 | #define UVH_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 |
| @@ -611,6 +583,21 @@ union uvh_gr0_tlb_int1_config_u { | |||
| 611 | #define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBRREG_MASK 0x0100000000000000UL | 583 | #define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBRREG_MASK 0x0100000000000000UL |
| 612 | #define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_MASK 0x1000000000000000UL | 584 | #define UV1H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_MASK 0x1000000000000000UL |
| 613 | 585 | ||
| 586 | #define UVXH_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0 | ||
| 587 | #define UVXH_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 | ||
| 588 | #define UVXH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16 | ||
| 589 | #define UVXH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20 | ||
| 590 | #define UVXH_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30 | ||
| 591 | #define UVXH_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT 31 | ||
| 592 | #define UVXH_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT 32 | ||
| 593 | #define UVXH_GR0_TLB_MMR_CONTROL_INDEX_MASK 0x0000000000000fffUL | ||
| 594 | #define UVXH_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK 0x0000000000003000UL | ||
| 595 | #define UVXH_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL | ||
| 596 | #define UVXH_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL | ||
| 597 | #define UVXH_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL | ||
| 598 | #define UVXH_GR0_TLB_MMR_CONTROL_MMR_READ_MASK 0x0000000080000000UL | ||
| 599 | #define UVXH_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_MASK 0x0000000100000000UL | ||
| 600 | |||
| 614 | #define UV2H_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0 | 601 | #define UV2H_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0 |
| 615 | #define UV2H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 | 602 | #define UV2H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 |
| 616 | #define UV2H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16 | 603 | #define UV2H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16 |
| @@ -630,6 +617,23 @@ union uvh_gr0_tlb_int1_config_u { | |||
| 630 | #define UV2H_GR0_TLB_MMR_CONTROL_MMR_INJ_CON_MASK 0x0001000000000000UL | 617 | #define UV2H_GR0_TLB_MMR_CONTROL_MMR_INJ_CON_MASK 0x0001000000000000UL |
| 631 | #define UV2H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_MASK 0x0010000000000000UL | 618 | #define UV2H_GR0_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_MASK 0x0010000000000000UL |
| 632 | 619 | ||
| 620 | #define UV3H_GR0_TLB_MMR_CONTROL_INDEX_SHFT 0 | ||
| 621 | #define UV3H_GR0_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 | ||
| 622 | #define UV3H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16 | ||
| 623 | #define UV3H_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20 | ||
| 624 | #define UV3H_GR0_TLB_MMR_CONTROL_ECC_SEL_SHFT 21 | ||
| 625 | #define UV3H_GR0_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30 | ||
| 626 | #define UV3H_GR0_TLB_MMR_CONTROL_MMR_READ_SHFT 31 | ||
| 627 | #define UV3H_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT 32 | ||
| 628 | #define UV3H_GR0_TLB_MMR_CONTROL_INDEX_MASK 0x0000000000000fffUL | ||
| 629 | #define UV3H_GR0_TLB_MMR_CONTROL_MEM_SEL_MASK 0x0000000000003000UL | ||
| 630 | #define UV3H_GR0_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL | ||
| 631 | #define UV3H_GR0_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL | ||
| 632 | #define UV3H_GR0_TLB_MMR_CONTROL_ECC_SEL_MASK 0x0000000000200000UL | ||
| 633 | #define UV3H_GR0_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL | ||
| 634 | #define UV3H_GR0_TLB_MMR_CONTROL_MMR_READ_MASK 0x0000000080000000UL | ||
| 635 | #define UV3H_GR0_TLB_MMR_CONTROL_MMR_OP_DONE_MASK 0x0000000100000000UL | ||
| 636 | |||
| 633 | union uvh_gr0_tlb_mmr_control_u { | 637 | union uvh_gr0_tlb_mmr_control_u { |
| 634 | unsigned long v; | 638 | unsigned long v; |
| 635 | struct uvh_gr0_tlb_mmr_control_s { | 639 | struct uvh_gr0_tlb_mmr_control_s { |
| @@ -642,7 +646,9 @@ union uvh_gr0_tlb_mmr_control_u { | |||
| 642 | unsigned long rsvd_21_29:9; | 646 | unsigned long rsvd_21_29:9; |
| 643 | unsigned long mmr_write:1; /* WP */ | 647 | unsigned long mmr_write:1; /* WP */ |
| 644 | unsigned long mmr_read:1; /* WP */ | 648 | unsigned long mmr_read:1; /* WP */ |
| 645 | unsigned long rsvd_32_63:32; | 649 | unsigned long rsvd_32_48:17; |
| 650 | unsigned long rsvd_49_51:3; | ||
| 651 | unsigned long rsvd_52_63:12; | ||
| 646 | } s; | 652 | } s; |
| 647 | struct uv1h_gr0_tlb_mmr_control_s { | 653 | struct uv1h_gr0_tlb_mmr_control_s { |
| 648 | unsigned long index:12; /* RW */ | 654 | unsigned long index:12; /* RW */ |
| @@ -666,6 +672,23 @@ union uvh_gr0_tlb_mmr_control_u { | |||
| 666 | unsigned long mmr_inj_tlblruv:1; /* RW */ | 672 | unsigned long mmr_inj_tlblruv:1; /* RW */ |
| 667 | unsigned long rsvd_61_63:3; | 673 | unsigned long rsvd_61_63:3; |
| 668 | } s1; | 674 | } s1; |
| 675 | struct uvxh_gr0_tlb_mmr_control_s { | ||
| 676 | unsigned long index:12; /* RW */ | ||
| 677 | unsigned long mem_sel:2; /* RW */ | ||
| 678 | unsigned long rsvd_14_15:2; | ||
| 679 | unsigned long auto_valid_en:1; /* RW */ | ||
| 680 | unsigned long rsvd_17_19:3; | ||
| 681 | unsigned long mmr_hash_index_en:1; /* RW */ | ||
| 682 | unsigned long rsvd_21_29:9; | ||
| 683 | unsigned long mmr_write:1; /* WP */ | ||
| 684 | unsigned long mmr_read:1; /* WP */ | ||
| 685 | unsigned long mmr_op_done:1; /* RW */ | ||
| 686 | unsigned long rsvd_33_47:15; | ||
| 687 | unsigned long rsvd_48:1; | ||
| 688 | unsigned long rsvd_49_51:3; | ||
| 689 | unsigned long rsvd_52:1; | ||
| 690 | unsigned long rsvd_53_63:11; | ||
| 691 | } sx; | ||
| 669 | struct uv2h_gr0_tlb_mmr_control_s { | 692 | struct uv2h_gr0_tlb_mmr_control_s { |
| 670 | unsigned long index:12; /* RW */ | 693 | unsigned long index:12; /* RW */ |
| 671 | unsigned long mem_sel:2; /* RW */ | 694 | unsigned long mem_sel:2; /* RW */ |
| @@ -683,6 +706,24 @@ union uvh_gr0_tlb_mmr_control_u { | |||
| 683 | unsigned long mmr_inj_tlbram:1; /* RW */ | 706 | unsigned long mmr_inj_tlbram:1; /* RW */ |
| 684 | unsigned long rsvd_53_63:11; | 707 | unsigned long rsvd_53_63:11; |
| 685 | } s2; | 708 | } s2; |
| 709 | struct uv3h_gr0_tlb_mmr_control_s { | ||
| 710 | unsigned long index:12; /* RW */ | ||
| 711 | unsigned long mem_sel:2; /* RW */ | ||
| 712 | unsigned long rsvd_14_15:2; | ||
| 713 | unsigned long auto_valid_en:1; /* RW */ | ||
| 714 | unsigned long rsvd_17_19:3; | ||
| 715 | unsigned long mmr_hash_index_en:1; /* RW */ | ||
| 716 | unsigned long ecc_sel:1; /* RW */ | ||
| 717 | unsigned long rsvd_22_29:8; | ||
| 718 | unsigned long mmr_write:1; /* WP */ | ||
| 719 | unsigned long mmr_read:1; /* WP */ | ||
| 720 | unsigned long mmr_op_done:1; /* RW */ | ||
| 721 | unsigned long rsvd_33_47:15; | ||
| 722 | unsigned long undef_48:1; /* Undefined */ | ||
| 723 | unsigned long rsvd_49_51:3; | ||
| 724 | unsigned long undef_52:1; /* Undefined */ | ||
| 725 | unsigned long rsvd_53_63:11; | ||
| 726 | } s3; | ||
| 686 | }; | 727 | }; |
| 687 | 728 | ||
| 688 | /* ========================================================================= */ | 729 | /* ========================================================================= */ |
| @@ -690,9 +731,11 @@ union uvh_gr0_tlb_mmr_control_u { | |||
| 690 | /* ========================================================================= */ | 731 | /* ========================================================================= */ |
| 691 | #define UV1H_GR0_TLB_MMR_READ_DATA_HI 0x4010a0UL | 732 | #define UV1H_GR0_TLB_MMR_READ_DATA_HI 0x4010a0UL |
| 692 | #define UV2H_GR0_TLB_MMR_READ_DATA_HI 0xc010a0UL | 733 | #define UV2H_GR0_TLB_MMR_READ_DATA_HI 0xc010a0UL |
| 693 | #define UVH_GR0_TLB_MMR_READ_DATA_HI (is_uv1_hub() ? \ | 734 | #define UV3H_GR0_TLB_MMR_READ_DATA_HI 0xc010a0UL |
| 694 | UV1H_GR0_TLB_MMR_READ_DATA_HI : \ | 735 | #define UVH_GR0_TLB_MMR_READ_DATA_HI \ |
| 695 | UV2H_GR0_TLB_MMR_READ_DATA_HI) | 736 | (is_uv1_hub() ? UV1H_GR0_TLB_MMR_READ_DATA_HI : \ |
| 737 | (is_uv2_hub() ? UV2H_GR0_TLB_MMR_READ_DATA_HI : \ | ||
| 738 | UV3H_GR0_TLB_MMR_READ_DATA_HI)) | ||
| 696 | 739 | ||
| 697 | #define UVH_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 | 740 | #define UVH_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 |
| 698 | #define UVH_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 | 741 | #define UVH_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 |
| @@ -703,6 +746,46 @@ union uvh_gr0_tlb_mmr_control_u { | |||
| 703 | #define UVH_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL | 746 | #define UVH_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL |
| 704 | #define UVH_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL | 747 | #define UVH_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL |
| 705 | 748 | ||
| 749 | #define UV1H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 | ||
| 750 | #define UV1H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 | ||
| 751 | #define UV1H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43 | ||
| 752 | #define UV1H_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44 | ||
| 753 | #define UV1H_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL | ||
| 754 | #define UV1H_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL | ||
| 755 | #define UV1H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL | ||
| 756 | #define UV1H_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL | ||
| 757 | |||
| 758 | #define UVXH_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 | ||
| 759 | #define UVXH_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 | ||
| 760 | #define UVXH_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43 | ||
| 761 | #define UVXH_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44 | ||
| 762 | #define UVXH_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL | ||
| 763 | #define UVXH_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL | ||
| 764 | #define UVXH_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL | ||
| 765 | #define UVXH_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL | ||
| 766 | |||
| 767 | #define UV2H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 | ||
| 768 | #define UV2H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 | ||
| 769 | #define UV2H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43 | ||
| 770 | #define UV2H_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44 | ||
| 771 | #define UV2H_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL | ||
| 772 | #define UV2H_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL | ||
| 773 | #define UV2H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL | ||
| 774 | #define UV2H_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL | ||
| 775 | |||
| 776 | #define UV3H_GR0_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 | ||
| 777 | #define UV3H_GR0_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 | ||
| 778 | #define UV3H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43 | ||
| 779 | #define UV3H_GR0_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44 | ||
| 780 | #define UV3H_GR0_TLB_MMR_READ_DATA_HI_AA_EXT_SHFT 45 | ||
| 781 | #define UV3H_GR0_TLB_MMR_READ_DATA_HI_WAY_ECC_SHFT 55 | ||
| 782 | #define UV3H_GR0_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL | ||
| 783 | #define UV3H_GR0_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL | ||
| 784 | #define UV3H_GR0_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL | ||
| 785 | #define UV3H_GR0_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL | ||
| 786 | #define UV3H_GR0_TLB_MMR_READ_DATA_HI_AA_EXT_MASK 0x0000200000000000UL | ||
| 787 | #define UV3H_GR0_TLB_MMR_READ_DATA_HI_WAY_ECC_MASK 0xff80000000000000UL | ||
| 788 | |||
| 706 | union uvh_gr0_tlb_mmr_read_data_hi_u { | 789 | union uvh_gr0_tlb_mmr_read_data_hi_u { |
| 707 | unsigned long v; | 790 | unsigned long v; |
| 708 | struct uvh_gr0_tlb_mmr_read_data_hi_s { | 791 | struct uvh_gr0_tlb_mmr_read_data_hi_s { |
| @@ -712,6 +795,36 @@ union uvh_gr0_tlb_mmr_read_data_hi_u { | |||
| 712 | unsigned long larger:1; /* RO */ | 795 | unsigned long larger:1; /* RO */ |
| 713 | unsigned long rsvd_45_63:19; | 796 | unsigned long rsvd_45_63:19; |
| 714 | } s; | 797 | } s; |
| 798 | struct uv1h_gr0_tlb_mmr_read_data_hi_s { | ||
| 799 | unsigned long pfn:41; /* RO */ | ||
| 800 | unsigned long gaa:2; /* RO */ | ||
| 801 | unsigned long dirty:1; /* RO */ | ||
| 802 | unsigned long larger:1; /* RO */ | ||
| 803 | unsigned long rsvd_45_63:19; | ||
| 804 | } s1; | ||
| 805 | struct uvxh_gr0_tlb_mmr_read_data_hi_s { | ||
| 806 | unsigned long pfn:41; /* RO */ | ||
| 807 | unsigned long gaa:2; /* RO */ | ||
| 808 | unsigned long dirty:1; /* RO */ | ||
| 809 | unsigned long larger:1; /* RO */ | ||
| 810 | unsigned long rsvd_45_63:19; | ||
| 811 | } sx; | ||
| 812 | struct uv2h_gr0_tlb_mmr_read_data_hi_s { | ||
| 813 | unsigned long pfn:41; /* RO */ | ||
| 814 | unsigned long gaa:2; /* RO */ | ||
| 815 | unsigned long dirty:1; /* RO */ | ||
| 816 | unsigned long larger:1; /* RO */ | ||
| 817 | unsigned long rsvd_45_63:19; | ||
| 818 | } s2; | ||
| 819 | struct uv3h_gr0_tlb_mmr_read_data_hi_s { | ||
| 820 | unsigned long pfn:41; /* RO */ | ||
| 821 | unsigned long gaa:2; /* RO */ | ||
| 822 | unsigned long dirty:1; /* RO */ | ||
| 823 | unsigned long larger:1; /* RO */ | ||
| 824 | unsigned long aa_ext:1; /* RO */ | ||
| 825 | unsigned long undef_46_54:9; /* Undefined */ | ||
| 826 | unsigned long way_ecc:9; /* RO */ | ||
| 827 | } s3; | ||
| 715 | }; | 828 | }; |
| 716 | 829 | ||
| 717 | /* ========================================================================= */ | 830 | /* ========================================================================= */ |
| @@ -719,9 +832,11 @@ union uvh_gr0_tlb_mmr_read_data_hi_u { | |||
| 719 | /* ========================================================================= */ | 832 | /* ========================================================================= */ |
| 720 | #define UV1H_GR0_TLB_MMR_READ_DATA_LO 0x4010a8UL | 833 | #define UV1H_GR0_TLB_MMR_READ_DATA_LO 0x4010a8UL |
| 721 | #define UV2H_GR0_TLB_MMR_READ_DATA_LO 0xc010a8UL | 834 | #define UV2H_GR0_TLB_MMR_READ_DATA_LO 0xc010a8UL |
| 722 | #define UVH_GR0_TLB_MMR_READ_DATA_LO (is_uv1_hub() ? \ | 835 | #define UV3H_GR0_TLB_MMR_READ_DATA_LO 0xc010a8UL |
| 723 | UV1H_GR0_TLB_MMR_READ_DATA_LO : \ | 836 | #define UVH_GR0_TLB_MMR_READ_DATA_LO \ |
| 724 | UV2H_GR0_TLB_MMR_READ_DATA_LO) | 837 | (is_uv1_hub() ? UV1H_GR0_TLB_MMR_READ_DATA_LO : \ |
| 838 | (is_uv2_hub() ? UV2H_GR0_TLB_MMR_READ_DATA_LO : \ | ||
| 839 | UV3H_GR0_TLB_MMR_READ_DATA_LO)) | ||
| 725 | 840 | ||
| 726 | #define UVH_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 | 841 | #define UVH_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 |
| 727 | #define UVH_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 | 842 | #define UVH_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 |
| @@ -730,6 +845,34 @@ union uvh_gr0_tlb_mmr_read_data_hi_u { | |||
| 730 | #define UVH_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL | 845 | #define UVH_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL |
| 731 | #define UVH_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL | 846 | #define UVH_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL |
| 732 | 847 | ||
| 848 | #define UV1H_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 | ||
| 849 | #define UV1H_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 | ||
| 850 | #define UV1H_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT 63 | ||
| 851 | #define UV1H_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL | ||
| 852 | #define UV1H_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL | ||
| 853 | #define UV1H_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL | ||
| 854 | |||
| 855 | #define UVXH_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 | ||
| 856 | #define UVXH_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 | ||
| 857 | #define UVXH_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT 63 | ||
| 858 | #define UVXH_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL | ||
| 859 | #define UVXH_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL | ||
| 860 | #define UVXH_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL | ||
| 861 | |||
| 862 | #define UV2H_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 | ||
| 863 | #define UV2H_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 | ||
| 864 | #define UV2H_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT 63 | ||
| 865 | #define UV2H_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL | ||
| 866 | #define UV2H_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL | ||
| 867 | #define UV2H_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL | ||
| 868 | |||
| 869 | #define UV3H_GR0_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 | ||
| 870 | #define UV3H_GR0_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 | ||
| 871 | #define UV3H_GR0_TLB_MMR_READ_DATA_LO_VALID_SHFT 63 | ||
| 872 | #define UV3H_GR0_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL | ||
| 873 | #define UV3H_GR0_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL | ||
| 874 | #define UV3H_GR0_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL | ||
| 875 | |||
| 733 | union uvh_gr0_tlb_mmr_read_data_lo_u { | 876 | union uvh_gr0_tlb_mmr_read_data_lo_u { |
| 734 | unsigned long v; | 877 | unsigned long v; |
| 735 | struct uvh_gr0_tlb_mmr_read_data_lo_s { | 878 | struct uvh_gr0_tlb_mmr_read_data_lo_s { |
| @@ -737,12 +880,32 @@ union uvh_gr0_tlb_mmr_read_data_lo_u { | |||
| 737 | unsigned long asid:24; /* RO */ | 880 | unsigned long asid:24; /* RO */ |
| 738 | unsigned long valid:1; /* RO */ | 881 | unsigned long valid:1; /* RO */ |
| 739 | } s; | 882 | } s; |
| 883 | struct uv1h_gr0_tlb_mmr_read_data_lo_s { | ||
| 884 | unsigned long vpn:39; /* RO */ | ||
| 885 | unsigned long asid:24; /* RO */ | ||
| 886 | unsigned long valid:1; /* RO */ | ||
| 887 | } s1; | ||
| 888 | struct uvxh_gr0_tlb_mmr_read_data_lo_s { | ||
| 889 | unsigned long vpn:39; /* RO */ | ||
| 890 | unsigned long asid:24; /* RO */ | ||
| 891 | unsigned long valid:1; /* RO */ | ||
| 892 | } sx; | ||
| 893 | struct uv2h_gr0_tlb_mmr_read_data_lo_s { | ||
| 894 | unsigned long vpn:39; /* RO */ | ||
| 895 | unsigned long asid:24; /* RO */ | ||
| 896 | unsigned long valid:1; /* RO */ | ||
| 897 | } s2; | ||
| 898 | struct uv3h_gr0_tlb_mmr_read_data_lo_s { | ||
| 899 | unsigned long vpn:39; /* RO */ | ||
| 900 | unsigned long asid:24; /* RO */ | ||
| 901 | unsigned long valid:1; /* RO */ | ||
| 902 | } s3; | ||
| 740 | }; | 903 | }; |
| 741 | 904 | ||
| 742 | /* ========================================================================= */ | 905 | /* ========================================================================= */ |
| 743 | /* UVH_GR1_TLB_INT0_CONFIG */ | 906 | /* UVH_GR1_TLB_INT0_CONFIG */ |
| 744 | /* ========================================================================= */ | 907 | /* ========================================================================= */ |
| 745 | #define UVH_GR1_TLB_INT0_CONFIG 0x61f00UL | 908 | #define UVH_GR1_TLB_INT0_CONFIG 0x61f00UL |
| 746 | 909 | ||
| 747 | #define UVH_GR1_TLB_INT0_CONFIG_VECTOR_SHFT 0 | 910 | #define UVH_GR1_TLB_INT0_CONFIG_VECTOR_SHFT 0 |
| 748 | #define UVH_GR1_TLB_INT0_CONFIG_DM_SHFT 8 | 911 | #define UVH_GR1_TLB_INT0_CONFIG_DM_SHFT 8 |
| @@ -780,7 +943,7 @@ union uvh_gr1_tlb_int0_config_u { | |||
| 780 | /* ========================================================================= */ | 943 | /* ========================================================================= */ |
| 781 | /* UVH_GR1_TLB_INT1_CONFIG */ | 944 | /* UVH_GR1_TLB_INT1_CONFIG */ |
| 782 | /* ========================================================================= */ | 945 | /* ========================================================================= */ |
| 783 | #define UVH_GR1_TLB_INT1_CONFIG 0x61f40UL | 946 | #define UVH_GR1_TLB_INT1_CONFIG 0x61f40UL |
| 784 | 947 | ||
| 785 | #define UVH_GR1_TLB_INT1_CONFIG_VECTOR_SHFT 0 | 948 | #define UVH_GR1_TLB_INT1_CONFIG_VECTOR_SHFT 0 |
| 786 | #define UVH_GR1_TLB_INT1_CONFIG_DM_SHFT 8 | 949 | #define UVH_GR1_TLB_INT1_CONFIG_DM_SHFT 8 |
| @@ -820,9 +983,11 @@ union uvh_gr1_tlb_int1_config_u { | |||
| 820 | /* ========================================================================= */ | 983 | /* ========================================================================= */ |
| 821 | #define UV1H_GR1_TLB_MMR_CONTROL 0x801080UL | 984 | #define UV1H_GR1_TLB_MMR_CONTROL 0x801080UL |
| 822 | #define UV2H_GR1_TLB_MMR_CONTROL 0x1001080UL | 985 | #define UV2H_GR1_TLB_MMR_CONTROL 0x1001080UL |
| 823 | #define UVH_GR1_TLB_MMR_CONTROL (is_uv1_hub() ? \ | 986 | #define UV3H_GR1_TLB_MMR_CONTROL 0x1001080UL |
| 824 | UV1H_GR1_TLB_MMR_CONTROL : \ | 987 | #define UVH_GR1_TLB_MMR_CONTROL \ |
| 825 | UV2H_GR1_TLB_MMR_CONTROL) | 988 | (is_uv1_hub() ? UV1H_GR1_TLB_MMR_CONTROL : \ |
| 989 | (is_uv2_hub() ? UV2H_GR1_TLB_MMR_CONTROL : \ | ||
| 990 | UV3H_GR1_TLB_MMR_CONTROL)) | ||
| 826 | 991 | ||
| 827 | #define UVH_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0 | 992 | #define UVH_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0 |
| 828 | #define UVH_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 | 993 | #define UVH_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 |
| @@ -860,6 +1025,21 @@ union uvh_gr1_tlb_int1_config_u { | |||
| 860 | #define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBRREG_MASK 0x0100000000000000UL | 1025 | #define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBRREG_MASK 0x0100000000000000UL |
| 861 | #define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_MASK 0x1000000000000000UL | 1026 | #define UV1H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBLRUV_MASK 0x1000000000000000UL |
| 862 | 1027 | ||
| 1028 | #define UVXH_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0 | ||
| 1029 | #define UVXH_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 | ||
| 1030 | #define UVXH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16 | ||
| 1031 | #define UVXH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20 | ||
| 1032 | #define UVXH_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30 | ||
| 1033 | #define UVXH_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT 31 | ||
| 1034 | #define UVXH_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT 32 | ||
| 1035 | #define UVXH_GR1_TLB_MMR_CONTROL_INDEX_MASK 0x0000000000000fffUL | ||
| 1036 | #define UVXH_GR1_TLB_MMR_CONTROL_MEM_SEL_MASK 0x0000000000003000UL | ||
| 1037 | #define UVXH_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL | ||
| 1038 | #define UVXH_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL | ||
| 1039 | #define UVXH_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL | ||
| 1040 | #define UVXH_GR1_TLB_MMR_CONTROL_MMR_READ_MASK 0x0000000080000000UL | ||
| 1041 | #define UVXH_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_MASK 0x0000000100000000UL | ||
| 1042 | |||
| 863 | #define UV2H_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0 | 1043 | #define UV2H_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0 |
| 864 | #define UV2H_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 | 1044 | #define UV2H_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 |
| 865 | #define UV2H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16 | 1045 | #define UV2H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16 |
| @@ -879,6 +1059,23 @@ union uvh_gr1_tlb_int1_config_u { | |||
| 879 | #define UV2H_GR1_TLB_MMR_CONTROL_MMR_INJ_CON_MASK 0x0001000000000000UL | 1059 | #define UV2H_GR1_TLB_MMR_CONTROL_MMR_INJ_CON_MASK 0x0001000000000000UL |
| 880 | #define UV2H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_MASK 0x0010000000000000UL | 1060 | #define UV2H_GR1_TLB_MMR_CONTROL_MMR_INJ_TLBRAM_MASK 0x0010000000000000UL |
| 881 | 1061 | ||
| 1062 | #define UV3H_GR1_TLB_MMR_CONTROL_INDEX_SHFT 0 | ||
| 1063 | #define UV3H_GR1_TLB_MMR_CONTROL_MEM_SEL_SHFT 12 | ||
| 1064 | #define UV3H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_SHFT 16 | ||
| 1065 | #define UV3H_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_SHFT 20 | ||
| 1066 | #define UV3H_GR1_TLB_MMR_CONTROL_ECC_SEL_SHFT 21 | ||
| 1067 | #define UV3H_GR1_TLB_MMR_CONTROL_MMR_WRITE_SHFT 30 | ||
| 1068 | #define UV3H_GR1_TLB_MMR_CONTROL_MMR_READ_SHFT 31 | ||
| 1069 | #define UV3H_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_SHFT 32 | ||
| 1070 | #define UV3H_GR1_TLB_MMR_CONTROL_INDEX_MASK 0x0000000000000fffUL | ||
| 1071 | #define UV3H_GR1_TLB_MMR_CONTROL_MEM_SEL_MASK 0x0000000000003000UL | ||
| 1072 | #define UV3H_GR1_TLB_MMR_CONTROL_AUTO_VALID_EN_MASK 0x0000000000010000UL | ||
| 1073 | #define UV3H_GR1_TLB_MMR_CONTROL_MMR_HASH_INDEX_EN_MASK 0x0000000000100000UL | ||
| 1074 | #define UV3H_GR1_TLB_MMR_CONTROL_ECC_SEL_MASK 0x0000000000200000UL | ||
| 1075 | #define UV3H_GR1_TLB_MMR_CONTROL_MMR_WRITE_MASK 0x0000000040000000UL | ||
| 1076 | #define UV3H_GR1_TLB_MMR_CONTROL_MMR_READ_MASK 0x0000000080000000UL | ||
| 1077 | #define UV3H_GR1_TLB_MMR_CONTROL_MMR_OP_DONE_MASK 0x0000000100000000UL | ||
| 1078 | |||
| 882 | union uvh_gr1_tlb_mmr_control_u { | 1079 | union uvh_gr1_tlb_mmr_control_u { |
| 883 | unsigned long v; | 1080 | unsigned long v; |
| 884 | struct uvh_gr1_tlb_mmr_control_s { | 1081 | struct uvh_gr1_tlb_mmr_control_s { |
| @@ -891,7 +1088,9 @@ union uvh_gr1_tlb_mmr_control_u { | |||
| 891 | unsigned long rsvd_21_29:9; | 1088 | unsigned long rsvd_21_29:9; |
| 892 | unsigned long mmr_write:1; /* WP */ | 1089 | unsigned long mmr_write:1; /* WP */ |
| 893 | unsigned long mmr_read:1; /* WP */ | 1090 | unsigned long mmr_read:1; /* WP */ |
| 894 | unsigned long rsvd_32_63:32; | 1091 | unsigned long rsvd_32_48:17; |
| 1092 | unsigned long rsvd_49_51:3; | ||
| 1093 | unsigned long rsvd_52_63:12; | ||
| 895 | } s; | 1094 | } s; |
| 896 | struct uv1h_gr1_tlb_mmr_control_s { | 1095 | struct uv1h_gr1_tlb_mmr_control_s { |
| 897 | unsigned long index:12; /* RW */ | 1096 | unsigned long index:12; /* RW */ |
| @@ -915,6 +1114,23 @@ union uvh_gr1_tlb_mmr_control_u { | |||
| 915 | unsigned long mmr_inj_tlblruv:1; /* RW */ | 1114 | unsigned long mmr_inj_tlblruv:1; /* RW */ |
| 916 | unsigned long rsvd_61_63:3; | 1115 | unsigned long rsvd_61_63:3; |
| 917 | } s1; | 1116 | } s1; |
| 1117 | struct uvxh_gr1_tlb_mmr_control_s { | ||
| 1118 | unsigned long index:12; /* RW */ | ||
| 1119 | unsigned long mem_sel:2; /* RW */ | ||
| 1120 | unsigned long rsvd_14_15:2; | ||
| 1121 | unsigned long auto_valid_en:1; /* RW */ | ||
| 1122 | unsigned long rsvd_17_19:3; | ||
| 1123 | unsigned long mmr_hash_index_en:1; /* RW */ | ||
| 1124 | unsigned long rsvd_21_29:9; | ||
| 1125 | unsigned long mmr_write:1; /* WP */ | ||
| 1126 | unsigned long mmr_read:1; /* WP */ | ||
| 1127 | unsigned long mmr_op_done:1; /* RW */ | ||
| 1128 | unsigned long rsvd_33_47:15; | ||
| 1129 | unsigned long rsvd_48:1; | ||
| 1130 | unsigned long rsvd_49_51:3; | ||
| 1131 | unsigned long rsvd_52:1; | ||
| 1132 | unsigned long rsvd_53_63:11; | ||
| 1133 | } sx; | ||
| 918 | struct uv2h_gr1_tlb_mmr_control_s { | 1134 | struct uv2h_gr1_tlb_mmr_control_s { |
| 919 | unsigned long index:12; /* RW */ | 1135 | unsigned long index:12; /* RW */ |
| 920 | unsigned long mem_sel:2; /* RW */ | 1136 | unsigned long mem_sel:2; /* RW */ |
| @@ -932,6 +1148,24 @@ union uvh_gr1_tlb_mmr_control_u { | |||
| 932 | unsigned long mmr_inj_tlbram:1; /* RW */ | 1148 | unsigned long mmr_inj_tlbram:1; /* RW */ |
| 933 | unsigned long rsvd_53_63:11; | 1149 | unsigned long rsvd_53_63:11; |
| 934 | } s2; | 1150 | } s2; |
| 1151 | struct uv3h_gr1_tlb_mmr_control_s { | ||
| 1152 | unsigned long index:12; /* RW */ | ||
| 1153 | unsigned long mem_sel:2; /* RW */ | ||
| 1154 | unsigned long rsvd_14_15:2; | ||
| 1155 | unsigned long auto_valid_en:1; /* RW */ | ||
| 1156 | unsigned long rsvd_17_19:3; | ||
| 1157 | unsigned long mmr_hash_index_en:1; /* RW */ | ||
| 1158 | unsigned long ecc_sel:1; /* RW */ | ||
| 1159 | unsigned long rsvd_22_29:8; | ||
| 1160 | unsigned long mmr_write:1; /* WP */ | ||
| 1161 | unsigned long mmr_read:1; /* WP */ | ||
| 1162 | unsigned long mmr_op_done:1; /* RW */ | ||
| 1163 | unsigned long rsvd_33_47:15; | ||
| 1164 | unsigned long undef_48:1; /* Undefined */ | ||
| 1165 | unsigned long rsvd_49_51:3; | ||
| 1166 | unsigned long undef_52:1; /* Undefined */ | ||
| 1167 | unsigned long rsvd_53_63:11; | ||
| 1168 | } s3; | ||
| 935 | }; | 1169 | }; |
| 936 | 1170 | ||
| 937 | /* ========================================================================= */ | 1171 | /* ========================================================================= */ |
| @@ -939,9 +1173,11 @@ union uvh_gr1_tlb_mmr_control_u { | |||
| 939 | /* ========================================================================= */ | 1173 | /* ========================================================================= */ |
| 940 | #define UV1H_GR1_TLB_MMR_READ_DATA_HI 0x8010a0UL | 1174 | #define UV1H_GR1_TLB_MMR_READ_DATA_HI 0x8010a0UL |
| 941 | #define UV2H_GR1_TLB_MMR_READ_DATA_HI 0x10010a0UL | 1175 | #define UV2H_GR1_TLB_MMR_READ_DATA_HI 0x10010a0UL |
| 942 | #define UVH_GR1_TLB_MMR_READ_DATA_HI (is_uv1_hub() ? \ | 1176 | #define UV3H_GR1_TLB_MMR_READ_DATA_HI 0x10010a0UL |
| 943 | UV1H_GR1_TLB_MMR_READ_DATA_HI : \ | 1177 | #define UVH_GR1_TLB_MMR_READ_DATA_HI \ |
| 944 | UV2H_GR1_TLB_MMR_READ_DATA_HI) | 1178 | (is_uv1_hub() ? UV1H_GR1_TLB_MMR_READ_DATA_HI : \ |
| 1179 | (is_uv2_hub() ? UV2H_GR1_TLB_MMR_READ_DATA_HI : \ | ||
| 1180 | UV3H_GR1_TLB_MMR_READ_DATA_HI)) | ||
| 945 | 1181 | ||
| 946 | #define UVH_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 | 1182 | #define UVH_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 |
| 947 | #define UVH_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 | 1183 | #define UVH_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 |
| @@ -952,6 +1188,46 @@ union uvh_gr1_tlb_mmr_control_u { | |||
| 952 | #define UVH_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL | 1188 | #define UVH_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL |
| 953 | #define UVH_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL | 1189 | #define UVH_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL |
| 954 | 1190 | ||
| 1191 | #define UV1H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 | ||
| 1192 | #define UV1H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 | ||
| 1193 | #define UV1H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43 | ||
| 1194 | #define UV1H_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44 | ||
| 1195 | #define UV1H_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL | ||
| 1196 | #define UV1H_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL | ||
| 1197 | #define UV1H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL | ||
| 1198 | #define UV1H_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL | ||
| 1199 | |||
| 1200 | #define UVXH_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 | ||
| 1201 | #define UVXH_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 | ||
| 1202 | #define UVXH_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43 | ||
| 1203 | #define UVXH_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44 | ||
| 1204 | #define UVXH_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL | ||
| 1205 | #define UVXH_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL | ||
| 1206 | #define UVXH_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL | ||
| 1207 | #define UVXH_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL | ||
| 1208 | |||
| 1209 | #define UV2H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 | ||
| 1210 | #define UV2H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 | ||
| 1211 | #define UV2H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43 | ||
| 1212 | #define UV2H_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44 | ||
| 1213 | #define UV2H_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL | ||
| 1214 | #define UV2H_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL | ||
| 1215 | #define UV2H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL | ||
| 1216 | #define UV2H_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL | ||
| 1217 | |||
| 1218 | #define UV3H_GR1_TLB_MMR_READ_DATA_HI_PFN_SHFT 0 | ||
| 1219 | #define UV3H_GR1_TLB_MMR_READ_DATA_HI_GAA_SHFT 41 | ||
| 1220 | #define UV3H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_SHFT 43 | ||
| 1221 | #define UV3H_GR1_TLB_MMR_READ_DATA_HI_LARGER_SHFT 44 | ||
| 1222 | #define UV3H_GR1_TLB_MMR_READ_DATA_HI_AA_EXT_SHFT 45 | ||
| 1223 | #define UV3H_GR1_TLB_MMR_READ_DATA_HI_WAY_ECC_SHFT 55 | ||
| 1224 | #define UV3H_GR1_TLB_MMR_READ_DATA_HI_PFN_MASK 0x000001ffffffffffUL | ||
| 1225 | #define UV3H_GR1_TLB_MMR_READ_DATA_HI_GAA_MASK 0x0000060000000000UL | ||
| 1226 | #define UV3H_GR1_TLB_MMR_READ_DATA_HI_DIRTY_MASK 0x0000080000000000UL | ||
| 1227 | #define UV3H_GR1_TLB_MMR_READ_DATA_HI_LARGER_MASK 0x0000100000000000UL | ||
| 1228 | #define UV3H_GR1_TLB_MMR_READ_DATA_HI_AA_EXT_MASK 0x0000200000000000UL | ||
| 1229 | #define UV3H_GR1_TLB_MMR_READ_DATA_HI_WAY_ECC_MASK 0xff80000000000000UL | ||
| 1230 | |||
| 955 | union uvh_gr1_tlb_mmr_read_data_hi_u { | 1231 | union uvh_gr1_tlb_mmr_read_data_hi_u { |
| 956 | unsigned long v; | 1232 | unsigned long v; |
| 957 | struct uvh_gr1_tlb_mmr_read_data_hi_s { | 1233 | struct uvh_gr1_tlb_mmr_read_data_hi_s { |
| @@ -961,6 +1237,36 @@ union uvh_gr1_tlb_mmr_read_data_hi_u { | |||
| 961 | unsigned long larger:1; /* RO */ | 1237 | unsigned long larger:1; /* RO */ |
| 962 | unsigned long rsvd_45_63:19; | 1238 | unsigned long rsvd_45_63:19; |
| 963 | } s; | 1239 | } s; |
| 1240 | struct uv1h_gr1_tlb_mmr_read_data_hi_s { | ||
| 1241 | unsigned long pfn:41; /* RO */ | ||
| 1242 | unsigned long gaa:2; /* RO */ | ||
| 1243 | unsigned long dirty:1; /* RO */ | ||
| 1244 | unsigned long larger:1; /* RO */ | ||
| 1245 | unsigned long rsvd_45_63:19; | ||
| 1246 | } s1; | ||
| 1247 | struct uvxh_gr1_tlb_mmr_read_data_hi_s { | ||
| 1248 | unsigned long pfn:41; /* RO */ | ||
| 1249 | unsigned long gaa:2; /* RO */ | ||
| 1250 | unsigned long dirty:1; /* RO */ | ||
| 1251 | unsigned long larger:1; /* RO */ | ||
| 1252 | unsigned long rsvd_45_63:19; | ||
| 1253 | } sx; | ||
| 1254 | struct uv2h_gr1_tlb_mmr_read_data_hi_s { | ||
| 1255 | unsigned long pfn:41; /* RO */ | ||
| 1256 | unsigned long gaa:2; /* RO */ | ||
| 1257 | unsigned long dirty:1; /* RO */ | ||
| 1258 | unsigned long larger:1; /* RO */ | ||
| 1259 | unsigned long rsvd_45_63:19; | ||
| 1260 | } s2; | ||
| 1261 | struct uv3h_gr1_tlb_mmr_read_data_hi_s { | ||
| 1262 | unsigned long pfn:41; /* RO */ | ||
| 1263 | unsigned long gaa:2; /* RO */ | ||
| 1264 | unsigned long dirty:1; /* RO */ | ||
| 1265 | unsigned long larger:1; /* RO */ | ||
| 1266 | unsigned long aa_ext:1; /* RO */ | ||
| 1267 | unsigned long undef_46_54:9; /* Undefined */ | ||
| 1268 | unsigned long way_ecc:9; /* RO */ | ||
| 1269 | } s3; | ||
| 964 | }; | 1270 | }; |
| 965 | 1271 | ||
| 966 | /* ========================================================================= */ | 1272 | /* ========================================================================= */ |
| @@ -968,9 +1274,11 @@ union uvh_gr1_tlb_mmr_read_data_hi_u { | |||
| 968 | /* ========================================================================= */ | 1274 | /* ========================================================================= */ |
| 969 | #define UV1H_GR1_TLB_MMR_READ_DATA_LO 0x8010a8UL | 1275 | #define UV1H_GR1_TLB_MMR_READ_DATA_LO 0x8010a8UL |
| 970 | #define UV2H_GR1_TLB_MMR_READ_DATA_LO 0x10010a8UL | 1276 | #define UV2H_GR1_TLB_MMR_READ_DATA_LO 0x10010a8UL |
| 971 | #define UVH_GR1_TLB_MMR_READ_DATA_LO (is_uv1_hub() ? \ | 1277 | #define UV3H_GR1_TLB_MMR_READ_DATA_LO 0x10010a8UL |
| 972 | UV1H_GR1_TLB_MMR_READ_DATA_LO : \ | 1278 | #define UVH_GR1_TLB_MMR_READ_DATA_LO \ |
| 973 | UV2H_GR1_TLB_MMR_READ_DATA_LO) | 1279 | (is_uv1_hub() ? UV1H_GR1_TLB_MMR_READ_DATA_LO : \ |
| 1280 | (is_uv2_hub() ? UV2H_GR1_TLB_MMR_READ_DATA_LO : \ | ||
| 1281 | UV3H_GR1_TLB_MMR_READ_DATA_LO)) | ||
| 974 | 1282 | ||
| 975 | #define UVH_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 | 1283 | #define UVH_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 |
| 976 | #define UVH_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 | 1284 | #define UVH_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 |
| @@ -979,6 +1287,34 @@ union uvh_gr1_tlb_mmr_read_data_hi_u { | |||
| 979 | #define UVH_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL | 1287 | #define UVH_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL |
| 980 | #define UVH_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL | 1288 | #define UVH_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL |
| 981 | 1289 | ||
| 1290 | #define UV1H_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 | ||
| 1291 | #define UV1H_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 | ||
| 1292 | #define UV1H_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT 63 | ||
| 1293 | #define UV1H_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL | ||
| 1294 | #define UV1H_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL | ||
| 1295 | #define UV1H_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL | ||
| 1296 | |||
| 1297 | #define UVXH_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 | ||
| 1298 | #define UVXH_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 | ||
| 1299 | #define UVXH_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT 63 | ||
| 1300 | #define UVXH_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL | ||
| 1301 | #define UVXH_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL | ||
| 1302 | #define UVXH_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL | ||
| 1303 | |||
| 1304 | #define UV2H_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 | ||
| 1305 | #define UV2H_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 | ||
| 1306 | #define UV2H_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT 63 | ||
| 1307 | #define UV2H_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL | ||
| 1308 | #define UV2H_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL | ||
| 1309 | #define UV2H_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL | ||
| 1310 | |||
| 1311 | #define UV3H_GR1_TLB_MMR_READ_DATA_LO_VPN_SHFT 0 | ||
| 1312 | #define UV3H_GR1_TLB_MMR_READ_DATA_LO_ASID_SHFT 39 | ||
| 1313 | #define UV3H_GR1_TLB_MMR_READ_DATA_LO_VALID_SHFT 63 | ||
| 1314 | #define UV3H_GR1_TLB_MMR_READ_DATA_LO_VPN_MASK 0x0000007fffffffffUL | ||
| 1315 | #define UV3H_GR1_TLB_MMR_READ_DATA_LO_ASID_MASK 0x7fffff8000000000UL | ||
| 1316 | #define UV3H_GR1_TLB_MMR_READ_DATA_LO_VALID_MASK 0x8000000000000000UL | ||
| 1317 | |||
| 982 | union uvh_gr1_tlb_mmr_read_data_lo_u { | 1318 | union uvh_gr1_tlb_mmr_read_data_lo_u { |
| 983 | unsigned long v; | 1319 | unsigned long v; |
| 984 | struct uvh_gr1_tlb_mmr_read_data_lo_s { | 1320 | struct uvh_gr1_tlb_mmr_read_data_lo_s { |
| @@ -986,12 +1322,32 @@ union uvh_gr1_tlb_mmr_read_data_lo_u { | |||
| 986 | unsigned long asid:24; /* RO */ | 1322 | unsigned long asid:24; /* RO */ |
| 987 | unsigned long valid:1; /* RO */ | 1323 | unsigned long valid:1; /* RO */ |
| 988 | } s; | 1324 | } s; |
| 1325 | struct uv1h_gr1_tlb_mmr_read_data_lo_s { | ||
| 1326 | unsigned long vpn:39; /* RO */ | ||
| 1327 | unsigned long asid:24; /* RO */ | ||
| 1328 | unsigned long valid:1; /* RO */ | ||
| 1329 | } s1; | ||
| 1330 | struct uvxh_gr1_tlb_mmr_read_data_lo_s { | ||
| 1331 | unsigned long vpn:39; /* RO */ | ||
| 1332 | unsigned long asid:24; /* RO */ | ||
| 1333 | unsigned long valid:1; /* RO */ | ||
| 1334 | } sx; | ||
| 1335 | struct uv2h_gr1_tlb_mmr_read_data_lo_s { | ||
| 1336 | unsigned long vpn:39; /* RO */ | ||
| 1337 | unsigned long asid:24; /* RO */ | ||
| 1338 | unsigned long valid:1; /* RO */ | ||
| 1339 | } s2; | ||
| 1340 | struct uv3h_gr1_tlb_mmr_read_data_lo_s { | ||
| 1341 | unsigned long vpn:39; /* RO */ | ||
| 1342 | unsigned long asid:24; /* RO */ | ||
| 1343 | unsigned long valid:1; /* RO */ | ||
| 1344 | } s3; | ||
| 989 | }; | 1345 | }; |
| 990 | 1346 | ||
| 991 | /* ========================================================================= */ | 1347 | /* ========================================================================= */ |
| 992 | /* UVH_INT_CMPB */ | 1348 | /* UVH_INT_CMPB */ |
| 993 | /* ========================================================================= */ | 1349 | /* ========================================================================= */ |
| 994 | #define UVH_INT_CMPB 0x22080UL | 1350 | #define UVH_INT_CMPB 0x22080UL |
| 995 | 1351 | ||
| 996 | #define UVH_INT_CMPB_REAL_TIME_CMPB_SHFT 0 | 1352 | #define UVH_INT_CMPB_REAL_TIME_CMPB_SHFT 0 |
| 997 | #define UVH_INT_CMPB_REAL_TIME_CMPB_MASK 0x00ffffffffffffffUL | 1353 | #define UVH_INT_CMPB_REAL_TIME_CMPB_MASK 0x00ffffffffffffffUL |
| @@ -1007,10 +1363,13 @@ union uvh_int_cmpb_u { | |||
| 1007 | /* ========================================================================= */ | 1363 | /* ========================================================================= */ |
| 1008 | /* UVH_INT_CMPC */ | 1364 | /* UVH_INT_CMPC */ |
| 1009 | /* ========================================================================= */ | 1365 | /* ========================================================================= */ |
| 1010 | #define UVH_INT_CMPC 0x22100UL | 1366 | #define UVH_INT_CMPC 0x22100UL |
| 1367 | |||
| 1368 | #define UV1H_INT_CMPC_REAL_TIME_CMPC_SHFT 0 | ||
| 1369 | #define UV1H_INT_CMPC_REAL_TIME_CMPC_MASK 0x00ffffffffffffffUL | ||
| 1011 | 1370 | ||
| 1012 | #define UVH_INT_CMPC_REAL_TIME_CMPC_SHFT 0 | 1371 | #define UVXH_INT_CMPC_REAL_TIME_CMP_2_SHFT 0 |
| 1013 | #define UVH_INT_CMPC_REAL_TIME_CMPC_MASK 0xffffffffffffffUL | 1372 | #define UVXH_INT_CMPC_REAL_TIME_CMP_2_MASK 0x00ffffffffffffffUL |
| 1014 | 1373 | ||
| 1015 | union uvh_int_cmpc_u { | 1374 | union uvh_int_cmpc_u { |
| 1016 | unsigned long v; | 1375 | unsigned long v; |
| @@ -1023,10 +1382,13 @@ union uvh_int_cmpc_u { | |||
| 1023 | /* ========================================================================= */ | 1382 | /* ========================================================================= */ |
| 1024 | /* UVH_INT_CMPD */ | 1383 | /* UVH_INT_CMPD */ |
| 1025 | /* ========================================================================= */ | 1384 | /* ========================================================================= */ |
| 1026 | #define UVH_INT_CMPD 0x22180UL | 1385 | #define UVH_INT_CMPD 0x22180UL |
| 1027 | 1386 | ||
| 1028 | #define UVH_INT_CMPD_REAL_TIME_CMPD_SHFT 0 | 1387 | #define UV1H_INT_CMPD_REAL_TIME_CMPD_SHFT 0 |
| 1029 | #define UVH_INT_CMPD_REAL_TIME_CMPD_MASK 0xffffffffffffffUL | 1388 | #define UV1H_INT_CMPD_REAL_TIME_CMPD_MASK 0x00ffffffffffffffUL |
| 1389 | |||
| 1390 | #define UVXH_INT_CMPD_REAL_TIME_CMP_3_SHFT 0 | ||
| 1391 | #define UVXH_INT_CMPD_REAL_TIME_CMP_3_MASK 0x00ffffffffffffffUL | ||
| 1030 | 1392 | ||
| 1031 | union uvh_int_cmpd_u { | 1393 | union uvh_int_cmpd_u { |
| 1032 | unsigned long v; | 1394 | unsigned long v; |
| @@ -1039,8 +1401,8 @@ union uvh_int_cmpd_u { | |||
| 1039 | /* ========================================================================= */ | 1401 | /* ========================================================================= */ |
| 1040 | /* UVH_IPI_INT */ | 1402 | /* UVH_IPI_INT */ |
| 1041 | /* ========================================================================= */ | 1403 | /* ========================================================================= */ |
| 1042 | #define UVH_IPI_INT 0x60500UL | 1404 | #define UVH_IPI_INT 0x60500UL |
| 1043 | #define UVH_IPI_INT_32 0x348 | 1405 | #define UVH_IPI_INT_32 0x348 |
| 1044 | 1406 | ||
| 1045 | #define UVH_IPI_INT_VECTOR_SHFT 0 | 1407 | #define UVH_IPI_INT_VECTOR_SHFT 0 |
| 1046 | #define UVH_IPI_INT_DELIVERY_MODE_SHFT 8 | 1408 | #define UVH_IPI_INT_DELIVERY_MODE_SHFT 8 |
| @@ -1069,8 +1431,8 @@ union uvh_ipi_int_u { | |||
| 1069 | /* ========================================================================= */ | 1431 | /* ========================================================================= */ |
| 1070 | /* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST */ | 1432 | /* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST */ |
| 1071 | /* ========================================================================= */ | 1433 | /* ========================================================================= */ |
| 1072 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL | 1434 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST 0x320050UL |
| 1073 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_32 0x9c0 | 1435 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_32 0x9c0 |
| 1074 | 1436 | ||
| 1075 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4 | 1437 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_ADDRESS_SHFT 4 |
| 1076 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49 | 1438 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_FIRST_NODE_ID_SHFT 49 |
| @@ -1091,8 +1453,8 @@ union uvh_lb_bau_intd_payload_queue_first_u { | |||
| 1091 | /* ========================================================================= */ | 1453 | /* ========================================================================= */ |
| 1092 | /* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST */ | 1454 | /* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST */ |
| 1093 | /* ========================================================================= */ | 1455 | /* ========================================================================= */ |
| 1094 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL | 1456 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST 0x320060UL |
| 1095 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_32 0x9c8 | 1457 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_32 0x9c8 |
| 1096 | 1458 | ||
| 1097 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4 | 1459 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_SHFT 4 |
| 1098 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL | 1460 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_LAST_ADDRESS_MASK 0x000007fffffffff0UL |
| @@ -1109,8 +1471,8 @@ union uvh_lb_bau_intd_payload_queue_last_u { | |||
| 1109 | /* ========================================================================= */ | 1471 | /* ========================================================================= */ |
| 1110 | /* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL */ | 1472 | /* UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL */ |
| 1111 | /* ========================================================================= */ | 1473 | /* ========================================================================= */ |
| 1112 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL | 1474 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL 0x320070UL |
| 1113 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_32 0x9d0 | 1475 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_32 0x9d0 |
| 1114 | 1476 | ||
| 1115 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4 | 1477 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_SHFT 4 |
| 1116 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL | 1478 | #define UVH_LB_BAU_INTD_PAYLOAD_QUEUE_TAIL_ADDRESS_MASK 0x000007fffffffff0UL |
| @@ -1127,8 +1489,8 @@ union uvh_lb_bau_intd_payload_queue_tail_u { | |||
| 1127 | /* ========================================================================= */ | 1489 | /* ========================================================================= */ |
| 1128 | /* UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE */ | 1490 | /* UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE */ |
| 1129 | /* ========================================================================= */ | 1491 | /* ========================================================================= */ |
| 1130 | #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL | 1492 | #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE 0x320080UL |
| 1131 | #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_32 0xa68 | 1493 | #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_32 0xa68 |
| 1132 | 1494 | ||
| 1133 | #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0 | 1495 | #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_0_SHFT 0 |
| 1134 | #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1 | 1496 | #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_PENDING_1_SHFT 1 |
| @@ -1189,14 +1551,21 @@ union uvh_lb_bau_intd_software_acknowledge_u { | |||
| 1189 | /* ========================================================================= */ | 1551 | /* ========================================================================= */ |
| 1190 | /* UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS */ | 1552 | /* UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS */ |
| 1191 | /* ========================================================================= */ | 1553 | /* ========================================================================= */ |
| 1192 | #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x0000000000320088UL | 1554 | #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS 0x320088UL |
| 1193 | #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS_32 0xa70 | 1555 | #define UVH_LB_BAU_INTD_SOFTWARE_ACKNOWLEDGE_ALIAS_32 0xa70 |
| 1556 | |||
| 1194 | 1557 | ||
| 1195 | /* ========================================================================= */ | 1558 | /* ========================================================================= */ |
| 1196 | /* UVH_LB_BAU_MISC_CONTROL */ | 1559 | /* UVH_LB_BAU_MISC_CONTROL */ |
| 1197 | /* ========================================================================= */ | 1560 | /* ========================================================================= */ |
| 1198 | #define UVH_LB_BAU_MISC_CONTROL 0x320170UL | 1561 | #define UVH_LB_BAU_MISC_CONTROL 0x320170UL |
| 1199 | #define UVH_LB_BAU_MISC_CONTROL_32 0xa10 | 1562 | #define UV1H_LB_BAU_MISC_CONTROL 0x320170UL |
| 1563 | #define UV2H_LB_BAU_MISC_CONTROL 0x320170UL | ||
| 1564 | #define UV3H_LB_BAU_MISC_CONTROL 0x320170UL | ||
| 1565 | #define UVH_LB_BAU_MISC_CONTROL_32 0xa10 | ||
| 1566 | #define UV1H_LB_BAU_MISC_CONTROL_32 0x320170UL | ||
| 1567 | #define UV2H_LB_BAU_MISC_CONTROL_32 0x320170UL | ||
| 1568 | #define UV3H_LB_BAU_MISC_CONTROL_32 0x320170UL | ||
| 1200 | 1569 | ||
| 1201 | #define UVH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0 | 1570 | #define UVH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0 |
| 1202 | #define UVH_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8 | 1571 | #define UVH_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8 |
| @@ -1213,6 +1582,7 @@ union uvh_lb_bau_intd_software_acknowledge_u { | |||
| 1213 | #define UVH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24 | 1582 | #define UVH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24 |
| 1214 | #define UVH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27 | 1583 | #define UVH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27 |
| 1215 | #define UVH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28 | 1584 | #define UVH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28 |
| 1585 | #define UVH_LB_BAU_MISC_CONTROL_FUN_SHFT 48 | ||
| 1216 | #define UVH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK 0x00000000000000ffUL | 1586 | #define UVH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK 0x00000000000000ffUL |
| 1217 | #define UVH_LB_BAU_MISC_CONTROL_APIC_MODE_MASK 0x0000000000000100UL | 1587 | #define UVH_LB_BAU_MISC_CONTROL_APIC_MODE_MASK 0x0000000000000100UL |
| 1218 | #define UVH_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK 0x0000000000000200UL | 1588 | #define UVH_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK 0x0000000000000200UL |
| @@ -1228,6 +1598,7 @@ union uvh_lb_bau_intd_software_acknowledge_u { | |||
| 1228 | #define UVH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL | 1598 | #define UVH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL |
| 1229 | #define UVH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL | 1599 | #define UVH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL |
| 1230 | #define UVH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL | 1600 | #define UVH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL |
| 1601 | #define UVH_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL | ||
| 1231 | 1602 | ||
| 1232 | #define UV1H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0 | 1603 | #define UV1H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0 |
| 1233 | #define UV1H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8 | 1604 | #define UV1H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8 |
| @@ -1262,6 +1633,53 @@ union uvh_lb_bau_intd_software_acknowledge_u { | |||
| 1262 | #define UV1H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL | 1633 | #define UV1H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL |
| 1263 | #define UV1H_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL | 1634 | #define UV1H_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL |
| 1264 | 1635 | ||
| 1636 | #define UVXH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0 | ||
| 1637 | #define UVXH_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8 | ||
| 1638 | #define UVXH_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT 9 | ||
| 1639 | #define UVXH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT 10 | ||
| 1640 | #define UVXH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11 | ||
| 1641 | #define UVXH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14 | ||
| 1642 | #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT 15 | ||
| 1643 | #define UVXH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT 16 | ||
| 1644 | #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20 | ||
| 1645 | #define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21 | ||
| 1646 | #define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22 | ||
| 1647 | #define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_SHFT 23 | ||
| 1648 | #define UVXH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24 | ||
| 1649 | #define UVXH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27 | ||
| 1650 | #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28 | ||
| 1651 | #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_SHFT 29 | ||
| 1652 | #define UVXH_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_SHFT 30 | ||
| 1653 | #define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_SHFT 31 | ||
| 1654 | #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_SHFT 32 | ||
| 1655 | #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_SHFT 33 | ||
| 1656 | #define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_SHFT 34 | ||
| 1657 | #define UVXH_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_SHFT 35 | ||
| 1658 | #define UVXH_LB_BAU_MISC_CONTROL_FUN_SHFT 48 | ||
| 1659 | #define UVXH_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK 0x00000000000000ffUL | ||
| 1660 | #define UVXH_LB_BAU_MISC_CONTROL_APIC_MODE_MASK 0x0000000000000100UL | ||
| 1661 | #define UVXH_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK 0x0000000000000200UL | ||
| 1662 | #define UVXH_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK 0x0000000000000400UL | ||
| 1663 | #define UVXH_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL | ||
| 1664 | #define UVXH_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL | ||
| 1665 | #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK 0x0000000000008000UL | ||
| 1666 | #define UVXH_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK 0x00000000000f0000UL | ||
| 1667 | #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL | ||
| 1668 | #define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL | ||
| 1669 | #define UVXH_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL | ||
| 1670 | #define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_MASK 0x0000000000800000UL | ||
| 1671 | #define UVXH_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL | ||
| 1672 | #define UVXH_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL | ||
| 1673 | #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL | ||
| 1674 | #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_MASK 0x0000000020000000UL | ||
| 1675 | #define UVXH_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_MASK 0x0000000040000000UL | ||
| 1676 | #define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_MASK 0x0000000080000000UL | ||
| 1677 | #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_MASK 0x0000000100000000UL | ||
| 1678 | #define UVXH_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_MASK 0x0000000200000000UL | ||
| 1679 | #define UVXH_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_MASK 0x0000000400000000UL | ||
| 1680 | #define UVXH_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_MASK 0x0000000800000000UL | ||
| 1681 | #define UVXH_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL | ||
| 1682 | |||
| 1265 | #define UV2H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0 | 1683 | #define UV2H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0 |
| 1266 | #define UV2H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8 | 1684 | #define UV2H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8 |
| 1267 | #define UV2H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT 9 | 1685 | #define UV2H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT 9 |
| @@ -1309,6 +1727,59 @@ union uvh_lb_bau_intd_software_acknowledge_u { | |||
| 1309 | #define UV2H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_MASK 0x0000000800000000UL | 1727 | #define UV2H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_MASK 0x0000000800000000UL |
| 1310 | #define UV2H_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL | 1728 | #define UV2H_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL |
| 1311 | 1729 | ||
| 1730 | #define UV3H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_SHFT 0 | ||
| 1731 | #define UV3H_LB_BAU_MISC_CONTROL_APIC_MODE_SHFT 8 | ||
| 1732 | #define UV3H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_SHFT 9 | ||
| 1733 | #define UV3H_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_SHFT 10 | ||
| 1734 | #define UV3H_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_SHFT 11 | ||
| 1735 | #define UV3H_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_SHFT 14 | ||
| 1736 | #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_SHFT 15 | ||
| 1737 | #define UV3H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_SHFT 16 | ||
| 1738 | #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_SHFT 20 | ||
| 1739 | #define UV3H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_SHFT 21 | ||
| 1740 | #define UV3H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_SHFT 22 | ||
| 1741 | #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_SHFT 23 | ||
| 1742 | #define UV3H_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_SHFT 24 | ||
| 1743 | #define UV3H_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_SHFT 27 | ||
| 1744 | #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_SHFT 28 | ||
| 1745 | #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_SHFT 29 | ||
| 1746 | #define UV3H_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_SHFT 30 | ||
| 1747 | #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_SHFT 31 | ||
| 1748 | #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_SHFT 32 | ||
| 1749 | #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_SHFT 33 | ||
| 1750 | #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_SHFT 34 | ||
| 1751 | #define UV3H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_SHFT 35 | ||
| 1752 | #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_QUIESCE_MSGS_TO_QPI_SHFT 36 | ||
| 1753 | #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_PREFETCH_HINT_SHFT 37 | ||
| 1754 | #define UV3H_LB_BAU_MISC_CONTROL_THREAD_KILL_TIMEBASE_SHFT 38 | ||
| 1755 | #define UV3H_LB_BAU_MISC_CONTROL_FUN_SHFT 48 | ||
| 1756 | #define UV3H_LB_BAU_MISC_CONTROL_REJECTION_DELAY_MASK 0x00000000000000ffUL | ||
| 1757 | #define UV3H_LB_BAU_MISC_CONTROL_APIC_MODE_MASK 0x0000000000000100UL | ||
| 1758 | #define UV3H_LB_BAU_MISC_CONTROL_FORCE_BROADCAST_MASK 0x0000000000000200UL | ||
| 1759 | #define UV3H_LB_BAU_MISC_CONTROL_FORCE_LOCK_NOP_MASK 0x0000000000000400UL | ||
| 1760 | #define UV3H_LB_BAU_MISC_CONTROL_QPI_AGENT_PRESENCE_VECTOR_MASK 0x0000000000003800UL | ||
| 1761 | #define UV3H_LB_BAU_MISC_CONTROL_DESCRIPTOR_FETCH_MODE_MASK 0x0000000000004000UL | ||
| 1762 | #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_SOFT_ACK_MODE_MASK 0x0000000000008000UL | ||
| 1763 | #define UV3H_LB_BAU_MISC_CONTROL_INTD_SOFT_ACK_TIMEOUT_PERIOD_MASK 0x00000000000f0000UL | ||
| 1764 | #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_DUAL_MAPPING_MODE_MASK 0x0000000000100000UL | ||
| 1765 | #define UV3H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_DECODE_ENABLE_MASK 0x0000000000200000UL | ||
| 1766 | #define UV3H_LB_BAU_MISC_CONTROL_VGA_IO_PORT_16_BIT_DECODE_MASK 0x0000000000400000UL | ||
| 1767 | #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_DEST_REGISTRATION_MASK 0x0000000000800000UL | ||
| 1768 | #define UV3H_LB_BAU_MISC_CONTROL_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000007000000UL | ||
| 1769 | #define UV3H_LB_BAU_MISC_CONTROL_USE_INCOMING_PRIORITY_MASK 0x0000000008000000UL | ||
| 1770 | #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_PROGRAMMED_INITIAL_PRIORITY_MASK 0x0000000010000000UL | ||
| 1771 | #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_AUTOMATIC_APIC_MODE_SELECTION_MASK 0x0000000020000000UL | ||
| 1772 | #define UV3H_LB_BAU_MISC_CONTROL_APIC_MODE_STATUS_MASK 0x0000000040000000UL | ||
| 1773 | #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_INTERRUPTS_TO_SELF_MASK 0x0000000080000000UL | ||
| 1774 | #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_LOCK_BASED_SYSTEM_FLUSH_MASK 0x0000000100000000UL | ||
| 1775 | #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_EXTENDED_SB_STATUS_MASK 0x0000000200000000UL | ||
| 1776 | #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_INT_PRIO_UDT_TO_SELF_MASK 0x0000000400000000UL | ||
| 1777 | #define UV3H_LB_BAU_MISC_CONTROL_USE_LEGACY_DESCRIPTOR_FORMATS_MASK 0x0000000800000000UL | ||
| 1778 | #define UV3H_LB_BAU_MISC_CONTROL_SUPPRESS_QUIESCE_MSGS_TO_QPI_MASK 0x0000001000000000UL | ||
| 1779 | #define UV3H_LB_BAU_MISC_CONTROL_ENABLE_INTD_PREFETCH_HINT_MASK 0x0000002000000000UL | ||
| 1780 | #define UV3H_LB_BAU_MISC_CONTROL_THREAD_KILL_TIMEBASE_MASK 0x00003fc000000000UL | ||
| 1781 | #define UV3H_LB_BAU_MISC_CONTROL_FUN_MASK 0xffff000000000000UL | ||
| 1782 | |||
| 1312 | union uvh_lb_bau_misc_control_u { | 1783 | union uvh_lb_bau_misc_control_u { |
| 1313 | unsigned long v; | 1784 | unsigned long v; |
| 1314 | struct uvh_lb_bau_misc_control_s { | 1785 | struct uvh_lb_bau_misc_control_s { |
| @@ -1327,7 +1798,8 @@ union uvh_lb_bau_misc_control_u { | |||
| 1327 | unsigned long programmed_initial_priority:3; /* RW */ | 1798 | unsigned long programmed_initial_priority:3; /* RW */ |
| 1328 | unsigned long use_incoming_priority:1; /* RW */ | 1799 | unsigned long use_incoming_priority:1; /* RW */ |
| 1329 | unsigned long enable_programmed_initial_priority:1;/* RW */ | 1800 | unsigned long enable_programmed_initial_priority:1;/* RW */ |
| 1330 | unsigned long rsvd_29_63:35; | 1801 | unsigned long rsvd_29_47:19; |
| 1802 | unsigned long fun:16; /* RW */ | ||
| 1331 | } s; | 1803 | } s; |
| 1332 | struct uv1h_lb_bau_misc_control_s { | 1804 | struct uv1h_lb_bau_misc_control_s { |
| 1333 | unsigned long rejection_delay:8; /* RW */ | 1805 | unsigned long rejection_delay:8; /* RW */ |
| @@ -1348,6 +1820,32 @@ union uvh_lb_bau_misc_control_u { | |||
| 1348 | unsigned long rsvd_29_47:19; | 1820 | unsigned long rsvd_29_47:19; |
| 1349 | unsigned long fun:16; /* RW */ | 1821 | unsigned long fun:16; /* RW */ |
| 1350 | } s1; | 1822 | } s1; |
| 1823 | struct uvxh_lb_bau_misc_control_s { | ||
| 1824 | unsigned long rejection_delay:8; /* RW */ | ||
| 1825 | unsigned long apic_mode:1; /* RW */ | ||
| 1826 | unsigned long force_broadcast:1; /* RW */ | ||
| 1827 | unsigned long force_lock_nop:1; /* RW */ | ||
| 1828 | unsigned long qpi_agent_presence_vector:3; /* RW */ | ||
| 1829 | unsigned long descriptor_fetch_mode:1; /* RW */ | ||
| 1830 | unsigned long enable_intd_soft_ack_mode:1; /* RW */ | ||
| 1831 | unsigned long intd_soft_ack_timeout_period:4; /* RW */ | ||
| 1832 | unsigned long enable_dual_mapping_mode:1; /* RW */ | ||
| 1833 | unsigned long vga_io_port_decode_enable:1; /* RW */ | ||
| 1834 | unsigned long vga_io_port_16_bit_decode:1; /* RW */ | ||
| 1835 | unsigned long suppress_dest_registration:1; /* RW */ | ||
| 1836 | unsigned long programmed_initial_priority:3; /* RW */ | ||
| 1837 | unsigned long use_incoming_priority:1; /* RW */ | ||
| 1838 | unsigned long enable_programmed_initial_priority:1;/* RW */ | ||
| 1839 | unsigned long enable_automatic_apic_mode_selection:1;/* RW */ | ||
| 1840 | unsigned long apic_mode_status:1; /* RO */ | ||
| 1841 | unsigned long suppress_interrupts_to_self:1; /* RW */ | ||
| 1842 | unsigned long enable_lock_based_system_flush:1;/* RW */ | ||
| 1843 | unsigned long enable_extended_sb_status:1; /* RW */ | ||
| 1844 | unsigned long suppress_int_prio_udt_to_self:1;/* RW */ | ||
| 1845 | unsigned long use_legacy_descriptor_formats:1;/* RW */ | ||
| 1846 | unsigned long rsvd_36_47:12; | ||
| 1847 | unsigned long fun:16; /* RW */ | ||
| 1848 | } sx; | ||
| 1351 | struct uv2h_lb_bau_misc_control_s { | 1849 | struct uv2h_lb_bau_misc_control_s { |
| 1352 | unsigned long rejection_delay:8; /* RW */ | 1850 | unsigned long rejection_delay:8; /* RW */ |
| 1353 | unsigned long apic_mode:1; /* RW */ | 1851 | unsigned long apic_mode:1; /* RW */ |
| @@ -1374,13 +1872,42 @@ union uvh_lb_bau_misc_control_u { | |||
| 1374 | unsigned long rsvd_36_47:12; | 1872 | unsigned long rsvd_36_47:12; |
| 1375 | unsigned long fun:16; /* RW */ | 1873 | unsigned long fun:16; /* RW */ |
| 1376 | } s2; | 1874 | } s2; |
| 1875 | struct uv3h_lb_bau_misc_control_s { | ||
| 1876 | unsigned long rejection_delay:8; /* RW */ | ||
| 1877 | unsigned long apic_mode:1; /* RW */ | ||
| 1878 | unsigned long force_broadcast:1; /* RW */ | ||
| 1879 | unsigned long force_lock_nop:1; /* RW */ | ||
| 1880 | unsigned long qpi_agent_presence_vector:3; /* RW */ | ||
| 1881 | unsigned long descriptor_fetch_mode:1; /* RW */ | ||
| 1882 | unsigned long enable_intd_soft_ack_mode:1; /* RW */ | ||
| 1883 | unsigned long intd_soft_ack_timeout_period:4; /* RW */ | ||
| 1884 | unsigned long enable_dual_mapping_mode:1; /* RW */ | ||
| 1885 | unsigned long vga_io_port_decode_enable:1; /* RW */ | ||
| 1886 | unsigned long vga_io_port_16_bit_decode:1; /* RW */ | ||
| 1887 | unsigned long suppress_dest_registration:1; /* RW */ | ||
| 1888 | unsigned long programmed_initial_priority:3; /* RW */ | ||
| 1889 | unsigned long use_incoming_priority:1; /* RW */ | ||
| 1890 | unsigned long enable_programmed_initial_priority:1;/* RW */ | ||
| 1891 | unsigned long enable_automatic_apic_mode_selection:1;/* RW */ | ||
| 1892 | unsigned long apic_mode_status:1; /* RO */ | ||
| 1893 | unsigned long suppress_interrupts_to_self:1; /* RW */ | ||
| 1894 | unsigned long enable_lock_based_system_flush:1;/* RW */ | ||
| 1895 | unsigned long enable_extended_sb_status:1; /* RW */ | ||
| 1896 | unsigned long suppress_int_prio_udt_to_self:1;/* RW */ | ||
| 1897 | unsigned long use_legacy_descriptor_formats:1;/* RW */ | ||
| 1898 | unsigned long suppress_quiesce_msgs_to_qpi:1; /* RW */ | ||
| 1899 | unsigned long enable_intd_prefetch_hint:1; /* RW */ | ||
| 1900 | unsigned long thread_kill_timebase:8; /* RW */ | ||
| 1901 | unsigned long rsvd_46_47:2; | ||
| 1902 | unsigned long fun:16; /* RW */ | ||
| 1903 | } s3; | ||
| 1377 | }; | 1904 | }; |
| 1378 | 1905 | ||
| 1379 | /* ========================================================================= */ | 1906 | /* ========================================================================= */ |
| 1380 | /* UVH_LB_BAU_SB_ACTIVATION_CONTROL */ | 1907 | /* UVH_LB_BAU_SB_ACTIVATION_CONTROL */ |
| 1381 | /* ========================================================================= */ | 1908 | /* ========================================================================= */ |
| 1382 | #define UVH_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL | 1909 | #define UVH_LB_BAU_SB_ACTIVATION_CONTROL 0x320020UL |
| 1383 | #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_32 0x9a8 | 1910 | #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_32 0x9a8 |
| 1384 | 1911 | ||
| 1385 | #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_SHFT 0 | 1912 | #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_INDEX_SHFT 0 |
| 1386 | #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_SHFT 62 | 1913 | #define UVH_LB_BAU_SB_ACTIVATION_CONTROL_PUSH_SHFT 62 |
| @@ -1402,8 +1929,8 @@ union uvh_lb_bau_sb_activation_control_u { | |||
| 1402 | /* ========================================================================= */ | 1929 | /* ========================================================================= */ |
| 1403 | /* UVH_LB_BAU_SB_ACTIVATION_STATUS_0 */ | 1930 | /* UVH_LB_BAU_SB_ACTIVATION_STATUS_0 */ |
| 1404 | /* ========================================================================= */ | 1931 | /* ========================================================================= */ |
| 1405 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL | 1932 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0 0x320030UL |
| 1406 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x9b0 | 1933 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_32 0x9b0 |
| 1407 | 1934 | ||
| 1408 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_SHFT 0 | 1935 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_SHFT 0 |
| 1409 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_MASK 0xffffffffffffffffUL | 1936 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_0_STATUS_MASK 0xffffffffffffffffUL |
| @@ -1418,8 +1945,8 @@ union uvh_lb_bau_sb_activation_status_0_u { | |||
| 1418 | /* ========================================================================= */ | 1945 | /* ========================================================================= */ |
| 1419 | /* UVH_LB_BAU_SB_ACTIVATION_STATUS_1 */ | 1946 | /* UVH_LB_BAU_SB_ACTIVATION_STATUS_1 */ |
| 1420 | /* ========================================================================= */ | 1947 | /* ========================================================================= */ |
| 1421 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL | 1948 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1 0x320040UL |
| 1422 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x9b8 | 1949 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_32 0x9b8 |
| 1423 | 1950 | ||
| 1424 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_SHFT 0 | 1951 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_SHFT 0 |
| 1425 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_MASK 0xffffffffffffffffUL | 1952 | #define UVH_LB_BAU_SB_ACTIVATION_STATUS_1_STATUS_MASK 0xffffffffffffffffUL |
| @@ -1434,8 +1961,8 @@ union uvh_lb_bau_sb_activation_status_1_u { | |||
| 1434 | /* ========================================================================= */ | 1961 | /* ========================================================================= */ |
| 1435 | /* UVH_LB_BAU_SB_DESCRIPTOR_BASE */ | 1962 | /* UVH_LB_BAU_SB_DESCRIPTOR_BASE */ |
| 1436 | /* ========================================================================= */ | 1963 | /* ========================================================================= */ |
| 1437 | #define UVH_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL | 1964 | #define UVH_LB_BAU_SB_DESCRIPTOR_BASE 0x320010UL |
| 1438 | #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_32 0x9a0 | 1965 | #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_32 0x9a0 |
| 1439 | 1966 | ||
| 1440 | #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_SHFT 12 | 1967 | #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_PAGE_ADDRESS_SHFT 12 |
| 1441 | #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT 49 | 1968 | #define UVH_LB_BAU_SB_DESCRIPTOR_BASE_NODE_ID_SHFT 49 |
| @@ -1456,7 +1983,10 @@ union uvh_lb_bau_sb_descriptor_base_u { | |||
| 1456 | /* ========================================================================= */ | 1983 | /* ========================================================================= */ |
| 1457 | /* UVH_NODE_ID */ | 1984 | /* UVH_NODE_ID */ |
| 1458 | /* ========================================================================= */ | 1985 | /* ========================================================================= */ |
| 1459 | #define UVH_NODE_ID 0x0UL | 1986 | #define UVH_NODE_ID 0x0UL |
| 1987 | #define UV1H_NODE_ID 0x0UL | ||
| 1988 | #define UV2H_NODE_ID 0x0UL | ||
| 1989 | #define UV3H_NODE_ID 0x0UL | ||
| 1460 | 1990 | ||
| 1461 | #define UVH_NODE_ID_FORCE1_SHFT 0 | 1991 | #define UVH_NODE_ID_FORCE1_SHFT 0 |
| 1462 | #define UVH_NODE_ID_MANUFACTURER_SHFT 1 | 1992 | #define UVH_NODE_ID_MANUFACTURER_SHFT 1 |
| @@ -1484,6 +2014,21 @@ union uvh_lb_bau_sb_descriptor_base_u { | |||
| 1484 | #define UV1H_NODE_ID_NODES_PER_BIT_MASK 0x007f000000000000UL | 2014 | #define UV1H_NODE_ID_NODES_PER_BIT_MASK 0x007f000000000000UL |
| 1485 | #define UV1H_NODE_ID_NI_PORT_MASK 0x0f00000000000000UL | 2015 | #define UV1H_NODE_ID_NI_PORT_MASK 0x0f00000000000000UL |
| 1486 | 2016 | ||
| 2017 | #define UVXH_NODE_ID_FORCE1_SHFT 0 | ||
| 2018 | #define UVXH_NODE_ID_MANUFACTURER_SHFT 1 | ||
| 2019 | #define UVXH_NODE_ID_PART_NUMBER_SHFT 12 | ||
| 2020 | #define UVXH_NODE_ID_REVISION_SHFT 28 | ||
| 2021 | #define UVXH_NODE_ID_NODE_ID_SHFT 32 | ||
| 2022 | #define UVXH_NODE_ID_NODES_PER_BIT_SHFT 50 | ||
| 2023 | #define UVXH_NODE_ID_NI_PORT_SHFT 57 | ||
| 2024 | #define UVXH_NODE_ID_FORCE1_MASK 0x0000000000000001UL | ||
| 2025 | #define UVXH_NODE_ID_MANUFACTURER_MASK 0x0000000000000ffeUL | ||
| 2026 | #define UVXH_NODE_ID_PART_NUMBER_MASK 0x000000000ffff000UL | ||
| 2027 | #define UVXH_NODE_ID_REVISION_MASK 0x00000000f0000000UL | ||
| 2028 | #define UVXH_NODE_ID_NODE_ID_MASK 0x00007fff00000000UL | ||
| 2029 | #define UVXH_NODE_ID_NODES_PER_BIT_MASK 0x01fc000000000000UL | ||
| 2030 | #define UVXH_NODE_ID_NI_PORT_MASK 0x3e00000000000000UL | ||
| 2031 | |||
| 1487 | #define UV2H_NODE_ID_FORCE1_SHFT 0 | 2032 | #define UV2H_NODE_ID_FORCE1_SHFT 0 |
| 1488 | #define UV2H_NODE_ID_MANUFACTURER_SHFT 1 | 2033 | #define UV2H_NODE_ID_MANUFACTURER_SHFT 1 |
| 1489 | #define UV2H_NODE_ID_PART_NUMBER_SHFT 12 | 2034 | #define UV2H_NODE_ID_PART_NUMBER_SHFT 12 |
| @@ -1499,6 +2044,25 @@ union uvh_lb_bau_sb_descriptor_base_u { | |||
| 1499 | #define UV2H_NODE_ID_NODES_PER_BIT_MASK 0x01fc000000000000UL | 2044 | #define UV2H_NODE_ID_NODES_PER_BIT_MASK 0x01fc000000000000UL |
| 1500 | #define UV2H_NODE_ID_NI_PORT_MASK 0x3e00000000000000UL | 2045 | #define UV2H_NODE_ID_NI_PORT_MASK 0x3e00000000000000UL |
| 1501 | 2046 | ||
| 2047 | #define UV3H_NODE_ID_FORCE1_SHFT 0 | ||
| 2048 | #define UV3H_NODE_ID_MANUFACTURER_SHFT 1 | ||
| 2049 | #define UV3H_NODE_ID_PART_NUMBER_SHFT 12 | ||
| 2050 | #define UV3H_NODE_ID_REVISION_SHFT 28 | ||
| 2051 | #define UV3H_NODE_ID_NODE_ID_SHFT 32 | ||
| 2052 | #define UV3H_NODE_ID_ROUTER_SELECT_SHFT 48 | ||
| 2053 | #define UV3H_NODE_ID_RESERVED_2_SHFT 49 | ||
| 2054 | #define UV3H_NODE_ID_NODES_PER_BIT_SHFT 50 | ||
| 2055 | #define UV3H_NODE_ID_NI_PORT_SHFT 57 | ||
| 2056 | #define UV3H_NODE_ID_FORCE1_MASK 0x0000000000000001UL | ||
| 2057 | #define UV3H_NODE_ID_MANUFACTURER_MASK 0x0000000000000ffeUL | ||
| 2058 | #define UV3H_NODE_ID_PART_NUMBER_MASK 0x000000000ffff000UL | ||
| 2059 | #define UV3H_NODE_ID_REVISION_MASK 0x00000000f0000000UL | ||
| 2060 | #define UV3H_NODE_ID_NODE_ID_MASK 0x00007fff00000000UL | ||
| 2061 | #define UV3H_NODE_ID_ROUTER_SELECT_MASK 0x0001000000000000UL | ||
| 2062 | #define UV3H_NODE_ID_RESERVED_2_MASK 0x0002000000000000UL | ||
| 2063 | #define UV3H_NODE_ID_NODES_PER_BIT_MASK 0x01fc000000000000UL | ||
| 2064 | #define UV3H_NODE_ID_NI_PORT_MASK 0x3e00000000000000UL | ||
| 2065 | |||
| 1502 | union uvh_node_id_u { | 2066 | union uvh_node_id_u { |
| 1503 | unsigned long v; | 2067 | unsigned long v; |
| 1504 | struct uvh_node_id_s { | 2068 | struct uvh_node_id_s { |
| @@ -1521,6 +2085,17 @@ union uvh_node_id_u { | |||
| 1521 | unsigned long ni_port:4; /* RO */ | 2085 | unsigned long ni_port:4; /* RO */ |
| 1522 | unsigned long rsvd_60_63:4; | 2086 | unsigned long rsvd_60_63:4; |
| 1523 | } s1; | 2087 | } s1; |
| 2088 | struct uvxh_node_id_s { | ||
| 2089 | unsigned long force1:1; /* RO */ | ||
| 2090 | unsigned long manufacturer:11; /* RO */ | ||
| 2091 | unsigned long part_number:16; /* RO */ | ||
| 2092 | unsigned long revision:4; /* RO */ | ||
| 2093 | unsigned long node_id:15; /* RW */ | ||
| 2094 | unsigned long rsvd_47_49:3; | ||
| 2095 | unsigned long nodes_per_bit:7; /* RO */ | ||
| 2096 | unsigned long ni_port:5; /* RO */ | ||
| 2097 | unsigned long rsvd_62_63:2; | ||
| 2098 | } sx; | ||
| 1524 | struct uv2h_node_id_s { | 2099 | struct uv2h_node_id_s { |
| 1525 | unsigned long force1:1; /* RO */ | 2100 | unsigned long force1:1; /* RO */ |
| 1526 | unsigned long manufacturer:11; /* RO */ | 2101 | unsigned long manufacturer:11; /* RO */ |
| @@ -1532,13 +2107,26 @@ union uvh_node_id_u { | |||
| 1532 | unsigned long ni_port:5; /* RO */ | 2107 | unsigned long ni_port:5; /* RO */ |
| 1533 | unsigned long rsvd_62_63:2; | 2108 | unsigned long rsvd_62_63:2; |
| 1534 | } s2; | 2109 | } s2; |
| 2110 | struct uv3h_node_id_s { | ||
| 2111 | unsigned long force1:1; /* RO */ | ||
| 2112 | unsigned long manufacturer:11; /* RO */ | ||
| 2113 | unsigned long part_number:16; /* RO */ | ||
| 2114 | unsigned long revision:4; /* RO */ | ||
| 2115 | unsigned long node_id:15; /* RW */ | ||
| 2116 | unsigned long rsvd_47:1; | ||
| 2117 | unsigned long router_select:1; /* RO */ | ||
| 2118 | unsigned long rsvd_49:1; | ||
| 2119 | unsigned long nodes_per_bit:7; /* RO */ | ||
| 2120 | unsigned long ni_port:5; /* RO */ | ||
| 2121 | unsigned long rsvd_62_63:2; | ||
| 2122 | } s3; | ||
| 1535 | }; | 2123 | }; |
| 1536 | 2124 | ||
| 1537 | /* ========================================================================= */ | 2125 | /* ========================================================================= */ |
| 1538 | /* UVH_NODE_PRESENT_TABLE */ | 2126 | /* UVH_NODE_PRESENT_TABLE */ |
| 1539 | /* ========================================================================= */ | 2127 | /* ========================================================================= */ |
| 1540 | #define UVH_NODE_PRESENT_TABLE 0x1400UL | 2128 | #define UVH_NODE_PRESENT_TABLE 0x1400UL |
| 1541 | #define UVH_NODE_PRESENT_TABLE_DEPTH 16 | 2129 | #define UVH_NODE_PRESENT_TABLE_DEPTH 16 |
| 1542 | 2130 | ||
| 1543 | #define UVH_NODE_PRESENT_TABLE_NODES_SHFT 0 | 2131 | #define UVH_NODE_PRESENT_TABLE_NODES_SHFT 0 |
| 1544 | #define UVH_NODE_PRESENT_TABLE_NODES_MASK 0xffffffffffffffffUL | 2132 | #define UVH_NODE_PRESENT_TABLE_NODES_MASK 0xffffffffffffffffUL |
| @@ -1553,7 +2141,7 @@ union uvh_node_present_table_u { | |||
| 1553 | /* ========================================================================= */ | 2141 | /* ========================================================================= */ |
| 1554 | /* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR */ | 2142 | /* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR */ |
| 1555 | /* ========================================================================= */ | 2143 | /* ========================================================================= */ |
| 1556 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x16000c8UL | 2144 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR 0x16000c8UL |
| 1557 | 2145 | ||
| 1558 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24 | 2146 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_BASE_SHFT 24 |
| 1559 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48 | 2147 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_0_MMR_M_ALIAS_SHFT 48 |
| @@ -1577,7 +2165,7 @@ union uvh_rh_gam_alias210_overlay_config_0_mmr_u { | |||
| 1577 | /* ========================================================================= */ | 2165 | /* ========================================================================= */ |
| 1578 | /* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR */ | 2166 | /* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR */ |
| 1579 | /* ========================================================================= */ | 2167 | /* ========================================================================= */ |
| 1580 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x16000d8UL | 2168 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR 0x16000d8UL |
| 1581 | 2169 | ||
| 1582 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24 | 2170 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_BASE_SHFT 24 |
| 1583 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48 | 2171 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_1_MMR_M_ALIAS_SHFT 48 |
| @@ -1601,7 +2189,7 @@ union uvh_rh_gam_alias210_overlay_config_1_mmr_u { | |||
| 1601 | /* ========================================================================= */ | 2189 | /* ========================================================================= */ |
| 1602 | /* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR */ | 2190 | /* UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR */ |
| 1603 | /* ========================================================================= */ | 2191 | /* ========================================================================= */ |
| 1604 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x16000e8UL | 2192 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR 0x16000e8UL |
| 1605 | 2193 | ||
| 1606 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24 | 2194 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_BASE_SHFT 24 |
| 1607 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48 | 2195 | #define UVH_RH_GAM_ALIAS210_OVERLAY_CONFIG_2_MMR_M_ALIAS_SHFT 48 |
| @@ -1625,7 +2213,7 @@ union uvh_rh_gam_alias210_overlay_config_2_mmr_u { | |||
| 1625 | /* ========================================================================= */ | 2213 | /* ========================================================================= */ |
| 1626 | /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR */ | 2214 | /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR */ |
| 1627 | /* ========================================================================= */ | 2215 | /* ========================================================================= */ |
| 1628 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL | 2216 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL |
| 1629 | 2217 | ||
| 1630 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24 | 2218 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24 |
| 1631 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL | 2219 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL |
| @@ -1642,7 +2230,7 @@ union uvh_rh_gam_alias210_redirect_config_0_mmr_u { | |||
| 1642 | /* ========================================================================= */ | 2230 | /* ========================================================================= */ |
| 1643 | /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR */ | 2231 | /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR */ |
| 1644 | /* ========================================================================= */ | 2232 | /* ========================================================================= */ |
| 1645 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL | 2233 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL |
| 1646 | 2234 | ||
| 1647 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24 | 2235 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24 |
| 1648 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL | 2236 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL |
| @@ -1659,7 +2247,7 @@ union uvh_rh_gam_alias210_redirect_config_1_mmr_u { | |||
| 1659 | /* ========================================================================= */ | 2247 | /* ========================================================================= */ |
| 1660 | /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR */ | 2248 | /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR */ |
| 1661 | /* ========================================================================= */ | 2249 | /* ========================================================================= */ |
| 1662 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL | 2250 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL |
| 1663 | 2251 | ||
| 1664 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24 | 2252 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24 |
| 1665 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL | 2253 | #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL |
| @@ -1676,7 +2264,10 @@ union uvh_rh_gam_alias210_redirect_config_2_mmr_u { | |||
| 1676 | /* ========================================================================= */ | 2264 | /* ========================================================================= */ |
| 1677 | /* UVH_RH_GAM_CONFIG_MMR */ | 2265 | /* UVH_RH_GAM_CONFIG_MMR */ |
| 1678 | /* ========================================================================= */ | 2266 | /* ========================================================================= */ |
| 1679 | #define UVH_RH_GAM_CONFIG_MMR 0x1600000UL | 2267 | #define UVH_RH_GAM_CONFIG_MMR 0x1600000UL |
| 2268 | #define UV1H_RH_GAM_CONFIG_MMR 0x1600000UL | ||
| 2269 | #define UV2H_RH_GAM_CONFIG_MMR 0x1600000UL | ||
| 2270 | #define UV3H_RH_GAM_CONFIG_MMR 0x1600000UL | ||
| 1680 | 2271 | ||
| 1681 | #define UVH_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0 | 2272 | #define UVH_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0 |
| 1682 | #define UVH_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6 | 2273 | #define UVH_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6 |
| @@ -1690,11 +2281,21 @@ union uvh_rh_gam_alias210_redirect_config_2_mmr_u { | |||
| 1690 | #define UV1H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL | 2281 | #define UV1H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL |
| 1691 | #define UV1H_RH_GAM_CONFIG_MMR_MMIOL_CFG_MASK 0x0000000000001000UL | 2282 | #define UV1H_RH_GAM_CONFIG_MMR_MMIOL_CFG_MASK 0x0000000000001000UL |
| 1692 | 2283 | ||
| 2284 | #define UVXH_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0 | ||
| 2285 | #define UVXH_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6 | ||
| 2286 | #define UVXH_RH_GAM_CONFIG_MMR_M_SKT_MASK 0x000000000000003fUL | ||
| 2287 | #define UVXH_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL | ||
| 2288 | |||
| 1693 | #define UV2H_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0 | 2289 | #define UV2H_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0 |
| 1694 | #define UV2H_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6 | 2290 | #define UV2H_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6 |
| 1695 | #define UV2H_RH_GAM_CONFIG_MMR_M_SKT_MASK 0x000000000000003fUL | 2291 | #define UV2H_RH_GAM_CONFIG_MMR_M_SKT_MASK 0x000000000000003fUL |
| 1696 | #define UV2H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL | 2292 | #define UV2H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL |
| 1697 | 2293 | ||
| 2294 | #define UV3H_RH_GAM_CONFIG_MMR_M_SKT_SHFT 0 | ||
| 2295 | #define UV3H_RH_GAM_CONFIG_MMR_N_SKT_SHFT 6 | ||
| 2296 | #define UV3H_RH_GAM_CONFIG_MMR_M_SKT_MASK 0x000000000000003fUL | ||
| 2297 | #define UV3H_RH_GAM_CONFIG_MMR_N_SKT_MASK 0x00000000000003c0UL | ||
| 2298 | |||
| 1698 | union uvh_rh_gam_config_mmr_u { | 2299 | union uvh_rh_gam_config_mmr_u { |
| 1699 | unsigned long v; | 2300 | unsigned long v; |
| 1700 | struct uvh_rh_gam_config_mmr_s { | 2301 | struct uvh_rh_gam_config_mmr_s { |
| @@ -1709,20 +2310,37 @@ union uvh_rh_gam_config_mmr_u { | |||
| 1709 | unsigned long mmiol_cfg:1; /* RW */ | 2310 | unsigned long mmiol_cfg:1; /* RW */ |
| 1710 | unsigned long rsvd_13_63:51; | 2311 | unsigned long rsvd_13_63:51; |
| 1711 | } s1; | 2312 | } s1; |
| 2313 | struct uvxh_rh_gam_config_mmr_s { | ||
| 2314 | unsigned long m_skt:6; /* RW */ | ||
| 2315 | unsigned long n_skt:4; /* RW */ | ||
| 2316 | unsigned long rsvd_10_63:54; | ||
| 2317 | } sx; | ||
| 1712 | struct uv2h_rh_gam_config_mmr_s { | 2318 | struct uv2h_rh_gam_config_mmr_s { |
| 1713 | unsigned long m_skt:6; /* RW */ | 2319 | unsigned long m_skt:6; /* RW */ |
| 1714 | unsigned long n_skt:4; /* RW */ | 2320 | unsigned long n_skt:4; /* RW */ |
| 1715 | unsigned long rsvd_10_63:54; | 2321 | unsigned long rsvd_10_63:54; |
| 1716 | } s2; | 2322 | } s2; |
| 2323 | struct uv3h_rh_gam_config_mmr_s { | ||
| 2324 | unsigned long m_skt:6; /* RW */ | ||
| 2325 | unsigned long n_skt:4; /* RW */ | ||
| 2326 | unsigned long rsvd_10_63:54; | ||
| 2327 | } s3; | ||
| 1717 | }; | 2328 | }; |
| 1718 | 2329 | ||
| 1719 | /* ========================================================================= */ | 2330 | /* ========================================================================= */ |
| 1720 | /* UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR */ | 2331 | /* UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR */ |
| 1721 | /* ========================================================================= */ | 2332 | /* ========================================================================= */ |
| 1722 | #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL | 2333 | #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL |
| 2334 | #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL | ||
| 2335 | #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL | ||
| 2336 | #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL | ||
| 1723 | 2337 | ||
| 1724 | #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28 | 2338 | #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28 |
| 2339 | #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52 | ||
| 2340 | #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 | ||
| 1725 | #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffff0000000UL | 2341 | #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffff0000000UL |
| 2342 | #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL | ||
| 2343 | #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL | ||
| 1726 | 2344 | ||
| 1727 | #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28 | 2345 | #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28 |
| 1728 | #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_GR4_SHFT 48 | 2346 | #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_GR4_SHFT 48 |
| @@ -1733,6 +2351,13 @@ union uvh_rh_gam_config_mmr_u { | |||
| 1733 | #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL | 2351 | #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL |
| 1734 | #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL | 2352 | #define UV1H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL |
| 1735 | 2353 | ||
| 2354 | #define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28 | ||
| 2355 | #define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52 | ||
| 2356 | #define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 | ||
| 2357 | #define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffff0000000UL | ||
| 2358 | #define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL | ||
| 2359 | #define UVXH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL | ||
| 2360 | |||
| 1736 | #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28 | 2361 | #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28 |
| 1737 | #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52 | 2362 | #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52 |
| 1738 | #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 | 2363 | #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 |
| @@ -1740,12 +2365,23 @@ union uvh_rh_gam_config_mmr_u { | |||
| 1740 | #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL | 2365 | #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL |
| 1741 | #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL | 2366 | #define UV2H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL |
| 1742 | 2367 | ||
| 2368 | #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28 | ||
| 2369 | #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52 | ||
| 2370 | #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_MODE_SHFT 62 | ||
| 2371 | #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 | ||
| 2372 | #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffff0000000UL | ||
| 2373 | #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL | ||
| 2374 | #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_MODE_MASK 0x4000000000000000UL | ||
| 2375 | #define UV3H_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL | ||
| 2376 | |||
| 1743 | union uvh_rh_gam_gru_overlay_config_mmr_u { | 2377 | union uvh_rh_gam_gru_overlay_config_mmr_u { |
| 1744 | unsigned long v; | 2378 | unsigned long v; |
| 1745 | struct uvh_rh_gam_gru_overlay_config_mmr_s { | 2379 | struct uvh_rh_gam_gru_overlay_config_mmr_s { |
| 1746 | unsigned long rsvd_0_27:28; | 2380 | unsigned long rsvd_0_27:28; |
| 1747 | unsigned long base:18; /* RW */ | 2381 | unsigned long base:18; /* RW */ |
| 1748 | unsigned long rsvd_46_62:17; | 2382 | unsigned long rsvd_46_51:6; |
| 2383 | unsigned long n_gru:4; /* RW */ | ||
| 2384 | unsigned long rsvd_56_62:7; | ||
| 1749 | unsigned long enable:1; /* RW */ | 2385 | unsigned long enable:1; /* RW */ |
| 1750 | } s; | 2386 | } s; |
| 1751 | struct uv1h_rh_gam_gru_overlay_config_mmr_s { | 2387 | struct uv1h_rh_gam_gru_overlay_config_mmr_s { |
| @@ -1758,6 +2394,14 @@ union uvh_rh_gam_gru_overlay_config_mmr_u { | |||
| 1758 | unsigned long rsvd_56_62:7; | 2394 | unsigned long rsvd_56_62:7; |
| 1759 | unsigned long enable:1; /* RW */ | 2395 | unsigned long enable:1; /* RW */ |
| 1760 | } s1; | 2396 | } s1; |
| 2397 | struct uvxh_rh_gam_gru_overlay_config_mmr_s { | ||
| 2398 | unsigned long rsvd_0_27:28; | ||
| 2399 | unsigned long base:18; /* RW */ | ||
| 2400 | unsigned long rsvd_46_51:6; | ||
| 2401 | unsigned long n_gru:4; /* RW */ | ||
| 2402 | unsigned long rsvd_56_62:7; | ||
| 2403 | unsigned long enable:1; /* RW */ | ||
| 2404 | } sx; | ||
| 1761 | struct uv2h_rh_gam_gru_overlay_config_mmr_s { | 2405 | struct uv2h_rh_gam_gru_overlay_config_mmr_s { |
| 1762 | unsigned long rsvd_0_27:28; | 2406 | unsigned long rsvd_0_27:28; |
| 1763 | unsigned long base:18; /* RW */ | 2407 | unsigned long base:18; /* RW */ |
| @@ -1766,12 +2410,22 @@ union uvh_rh_gam_gru_overlay_config_mmr_u { | |||
| 1766 | unsigned long rsvd_56_62:7; | 2410 | unsigned long rsvd_56_62:7; |
| 1767 | unsigned long enable:1; /* RW */ | 2411 | unsigned long enable:1; /* RW */ |
| 1768 | } s2; | 2412 | } s2; |
| 2413 | struct uv3h_rh_gam_gru_overlay_config_mmr_s { | ||
| 2414 | unsigned long rsvd_0_27:28; | ||
| 2415 | unsigned long base:18; /* RW */ | ||
| 2416 | unsigned long rsvd_46_51:6; | ||
| 2417 | unsigned long n_gru:4; /* RW */ | ||
| 2418 | unsigned long rsvd_56_61:6; | ||
| 2419 | unsigned long mode:1; /* RW */ | ||
| 2420 | unsigned long enable:1; /* RW */ | ||
| 2421 | } s3; | ||
| 1769 | }; | 2422 | }; |
| 1770 | 2423 | ||
| 1771 | /* ========================================================================= */ | 2424 | /* ========================================================================= */ |
| 1772 | /* UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR */ | 2425 | /* UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR */ |
| 1773 | /* ========================================================================= */ | 2426 | /* ========================================================================= */ |
| 1774 | #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL | 2427 | #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL |
| 2428 | #define UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL | ||
| 1775 | 2429 | ||
| 1776 | #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT 30 | 2430 | #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT 30 |
| 1777 | #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_SHFT 46 | 2431 | #define UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_SHFT 46 |
| @@ -1814,10 +2468,15 @@ union uvh_rh_gam_mmioh_overlay_config_mmr_u { | |||
| 1814 | /* ========================================================================= */ | 2468 | /* ========================================================================= */ |
| 1815 | /* UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR */ | 2469 | /* UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR */ |
| 1816 | /* ========================================================================= */ | 2470 | /* ========================================================================= */ |
| 1817 | #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL | 2471 | #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL |
| 2472 | #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL | ||
| 2473 | #define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL | ||
| 2474 | #define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL | ||
| 1818 | 2475 | ||
| 1819 | #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26 | 2476 | #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26 |
| 2477 | #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 | ||
| 1820 | #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL | 2478 | #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL |
| 2479 | #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL | ||
| 1821 | 2480 | ||
| 1822 | #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26 | 2481 | #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26 |
| 1823 | #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_SHFT 46 | 2482 | #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_SHFT 46 |
| @@ -1826,11 +2485,21 @@ union uvh_rh_gam_mmioh_overlay_config_mmr_u { | |||
| 1826 | #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_MASK 0x0000400000000000UL | 2485 | #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_MASK 0x0000400000000000UL |
| 1827 | #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL | 2486 | #define UV1H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL |
| 1828 | 2487 | ||
| 2488 | #define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26 | ||
| 2489 | #define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 | ||
| 2490 | #define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL | ||
| 2491 | #define UVXH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL | ||
| 2492 | |||
| 1829 | #define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26 | 2493 | #define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26 |
| 1830 | #define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 | 2494 | #define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 |
| 1831 | #define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL | 2495 | #define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL |
| 1832 | #define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL | 2496 | #define UV2H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL |
| 1833 | 2497 | ||
| 2498 | #define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26 | ||
| 2499 | #define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 | ||
| 2500 | #define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL | ||
| 2501 | #define UV3H_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL | ||
| 2502 | |||
| 1834 | union uvh_rh_gam_mmr_overlay_config_mmr_u { | 2503 | union uvh_rh_gam_mmr_overlay_config_mmr_u { |
| 1835 | unsigned long v; | 2504 | unsigned long v; |
| 1836 | struct uvh_rh_gam_mmr_overlay_config_mmr_s { | 2505 | struct uvh_rh_gam_mmr_overlay_config_mmr_s { |
| @@ -1846,18 +2515,30 @@ union uvh_rh_gam_mmr_overlay_config_mmr_u { | |||
| 1846 | unsigned long rsvd_47_62:16; | 2515 | unsigned long rsvd_47_62:16; |
| 1847 | unsigned long enable:1; /* RW */ | 2516 | unsigned long enable:1; /* RW */ |
| 1848 | } s1; | 2517 | } s1; |
| 2518 | struct uvxh_rh_gam_mmr_overlay_config_mmr_s { | ||
| 2519 | unsigned long rsvd_0_25:26; | ||
| 2520 | unsigned long base:20; /* RW */ | ||
| 2521 | unsigned long rsvd_46_62:17; | ||
| 2522 | unsigned long enable:1; /* RW */ | ||
| 2523 | } sx; | ||
| 1849 | struct uv2h_rh_gam_mmr_overlay_config_mmr_s { | 2524 | struct uv2h_rh_gam_mmr_overlay_config_mmr_s { |
| 1850 | unsigned long rsvd_0_25:26; | 2525 | unsigned long rsvd_0_25:26; |
| 1851 | unsigned long base:20; /* RW */ | 2526 | unsigned long base:20; /* RW */ |
| 1852 | unsigned long rsvd_46_62:17; | 2527 | unsigned long rsvd_46_62:17; |
| 1853 | unsigned long enable:1; /* RW */ | 2528 | unsigned long enable:1; /* RW */ |
| 1854 | } s2; | 2529 | } s2; |
| 2530 | struct uv3h_rh_gam_mmr_overlay_config_mmr_s { | ||
| 2531 | unsigned long rsvd_0_25:26; | ||
| 2532 | unsigned long base:20; /* RW */ | ||
| 2533 | unsigned long rsvd_46_62:17; | ||
| 2534 | unsigned long enable:1; /* RW */ | ||
| 2535 | } s3; | ||
| 1855 | }; | 2536 | }; |
| 1856 | 2537 | ||
| 1857 | /* ========================================================================= */ | 2538 | /* ========================================================================= */ |
| 1858 | /* UVH_RTC */ | 2539 | /* UVH_RTC */ |
| 1859 | /* ========================================================================= */ | 2540 | /* ========================================================================= */ |
| 1860 | #define UVH_RTC 0x340000UL | 2541 | #define UVH_RTC 0x340000UL |
| 1861 | 2542 | ||
| 1862 | #define UVH_RTC_REAL_TIME_CLOCK_SHFT 0 | 2543 | #define UVH_RTC_REAL_TIME_CLOCK_SHFT 0 |
| 1863 | #define UVH_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL | 2544 | #define UVH_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL |
| @@ -1873,7 +2554,7 @@ union uvh_rtc_u { | |||
| 1873 | /* ========================================================================= */ | 2554 | /* ========================================================================= */ |
| 1874 | /* UVH_RTC1_INT_CONFIG */ | 2555 | /* UVH_RTC1_INT_CONFIG */ |
| 1875 | /* ========================================================================= */ | 2556 | /* ========================================================================= */ |
| 1876 | #define UVH_RTC1_INT_CONFIG 0x615c0UL | 2557 | #define UVH_RTC1_INT_CONFIG 0x615c0UL |
| 1877 | 2558 | ||
| 1878 | #define UVH_RTC1_INT_CONFIG_VECTOR_SHFT 0 | 2559 | #define UVH_RTC1_INT_CONFIG_VECTOR_SHFT 0 |
| 1879 | #define UVH_RTC1_INT_CONFIG_DM_SHFT 8 | 2560 | #define UVH_RTC1_INT_CONFIG_DM_SHFT 8 |
| @@ -1911,8 +2592,8 @@ union uvh_rtc1_int_config_u { | |||
| 1911 | /* ========================================================================= */ | 2592 | /* ========================================================================= */ |
| 1912 | /* UVH_SCRATCH5 */ | 2593 | /* UVH_SCRATCH5 */ |
| 1913 | /* ========================================================================= */ | 2594 | /* ========================================================================= */ |
| 1914 | #define UVH_SCRATCH5 0x2d0200UL | 2595 | #define UVH_SCRATCH5 0x2d0200UL |
| 1915 | #define UVH_SCRATCH5_32 0x778 | 2596 | #define UVH_SCRATCH5_32 0x778 |
| 1916 | 2597 | ||
| 1917 | #define UVH_SCRATCH5_SCRATCH5_SHFT 0 | 2598 | #define UVH_SCRATCH5_SCRATCH5_SHFT 0 |
| 1918 | #define UVH_SCRATCH5_SCRATCH5_MASK 0xffffffffffffffffUL | 2599 | #define UVH_SCRATCH5_SCRATCH5_MASK 0xffffffffffffffffUL |
| @@ -1925,79 +2606,79 @@ union uvh_scratch5_u { | |||
| 1925 | }; | 2606 | }; |
| 1926 | 2607 | ||
| 1927 | /* ========================================================================= */ | 2608 | /* ========================================================================= */ |
| 1928 | /* UV2H_EVENT_OCCURRED2 */ | 2609 | /* UVXH_EVENT_OCCURRED2 */ |
| 1929 | /* ========================================================================= */ | 2610 | /* ========================================================================= */ |
| 1930 | #define UV2H_EVENT_OCCURRED2 0x70100UL | 2611 | #define UVXH_EVENT_OCCURRED2 0x70100UL |
| 1931 | #define UV2H_EVENT_OCCURRED2_32 0xb68 | 2612 | #define UVXH_EVENT_OCCURRED2_32 0xb68 |
| 1932 | 2613 | ||
| 1933 | #define UV2H_EVENT_OCCURRED2_RTC_0_SHFT 0 | 2614 | #define UVXH_EVENT_OCCURRED2_RTC_0_SHFT 0 |
| 1934 | #define UV2H_EVENT_OCCURRED2_RTC_1_SHFT 1 | 2615 | #define UVXH_EVENT_OCCURRED2_RTC_1_SHFT 1 |
| 1935 | #define UV2H_EVENT_OCCURRED2_RTC_2_SHFT 2 | 2616 | #define UVXH_EVENT_OCCURRED2_RTC_2_SHFT 2 |
| 1936 | #define UV2H_EVENT_OCCURRED2_RTC_3_SHFT 3 | 2617 | #define UVXH_EVENT_OCCURRED2_RTC_3_SHFT 3 |
| 1937 | #define UV2H_EVENT_OCCURRED2_RTC_4_SHFT 4 | 2618 | #define UVXH_EVENT_OCCURRED2_RTC_4_SHFT 4 |
| 1938 | #define UV2H_EVENT_OCCURRED2_RTC_5_SHFT 5 | 2619 | #define UVXH_EVENT_OCCURRED2_RTC_5_SHFT 5 |
| 1939 | #define UV2H_EVENT_OCCURRED2_RTC_6_SHFT 6 | 2620 | #define UVXH_EVENT_OCCURRED2_RTC_6_SHFT 6 |
| 1940 | #define UV2H_EVENT_OCCURRED2_RTC_7_SHFT 7 | 2621 | #define UVXH_EVENT_OCCURRED2_RTC_7_SHFT 7 |
| 1941 | #define UV2H_EVENT_OCCURRED2_RTC_8_SHFT 8 | 2622 | #define UVXH_EVENT_OCCURRED2_RTC_8_SHFT 8 |
| 1942 | #define UV2H_EVENT_OCCURRED2_RTC_9_SHFT 9 | 2623 | #define UVXH_EVENT_OCCURRED2_RTC_9_SHFT 9 |
| 1943 | #define UV2H_EVENT_OCCURRED2_RTC_10_SHFT 10 | 2624 | #define UVXH_EVENT_OCCURRED2_RTC_10_SHFT 10 |
| 1944 | #define UV2H_EVENT_OCCURRED2_RTC_11_SHFT 11 | 2625 | #define UVXH_EVENT_OCCURRED2_RTC_11_SHFT 11 |
| 1945 | #define UV2H_EVENT_OCCURRED2_RTC_12_SHFT 12 | 2626 | #define UVXH_EVENT_OCCURRED2_RTC_12_SHFT 12 |
| 1946 | #define UV2H_EVENT_OCCURRED2_RTC_13_SHFT 13 | 2627 | #define UVXH_EVENT_OCCURRED2_RTC_13_SHFT 13 |
| 1947 | #define UV2H_EVENT_OCCURRED2_RTC_14_SHFT 14 | 2628 | #define UVXH_EVENT_OCCURRED2_RTC_14_SHFT 14 |
| 1948 | #define UV2H_EVENT_OCCURRED2_RTC_15_SHFT 15 | 2629 | #define UVXH_EVENT_OCCURRED2_RTC_15_SHFT 15 |
| 1949 | #define UV2H_EVENT_OCCURRED2_RTC_16_SHFT 16 | 2630 | #define UVXH_EVENT_OCCURRED2_RTC_16_SHFT 16 |
| 1950 | #define UV2H_EVENT_OCCURRED2_RTC_17_SHFT 17 | 2631 | #define UVXH_EVENT_OCCURRED2_RTC_17_SHFT 17 |
| 1951 | #define UV2H_EVENT_OCCURRED2_RTC_18_SHFT 18 | 2632 | #define UVXH_EVENT_OCCURRED2_RTC_18_SHFT 18 |
| 1952 | #define UV2H_EVENT_OCCURRED2_RTC_19_SHFT 19 | 2633 | #define UVXH_EVENT_OCCURRED2_RTC_19_SHFT 19 |
| 1953 | #define UV2H_EVENT_OCCURRED2_RTC_20_SHFT 20 | 2634 | #define UVXH_EVENT_OCCURRED2_RTC_20_SHFT 20 |
| 1954 | #define UV2H_EVENT_OCCURRED2_RTC_21_SHFT 21 | 2635 | #define UVXH_EVENT_OCCURRED2_RTC_21_SHFT 21 |
| 1955 | #define UV2H_EVENT_OCCURRED2_RTC_22_SHFT 22 | 2636 | #define UVXH_EVENT_OCCURRED2_RTC_22_SHFT 22 |
| 1956 | #define UV2H_EVENT_OCCURRED2_RTC_23_SHFT 23 | 2637 | #define UVXH_EVENT_OCCURRED2_RTC_23_SHFT 23 |
| 1957 | #define UV2H_EVENT_OCCURRED2_RTC_24_SHFT 24 | 2638 | #define UVXH_EVENT_OCCURRED2_RTC_24_SHFT 24 |
| 1958 | #define UV2H_EVENT_OCCURRED2_RTC_25_SHFT 25 | 2639 | #define UVXH_EVENT_OCCURRED2_RTC_25_SHFT 25 |
| 1959 | #define UV2H_EVENT_OCCURRED2_RTC_26_SHFT 26 | 2640 | #define UVXH_EVENT_OCCURRED2_RTC_26_SHFT 26 |
| 1960 | #define UV2H_EVENT_OCCURRED2_RTC_27_SHFT 27 | 2641 | #define UVXH_EVENT_OCCURRED2_RTC_27_SHFT 27 |
| 1961 | #define UV2H_EVENT_OCCURRED2_RTC_28_SHFT 28 | 2642 | #define UVXH_EVENT_OCCURRED2_RTC_28_SHFT 28 |
| 1962 | #define UV2H_EVENT_OCCURRED2_RTC_29_SHFT 29 | 2643 | #define UVXH_EVENT_OCCURRED2_RTC_29_SHFT 29 |
| 1963 | #define UV2H_EVENT_OCCURRED2_RTC_30_SHFT 30 | 2644 | #define UVXH_EVENT_OCCURRED2_RTC_30_SHFT 30 |
| 1964 | #define UV2H_EVENT_OCCURRED2_RTC_31_SHFT 31 | 2645 | #define UVXH_EVENT_OCCURRED2_RTC_31_SHFT 31 |
| 1965 | #define UV2H_EVENT_OCCURRED2_RTC_0_MASK 0x0000000000000001UL | 2646 | #define UVXH_EVENT_OCCURRED2_RTC_0_MASK 0x0000000000000001UL |
| 1966 | #define UV2H_EVENT_OCCURRED2_RTC_1_MASK 0x0000000000000002UL | 2647 | #define UVXH_EVENT_OCCURRED2_RTC_1_MASK 0x0000000000000002UL |
| 1967 | #define UV2H_EVENT_OCCURRED2_RTC_2_MASK 0x0000000000000004UL | 2648 | #define UVXH_EVENT_OCCURRED2_RTC_2_MASK 0x0000000000000004UL |
| 1968 | #define UV2H_EVENT_OCCURRED2_RTC_3_MASK 0x0000000000000008UL | 2649 | #define UVXH_EVENT_OCCURRED2_RTC_3_MASK 0x0000000000000008UL |
| 1969 | #define UV2H_EVENT_OCCURRED2_RTC_4_MASK 0x0000000000000010UL | 2650 | #define UVXH_EVENT_OCCURRED2_RTC_4_MASK 0x0000000000000010UL |
| 1970 | #define UV2H_EVENT_OCCURRED2_RTC_5_MASK 0x0000000000000020UL | 2651 | #define UVXH_EVENT_OCCURRED2_RTC_5_MASK 0x0000000000000020UL |
| 1971 | #define UV2H_EVENT_OCCURRED2_RTC_6_MASK 0x0000000000000040UL | 2652 | #define UVXH_EVENT_OCCURRED2_RTC_6_MASK 0x0000000000000040UL |
| 1972 | #define UV2H_EVENT_OCCURRED2_RTC_7_MASK 0x0000000000000080UL | 2653 | #define UVXH_EVENT_OCCURRED2_RTC_7_MASK 0x0000000000000080UL |
| 1973 | #define UV2H_EVENT_OCCURRED2_RTC_8_MASK 0x0000000000000100UL | 2654 | #define UVXH_EVENT_OCCURRED2_RTC_8_MASK 0x0000000000000100UL |
| 1974 | #define UV2H_EVENT_OCCURRED2_RTC_9_MASK 0x0000000000000200UL | 2655 | #define UVXH_EVENT_OCCURRED2_RTC_9_MASK 0x0000000000000200UL |
| 1975 | #define UV2H_EVENT_OCCURRED2_RTC_10_MASK 0x0000000000000400UL | 2656 | #define UVXH_EVENT_OCCURRED2_RTC_10_MASK 0x0000000000000400UL |
| 1976 | #define UV2H_EVENT_OCCURRED2_RTC_11_MASK 0x0000000000000800UL | 2657 | #define UVXH_EVENT_OCCURRED2_RTC_11_MASK 0x0000000000000800UL |
| 1977 | #define UV2H_EVENT_OCCURRED2_RTC_12_MASK 0x0000000000001000UL | 2658 | #define UVXH_EVENT_OCCURRED2_RTC_12_MASK 0x0000000000001000UL |
| 1978 | #define UV2H_EVENT_OCCURRED2_RTC_13_MASK 0x0000000000002000UL | 2659 | #define UVXH_EVENT_OCCURRED2_RTC_13_MASK 0x0000000000002000UL |
| 1979 | #define UV2H_EVENT_OCCURRED2_RTC_14_MASK 0x0000000000004000UL | 2660 | #define UVXH_EVENT_OCCURRED2_RTC_14_MASK 0x0000000000004000UL |
| 1980 | #define UV2H_EVENT_OCCURRED2_RTC_15_MASK 0x0000000000008000UL | 2661 | #define UVXH_EVENT_OCCURRED2_RTC_15_MASK 0x0000000000008000UL |
| 1981 | #define UV2H_EVENT_OCCURRED2_RTC_16_MASK 0x0000000000010000UL | 2662 | #define UVXH_EVENT_OCCURRED2_RTC_16_MASK 0x0000000000010000UL |
| 1982 | #define UV2H_EVENT_OCCURRED2_RTC_17_MASK 0x0000000000020000UL | 2663 | #define UVXH_EVENT_OCCURRED2_RTC_17_MASK 0x0000000000020000UL |
| 1983 | #define UV2H_EVENT_OCCURRED2_RTC_18_MASK 0x0000000000040000UL | 2664 | #define UVXH_EVENT_OCCURRED2_RTC_18_MASK 0x0000000000040000UL |
| 1984 | #define UV2H_EVENT_OCCURRED2_RTC_19_MASK 0x0000000000080000UL | 2665 | #define UVXH_EVENT_OCCURRED2_RTC_19_MASK 0x0000000000080000UL |
| 1985 | #define UV2H_EVENT_OCCURRED2_RTC_20_MASK 0x0000000000100000UL | 2666 | #define UVXH_EVENT_OCCURRED2_RTC_20_MASK 0x0000000000100000UL |
| 1986 | #define UV2H_EVENT_OCCURRED2_RTC_21_MASK 0x0000000000200000UL | 2667 | #define UVXH_EVENT_OCCURRED2_RTC_21_MASK 0x0000000000200000UL |
| 1987 | #define UV2H_EVENT_OCCURRED2_RTC_22_MASK 0x0000000000400000UL | 2668 | #define UVXH_EVENT_OCCURRED2_RTC_22_MASK 0x0000000000400000UL |
| 1988 | #define UV2H_EVENT_OCCURRED2_RTC_23_MASK 0x0000000000800000UL | 2669 | #define UVXH_EVENT_OCCURRED2_RTC_23_MASK 0x0000000000800000UL |
| 1989 | #define UV2H_EVENT_OCCURRED2_RTC_24_MASK 0x0000000001000000UL | 2670 | #define UVXH_EVENT_OCCURRED2_RTC_24_MASK 0x0000000001000000UL |
| 1990 | #define UV2H_EVENT_OCCURRED2_RTC_25_MASK 0x0000000002000000UL | 2671 | #define UVXH_EVENT_OCCURRED2_RTC_25_MASK 0x0000000002000000UL |
| 1991 | #define UV2H_EVENT_OCCURRED2_RTC_26_MASK 0x0000000004000000UL | 2672 | #define UVXH_EVENT_OCCURRED2_RTC_26_MASK 0x0000000004000000UL |
| 1992 | #define UV2H_EVENT_OCCURRED2_RTC_27_MASK 0x0000000008000000UL | 2673 | #define UVXH_EVENT_OCCURRED2_RTC_27_MASK 0x0000000008000000UL |
| 1993 | #define UV2H_EVENT_OCCURRED2_RTC_28_MASK 0x0000000010000000UL | 2674 | #define UVXH_EVENT_OCCURRED2_RTC_28_MASK 0x0000000010000000UL |
| 1994 | #define UV2H_EVENT_OCCURRED2_RTC_29_MASK 0x0000000020000000UL | 2675 | #define UVXH_EVENT_OCCURRED2_RTC_29_MASK 0x0000000020000000UL |
| 1995 | #define UV2H_EVENT_OCCURRED2_RTC_30_MASK 0x0000000040000000UL | 2676 | #define UVXH_EVENT_OCCURRED2_RTC_30_MASK 0x0000000040000000UL |
| 1996 | #define UV2H_EVENT_OCCURRED2_RTC_31_MASK 0x0000000080000000UL | 2677 | #define UVXH_EVENT_OCCURRED2_RTC_31_MASK 0x0000000080000000UL |
| 1997 | 2678 | ||
| 1998 | union uv2h_event_occurred2_u { | 2679 | union uvxh_event_occurred2_u { |
| 1999 | unsigned long v; | 2680 | unsigned long v; |
| 2000 | struct uv2h_event_occurred2_s { | 2681 | struct uvxh_event_occurred2_s { |
| 2001 | unsigned long rtc_0:1; /* RW */ | 2682 | unsigned long rtc_0:1; /* RW */ |
| 2002 | unsigned long rtc_1:1; /* RW */ | 2683 | unsigned long rtc_1:1; /* RW */ |
| 2003 | unsigned long rtc_2:1; /* RW */ | 2684 | unsigned long rtc_2:1; /* RW */ |
| @@ -2031,29 +2712,46 @@ union uv2h_event_occurred2_u { | |||
| 2031 | unsigned long rtc_30:1; /* RW */ | 2712 | unsigned long rtc_30:1; /* RW */ |
| 2032 | unsigned long rtc_31:1; /* RW */ | 2713 | unsigned long rtc_31:1; /* RW */ |
| 2033 | unsigned long rsvd_32_63:32; | 2714 | unsigned long rsvd_32_63:32; |
| 2034 | } s1; | 2715 | } sx; |
| 2035 | }; | 2716 | }; |
| 2036 | 2717 | ||
| 2037 | /* ========================================================================= */ | 2718 | /* ========================================================================= */ |
| 2038 | /* UV2H_EVENT_OCCURRED2_ALIAS */ | 2719 | /* UVXH_EVENT_OCCURRED2_ALIAS */ |
| 2039 | /* ========================================================================= */ | 2720 | /* ========================================================================= */ |
| 2040 | #define UV2H_EVENT_OCCURRED2_ALIAS 0x70108UL | 2721 | #define UVXH_EVENT_OCCURRED2_ALIAS 0x70108UL |
| 2041 | #define UV2H_EVENT_OCCURRED2_ALIAS_32 0xb70 | 2722 | #define UVXH_EVENT_OCCURRED2_ALIAS_32 0xb70 |
| 2723 | |||
| 2042 | 2724 | ||
| 2043 | /* ========================================================================= */ | 2725 | /* ========================================================================= */ |
| 2044 | /* UV2H_LB_BAU_SB_ACTIVATION_STATUS_2 */ | 2726 | /* UVXH_LB_BAU_SB_ACTIVATION_STATUS_2 */ |
| 2045 | /* ========================================================================= */ | 2727 | /* ========================================================================= */ |
| 2046 | #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL | 2728 | #define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL |
| 2047 | #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x9f0 | 2729 | #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL |
| 2730 | #define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2 0x320130UL | ||
| 2731 | #define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x9f0 | ||
| 2732 | #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x320130UL | ||
| 2733 | #define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_32 0x320130UL | ||
| 2734 | |||
| 2735 | #define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0 | ||
| 2736 | #define UVXH_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL | ||
| 2048 | 2737 | ||
| 2049 | #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0 | 2738 | #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0 |
| 2050 | #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL | 2739 | #define UV2H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL |
| 2051 | 2740 | ||
| 2052 | union uv2h_lb_bau_sb_activation_status_2_u { | 2741 | #define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_SHFT 0 |
| 2742 | #define UV3H_LB_BAU_SB_ACTIVATION_STATUS_2_AUX_ERROR_MASK 0xffffffffffffffffUL | ||
| 2743 | |||
| 2744 | union uvxh_lb_bau_sb_activation_status_2_u { | ||
| 2053 | unsigned long v; | 2745 | unsigned long v; |
| 2746 | struct uvxh_lb_bau_sb_activation_status_2_s { | ||
| 2747 | unsigned long aux_error:64; /* RW */ | ||
| 2748 | } sx; | ||
| 2054 | struct uv2h_lb_bau_sb_activation_status_2_s { | 2749 | struct uv2h_lb_bau_sb_activation_status_2_s { |
| 2055 | unsigned long aux_error:64; /* RW */ | 2750 | unsigned long aux_error:64; /* RW */ |
| 2056 | } s1; | 2751 | } s2; |
| 2752 | struct uv3h_lb_bau_sb_activation_status_2_s { | ||
| 2753 | unsigned long aux_error:64; /* RW */ | ||
| 2754 | } s3; | ||
| 2057 | }; | 2755 | }; |
| 2058 | 2756 | ||
| 2059 | /* ========================================================================= */ | 2757 | /* ========================================================================= */ |
| @@ -2073,5 +2771,87 @@ union uv1h_lb_target_physical_apic_id_mask_u { | |||
| 2073 | } s1; | 2771 | } s1; |
| 2074 | }; | 2772 | }; |
| 2075 | 2773 | ||
| 2774 | /* ========================================================================= */ | ||
| 2775 | /* UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR */ | ||
| 2776 | /* ========================================================================= */ | ||
| 2777 | #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR 0x1603000UL | ||
| 2778 | |||
| 2779 | #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_BASE_SHFT 26 | ||
| 2780 | #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_SHFT 46 | ||
| 2781 | #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_ENABLE_SHFT 63 | ||
| 2782 | #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_BASE_MASK 0x00003ffffc000000UL | ||
| 2783 | #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_M_IO_MASK 0x000fc00000000000UL | ||
| 2784 | #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_ENABLE_MASK 0x8000000000000000UL | ||
| 2785 | |||
| 2786 | union uv3h_rh_gam_mmioh_overlay_config0_mmr_u { | ||
| 2787 | unsigned long v; | ||
| 2788 | struct uv3h_rh_gam_mmioh_overlay_config0_mmr_s { | ||
| 2789 | unsigned long rsvd_0_25:26; | ||
| 2790 | unsigned long base:20; /* RW */ | ||
| 2791 | unsigned long m_io:6; /* RW */ | ||
| 2792 | unsigned long n_io:4; | ||
| 2793 | unsigned long rsvd_56_62:7; | ||
| 2794 | unsigned long enable:1; /* RW */ | ||
| 2795 | } s3; | ||
| 2796 | }; | ||
| 2797 | |||
| 2798 | /* ========================================================================= */ | ||
| 2799 | /* UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR */ | ||
| 2800 | /* ========================================================================= */ | ||
| 2801 | #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR 0x1604000UL | ||
| 2802 | |||
| 2803 | #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_BASE_SHFT 26 | ||
| 2804 | #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_SHFT 46 | ||
| 2805 | #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_ENABLE_SHFT 63 | ||
| 2806 | #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_BASE_MASK 0x00003ffffc000000UL | ||
| 2807 | #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_M_IO_MASK 0x000fc00000000000UL | ||
| 2808 | #define UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR_ENABLE_MASK 0x8000000000000000UL | ||
| 2809 | |||
| 2810 | union uv3h_rh_gam_mmioh_overlay_config1_mmr_u { | ||
| 2811 | unsigned long v; | ||
| 2812 | struct uv3h_rh_gam_mmioh_overlay_config1_mmr_s { | ||
| 2813 | unsigned long rsvd_0_25:26; | ||
| 2814 | unsigned long base:20; /* RW */ | ||
| 2815 | unsigned long m_io:6; /* RW */ | ||
| 2816 | unsigned long n_io:4; | ||
| 2817 | unsigned long rsvd_56_62:7; | ||
| 2818 | unsigned long enable:1; /* RW */ | ||
| 2819 | } s3; | ||
| 2820 | }; | ||
| 2821 | |||
| 2822 | /* ========================================================================= */ | ||
| 2823 | /* UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR */ | ||
| 2824 | /* ========================================================================= */ | ||
| 2825 | #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR 0x1603800UL | ||
| 2826 | #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_DEPTH 128 | ||
| 2827 | |||
| 2828 | #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_NASID_SHFT 0 | ||
| 2829 | #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_NASID_MASK 0x0000000000007fffUL | ||
| 2830 | |||
| 2831 | union uv3h_rh_gam_mmioh_redirect_config0_mmr_u { | ||
| 2832 | unsigned long v; | ||
| 2833 | struct uv3h_rh_gam_mmioh_redirect_config0_mmr_s { | ||
| 2834 | unsigned long nasid:15; /* RW */ | ||
| 2835 | unsigned long rsvd_15_63:49; | ||
| 2836 | } s3; | ||
| 2837 | }; | ||
| 2838 | |||
| 2839 | /* ========================================================================= */ | ||
| 2840 | /* UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR */ | ||
| 2841 | /* ========================================================================= */ | ||
| 2842 | #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR 0x1604800UL | ||
| 2843 | #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_DEPTH 128 | ||
| 2844 | |||
| 2845 | #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_NASID_SHFT 0 | ||
| 2846 | #define UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR_NASID_MASK 0x0000000000007fffUL | ||
| 2847 | |||
| 2848 | union uv3h_rh_gam_mmioh_redirect_config1_mmr_u { | ||
| 2849 | unsigned long v; | ||
| 2850 | struct uv3h_rh_gam_mmioh_redirect_config1_mmr_s { | ||
| 2851 | unsigned long nasid:15; /* RW */ | ||
| 2852 | unsigned long rsvd_15_63:49; | ||
| 2853 | } s3; | ||
| 2854 | }; | ||
| 2855 | |||
| 2076 | 2856 | ||
| 2077 | #endif /* _ASM_X86_UV_UV_MMRS_H */ | 2857 | #endif /* _ASM_X86_UV_UV_MMRS_H */ |
diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c index 8cfade9510a4..794f6eb54cd3 100644 --- a/arch/x86/kernel/apic/x2apic_uv_x.c +++ b/arch/x86/kernel/apic/x2apic_uv_x.c | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | * | 5 | * |
| 6 | * SGI UV APIC functions (note: not an Intel compatible APIC) | 6 | * SGI UV APIC functions (note: not an Intel compatible APIC) |
| 7 | * | 7 | * |
| 8 | * Copyright (C) 2007-2010 Silicon Graphics, Inc. All rights reserved. | 8 | * Copyright (C) 2007-2013 Silicon Graphics, Inc. All rights reserved. |
| 9 | */ | 9 | */ |
| 10 | #include <linux/cpumask.h> | 10 | #include <linux/cpumask.h> |
| 11 | #include <linux/hardirq.h> | 11 | #include <linux/hardirq.h> |
| @@ -91,10 +91,16 @@ static int __init early_get_pnodeid(void) | |||
| 91 | m_n_config.v = uv_early_read_mmr(UVH_RH_GAM_CONFIG_MMR); | 91 | m_n_config.v = uv_early_read_mmr(UVH_RH_GAM_CONFIG_MMR); |
| 92 | uv_min_hub_revision_id = node_id.s.revision; | 92 | uv_min_hub_revision_id = node_id.s.revision; |
| 93 | 93 | ||
| 94 | if (node_id.s.part_number == UV2_HUB_PART_NUMBER) | 94 | switch (node_id.s.part_number) { |
| 95 | uv_min_hub_revision_id += UV2_HUB_REVISION_BASE - 1; | 95 | case UV2_HUB_PART_NUMBER: |
| 96 | if (node_id.s.part_number == UV2_HUB_PART_NUMBER_X) | 96 | case UV2_HUB_PART_NUMBER_X: |
| 97 | uv_min_hub_revision_id += UV2_HUB_REVISION_BASE - 1; | 97 | uv_min_hub_revision_id += UV2_HUB_REVISION_BASE - 1; |
| 98 | break; | ||
| 99 | case UV3_HUB_PART_NUMBER: | ||
| 100 | case UV3_HUB_PART_NUMBER_X: | ||
| 101 | uv_min_hub_revision_id += UV3_HUB_REVISION_BASE - 1; | ||
| 102 | break; | ||
| 103 | } | ||
| 98 | 104 | ||
| 99 | uv_hub_info->hub_revision = uv_min_hub_revision_id; | 105 | uv_hub_info->hub_revision = uv_min_hub_revision_id; |
| 100 | pnode = (node_id.s.node_id >> 1) & ((1 << m_n_config.s.n_skt) - 1); | 106 | pnode = (node_id.s.node_id >> 1) & ((1 << m_n_config.s.n_skt) - 1); |
| @@ -130,13 +136,16 @@ static void __init uv_set_apicid_hibit(void) | |||
| 130 | 136 | ||
| 131 | static int __init uv_acpi_madt_oem_check(char *oem_id, char *oem_table_id) | 137 | static int __init uv_acpi_madt_oem_check(char *oem_id, char *oem_table_id) |
| 132 | { | 138 | { |
| 133 | int pnodeid, is_uv1, is_uv2; | 139 | int pnodeid, is_uv1, is_uv2, is_uv3; |
| 134 | 140 | ||
| 135 | is_uv1 = !strcmp(oem_id, "SGI"); | 141 | is_uv1 = !strcmp(oem_id, "SGI"); |
| 136 | is_uv2 = !strcmp(oem_id, "SGI2"); | 142 | is_uv2 = !strcmp(oem_id, "SGI2"); |
| 137 | if (is_uv1 || is_uv2) { | 143 | is_uv3 = !strncmp(oem_id, "SGI3", 4); /* there are varieties of UV3 */ |
| 144 | if (is_uv1 || is_uv2 || is_uv3) { | ||
| 138 | uv_hub_info->hub_revision = | 145 | uv_hub_info->hub_revision = |
| 139 | is_uv1 ? UV1_HUB_REVISION_BASE : UV2_HUB_REVISION_BASE; | 146 | (is_uv1 ? UV1_HUB_REVISION_BASE : |
| 147 | (is_uv2 ? UV2_HUB_REVISION_BASE : | ||
| 148 | UV3_HUB_REVISION_BASE)); | ||
| 140 | pnodeid = early_get_pnodeid(); | 149 | pnodeid = early_get_pnodeid(); |
| 141 | early_get_apic_pnode_shift(); | 150 | early_get_apic_pnode_shift(); |
| 142 | x86_platform.is_untracked_pat_range = uv_is_untracked_pat_range; | 151 | x86_platform.is_untracked_pat_range = uv_is_untracked_pat_range; |
| @@ -450,14 +459,17 @@ static __init void map_high(char *id, unsigned long base, int pshift, | |||
| 450 | 459 | ||
| 451 | paddr = base << pshift; | 460 | paddr = base << pshift; |
| 452 | bytes = (1UL << bshift) * (max_pnode + 1); | 461 | bytes = (1UL << bshift) * (max_pnode + 1); |
| 453 | printk(KERN_INFO "UV: Map %s_HI 0x%lx - 0x%lx\n", id, paddr, | 462 | if (!paddr) { |
| 454 | paddr + bytes); | 463 | pr_info("UV: Map %s_HI base address NULL\n", id); |
| 464 | return; | ||
| 465 | } | ||
| 466 | pr_info("UV: Map %s_HI 0x%lx - 0x%lx\n", id, paddr, paddr + bytes); | ||
| 455 | if (map_type == map_uc) | 467 | if (map_type == map_uc) |
| 456 | init_extra_mapping_uc(paddr, bytes); | 468 | init_extra_mapping_uc(paddr, bytes); |
| 457 | else | 469 | else |
| 458 | init_extra_mapping_wb(paddr, bytes); | 470 | init_extra_mapping_wb(paddr, bytes); |
| 459 | |||
| 460 | } | 471 | } |
| 472 | |||
| 461 | static __init void map_gru_high(int max_pnode) | 473 | static __init void map_gru_high(int max_pnode) |
| 462 | { | 474 | { |
| 463 | union uvh_rh_gam_gru_overlay_config_mmr_u gru; | 475 | union uvh_rh_gam_gru_overlay_config_mmr_u gru; |
| @@ -468,7 +480,8 @@ static __init void map_gru_high(int max_pnode) | |||
| 468 | map_high("GRU", gru.s.base, shift, shift, max_pnode, map_wb); | 480 | map_high("GRU", gru.s.base, shift, shift, max_pnode, map_wb); |
| 469 | gru_start_paddr = ((u64)gru.s.base << shift); | 481 | gru_start_paddr = ((u64)gru.s.base << shift); |
| 470 | gru_end_paddr = gru_start_paddr + (1UL << shift) * (max_pnode + 1); | 482 | gru_end_paddr = gru_start_paddr + (1UL << shift) * (max_pnode + 1); |
| 471 | 483 | } else { | |
| 484 | pr_info("UV: GRU disabled\n"); | ||
| 472 | } | 485 | } |
| 473 | } | 486 | } |
| 474 | 487 | ||
| @@ -480,23 +493,146 @@ static __init void map_mmr_high(int max_pnode) | |||
| 480 | mmr.v = uv_read_local_mmr(UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR); | 493 | mmr.v = uv_read_local_mmr(UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR); |
| 481 | if (mmr.s.enable) | 494 | if (mmr.s.enable) |
| 482 | map_high("MMR", mmr.s.base, shift, shift, max_pnode, map_uc); | 495 | map_high("MMR", mmr.s.base, shift, shift, max_pnode, map_uc); |
| 496 | else | ||
| 497 | pr_info("UV: MMR disabled\n"); | ||
| 498 | } | ||
| 499 | |||
| 500 | /* | ||
| 501 | * This commonality works because both 0 & 1 versions of the MMIOH OVERLAY | ||
| 502 | * and REDIRECT MMR regs are exactly the same on UV3. | ||
| 503 | */ | ||
| 504 | struct mmioh_config { | ||
| 505 | unsigned long overlay; | ||
| 506 | unsigned long redirect; | ||
| 507 | char *id; | ||
| 508 | }; | ||
| 509 | |||
| 510 | static __initdata struct mmioh_config mmiohs[] = { | ||
| 511 | { | ||
| 512 | UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR, | ||
| 513 | UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR, | ||
| 514 | "MMIOH0" | ||
| 515 | }, | ||
| 516 | { | ||
| 517 | UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG1_MMR, | ||
| 518 | UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_MMR, | ||
| 519 | "MMIOH1" | ||
| 520 | }, | ||
| 521 | }; | ||
| 522 | |||
| 523 | static __init void map_mmioh_high_uv3(int index, int min_pnode, int max_pnode) | ||
| 524 | { | ||
| 525 | union uv3h_rh_gam_mmioh_overlay_config0_mmr_u overlay; | ||
| 526 | unsigned long mmr; | ||
| 527 | unsigned long base; | ||
| 528 | int i, n, shift, m_io, max_io; | ||
| 529 | int nasid, lnasid, fi, li; | ||
| 530 | char *id; | ||
| 531 | |||
| 532 | id = mmiohs[index].id; | ||
| 533 | overlay.v = uv_read_local_mmr(mmiohs[index].overlay); | ||
| 534 | pr_info("UV: %s overlay 0x%lx base:0x%x m_io:%d\n", | ||
| 535 | id, overlay.v, overlay.s3.base, overlay.s3.m_io); | ||
| 536 | if (!overlay.s3.enable) { | ||
| 537 | pr_info("UV: %s disabled\n", id); | ||
| 538 | return; | ||
| 539 | } | ||
| 540 | |||
| 541 | shift = UV3H_RH_GAM_MMIOH_OVERLAY_CONFIG0_MMR_BASE_SHFT; | ||
| 542 | base = (unsigned long)overlay.s3.base; | ||
| 543 | m_io = overlay.s3.m_io; | ||
| 544 | mmr = mmiohs[index].redirect; | ||
| 545 | n = UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_MMR_DEPTH; | ||
| 546 | min_pnode *= 2; /* convert to NASID */ | ||
| 547 | max_pnode *= 2; | ||
| 548 | max_io = lnasid = fi = li = -1; | ||
| 549 | |||
| 550 | for (i = 0; i < n; i++) { | ||
| 551 | union uv3h_rh_gam_mmioh_redirect_config0_mmr_u redirect; | ||
| 552 | |||
| 553 | redirect.v = uv_read_local_mmr(mmr + i * 8); | ||
| 554 | nasid = redirect.s3.nasid; | ||
| 555 | if (nasid < min_pnode || max_pnode < nasid) | ||
| 556 | nasid = -1; /* invalid NASID */ | ||
| 557 | |||
| 558 | if (nasid == lnasid) { | ||
| 559 | li = i; | ||
| 560 | if (i != n-1) /* last entry check */ | ||
| 561 | continue; | ||
| 562 | } | ||
| 563 | |||
| 564 | /* check if we have a cached (or last) redirect to print */ | ||
| 565 | if (lnasid != -1 || (i == n-1 && nasid != -1)) { | ||
| 566 | unsigned long addr1, addr2; | ||
| 567 | int f, l; | ||
| 568 | |||
| 569 | if (lnasid == -1) { | ||
| 570 | f = l = i; | ||
| 571 | lnasid = nasid; | ||
| 572 | } else { | ||
| 573 | f = fi; | ||
| 574 | l = li; | ||
| 575 | } | ||
| 576 | addr1 = (base << shift) + | ||
| 577 | f * (unsigned long)(1 << m_io); | ||
| 578 | addr2 = (base << shift) + | ||
| 579 | (l + 1) * (unsigned long)(1 << m_io); | ||
| 580 | pr_info("UV: %s[%03d..%03d] NASID 0x%04x ADDR 0x%016lx - 0x%016lx\n", | ||
| 581 | id, fi, li, lnasid, addr1, addr2); | ||
| 582 | if (max_io < l) | ||
| 583 | max_io = l; | ||
| 584 | } | ||
| 585 | fi = li = i; | ||
| 586 | lnasid = nasid; | ||
| 587 | } | ||
| 588 | |||
| 589 | pr_info("UV: %s base:0x%lx shift:%d M_IO:%d MAX_IO:%d\n", | ||
| 590 | id, base, shift, m_io, max_io); | ||
| 591 | |||
| 592 | if (max_io >= 0) | ||
| 593 | map_high(id, base, shift, m_io, max_io, map_uc); | ||
| 483 | } | 594 | } |
| 484 | 595 | ||
| 485 | static __init void map_mmioh_high(int max_pnode) | 596 | static __init void map_mmioh_high(int min_pnode, int max_pnode) |
| 486 | { | 597 | { |
| 487 | union uvh_rh_gam_mmioh_overlay_config_mmr_u mmioh; | 598 | union uvh_rh_gam_mmioh_overlay_config_mmr_u mmioh; |
| 488 | int shift; | 599 | unsigned long mmr, base; |
| 600 | int shift, enable, m_io, n_io; | ||
| 489 | 601 | ||
| 490 | mmioh.v = uv_read_local_mmr(UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR); | 602 | if (is_uv3_hub()) { |
| 491 | if (is_uv1_hub() && mmioh.s1.enable) { | 603 | /* Map both MMIOH Regions */ |
| 492 | shift = UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT; | 604 | map_mmioh_high_uv3(0, min_pnode, max_pnode); |
| 493 | map_high("MMIOH", mmioh.s1.base, shift, mmioh.s1.m_io, | 605 | map_mmioh_high_uv3(1, min_pnode, max_pnode); |
| 494 | max_pnode, map_uc); | 606 | return; |
| 495 | } | 607 | } |
| 496 | if (is_uv2_hub() && mmioh.s2.enable) { | 608 | |
| 609 | if (is_uv1_hub()) { | ||
| 610 | mmr = UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR; | ||
| 611 | shift = UV1H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT; | ||
| 612 | mmioh.v = uv_read_local_mmr(mmr); | ||
| 613 | enable = !!mmioh.s1.enable; | ||
| 614 | base = mmioh.s1.base; | ||
| 615 | m_io = mmioh.s1.m_io; | ||
| 616 | n_io = mmioh.s1.n_io; | ||
| 617 | } else if (is_uv2_hub()) { | ||
| 618 | mmr = UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR; | ||
| 497 | shift = UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT; | 619 | shift = UV2H_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT; |
| 498 | map_high("MMIOH", mmioh.s2.base, shift, mmioh.s2.m_io, | 620 | mmioh.v = uv_read_local_mmr(mmr); |
| 499 | max_pnode, map_uc); | 621 | enable = !!mmioh.s2.enable; |
| 622 | base = mmioh.s2.base; | ||
| 623 | m_io = mmioh.s2.m_io; | ||
| 624 | n_io = mmioh.s2.n_io; | ||
| 625 | } else | ||
| 626 | return; | ||
| 627 | |||
| 628 | if (enable) { | ||
| 629 | max_pnode &= (1 << n_io) - 1; | ||
| 630 | pr_info( | ||
| 631 | "UV: base:0x%lx shift:%d N_IO:%d M_IO:%d max_pnode:0x%x\n", | ||
| 632 | base, shift, m_io, n_io, max_pnode); | ||
| 633 | map_high("MMIOH", base, shift, m_io, max_pnode, map_uc); | ||
| 634 | } else { | ||
| 635 | pr_info("UV: MMIOH disabled\n"); | ||
| 500 | } | 636 | } |
| 501 | } | 637 | } |
| 502 | 638 | ||
| @@ -724,42 +860,41 @@ void uv_nmi_init(void) | |||
| 724 | void __init uv_system_init(void) | 860 | void __init uv_system_init(void) |
| 725 | { | 861 | { |
| 726 | union uvh_rh_gam_config_mmr_u m_n_config; | 862 | union uvh_rh_gam_config_mmr_u m_n_config; |
| 727 | union uvh_rh_gam_mmioh_overlay_config_mmr_u mmioh; | ||
| 728 | union uvh_node_id_u node_id; | 863 | union uvh_node_id_u node_id; |
| 729 | unsigned long gnode_upper, lowmem_redir_base, lowmem_redir_size; | 864 | unsigned long gnode_upper, lowmem_redir_base, lowmem_redir_size; |
| 730 | int bytes, nid, cpu, lcpu, pnode, blade, i, j, m_val, n_val, n_io; | 865 | int bytes, nid, cpu, lcpu, pnode, blade, i, j, m_val, n_val; |
| 731 | int gnode_extra, max_pnode = 0; | 866 | int gnode_extra, min_pnode = 999999, max_pnode = -1; |
| 732 | unsigned long mmr_base, present, paddr; | 867 | unsigned long mmr_base, present, paddr; |
| 733 | unsigned short pnode_mask, pnode_io_mask; | 868 | unsigned short pnode_mask; |
| 869 | char *hub = (is_uv1_hub() ? "UV1" : | ||
| 870 | (is_uv2_hub() ? "UV2" : | ||
| 871 | "UV3")); | ||
| 734 | 872 | ||
| 735 | printk(KERN_INFO "UV: Found %s hub\n", is_uv1_hub() ? "UV1" : "UV2"); | 873 | pr_info("UV: Found %s hub\n", hub); |
| 736 | map_low_mmrs(); | 874 | map_low_mmrs(); |
| 737 | 875 | ||
| 738 | m_n_config.v = uv_read_local_mmr(UVH_RH_GAM_CONFIG_MMR ); | 876 | m_n_config.v = uv_read_local_mmr(UVH_RH_GAM_CONFIG_MMR ); |
| 739 | m_val = m_n_config.s.m_skt; | 877 | m_val = m_n_config.s.m_skt; |
| 740 | n_val = m_n_config.s.n_skt; | 878 | n_val = m_n_config.s.n_skt; |
| 741 | mmioh.v = uv_read_local_mmr(UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR); | 879 | pnode_mask = (1 << n_val) - 1; |
| 742 | n_io = is_uv1_hub() ? mmioh.s1.n_io : mmioh.s2.n_io; | ||
| 743 | mmr_base = | 880 | mmr_base = |
| 744 | uv_read_local_mmr(UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR) & | 881 | uv_read_local_mmr(UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR) & |
| 745 | ~UV_MMR_ENABLE; | 882 | ~UV_MMR_ENABLE; |
| 746 | pnode_mask = (1 << n_val) - 1; | ||
| 747 | pnode_io_mask = (1 << n_io) - 1; | ||
| 748 | 883 | ||
| 749 | node_id.v = uv_read_local_mmr(UVH_NODE_ID); | 884 | node_id.v = uv_read_local_mmr(UVH_NODE_ID); |
| 750 | gnode_extra = (node_id.s.node_id & ~((1 << n_val) - 1)) >> 1; | 885 | gnode_extra = (node_id.s.node_id & ~((1 << n_val) - 1)) >> 1; |
| 751 | gnode_upper = ((unsigned long)gnode_extra << m_val); | 886 | gnode_upper = ((unsigned long)gnode_extra << m_val); |
| 752 | printk(KERN_INFO "UV: N %d, M %d, N_IO: %d, gnode_upper 0x%lx, gnode_extra 0x%x, pnode_mask 0x%x, pnode_io_mask 0x%x\n", | 887 | pr_info("UV: N:%d M:%d pnode_mask:0x%x gnode_upper/extra:0x%lx/0x%x\n", |
| 753 | n_val, m_val, n_io, gnode_upper, gnode_extra, pnode_mask, pnode_io_mask); | 888 | n_val, m_val, pnode_mask, gnode_upper, gnode_extra); |
| 754 | 889 | ||
| 755 | printk(KERN_DEBUG "UV: global MMR base 0x%lx\n", mmr_base); | 890 | pr_info("UV: global MMR base 0x%lx\n", mmr_base); |
| 756 | 891 | ||
| 757 | for(i = 0; i < UVH_NODE_PRESENT_TABLE_DEPTH; i++) | 892 | for(i = 0; i < UVH_NODE_PRESENT_TABLE_DEPTH; i++) |
| 758 | uv_possible_blades += | 893 | uv_possible_blades += |
| 759 | hweight64(uv_read_local_mmr( UVH_NODE_PRESENT_TABLE + i * 8)); | 894 | hweight64(uv_read_local_mmr( UVH_NODE_PRESENT_TABLE + i * 8)); |
| 760 | 895 | ||
| 761 | /* uv_num_possible_blades() is really the hub count */ | 896 | /* uv_num_possible_blades() is really the hub count */ |
| 762 | printk(KERN_INFO "UV: Found %d blades, %d hubs\n", | 897 | pr_info("UV: Found %d blades, %d hubs\n", |
| 763 | is_uv1_hub() ? uv_num_possible_blades() : | 898 | is_uv1_hub() ? uv_num_possible_blades() : |
| 764 | (uv_num_possible_blades() + 1) / 2, | 899 | (uv_num_possible_blades() + 1) / 2, |
| 765 | uv_num_possible_blades()); | 900 | uv_num_possible_blades()); |
| @@ -794,6 +929,7 @@ void __init uv_system_init(void) | |||
| 794 | uv_blade_info[blade].nr_possible_cpus = 0; | 929 | uv_blade_info[blade].nr_possible_cpus = 0; |
| 795 | uv_blade_info[blade].nr_online_cpus = 0; | 930 | uv_blade_info[blade].nr_online_cpus = 0; |
| 796 | spin_lock_init(&uv_blade_info[blade].nmi_lock); | 931 | spin_lock_init(&uv_blade_info[blade].nmi_lock); |
| 932 | min_pnode = min(pnode, min_pnode); | ||
| 797 | max_pnode = max(pnode, max_pnode); | 933 | max_pnode = max(pnode, max_pnode); |
| 798 | blade++; | 934 | blade++; |
| 799 | } | 935 | } |
| @@ -856,7 +992,7 @@ void __init uv_system_init(void) | |||
| 856 | 992 | ||
| 857 | map_gru_high(max_pnode); | 993 | map_gru_high(max_pnode); |
| 858 | map_mmr_high(max_pnode); | 994 | map_mmr_high(max_pnode); |
| 859 | map_mmioh_high(max_pnode & pnode_io_mask); | 995 | map_mmioh_high(min_pnode, max_pnode); |
| 860 | 996 | ||
| 861 | uv_cpu_init(); | 997 | uv_cpu_init(); |
| 862 | uv_scir_register_cpu_notifier(); | 998 | uv_scir_register_cpu_notifier(); |
diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c index fb29968a7cd5..082e88129712 100644 --- a/arch/x86/pci/mmconfig-shared.c +++ b/arch/x86/pci/mmconfig-shared.c | |||
| @@ -548,8 +548,7 @@ static int __init acpi_mcfg_check_entry(struct acpi_table_mcfg *mcfg, | |||
| 548 | if (cfg->address < 0xFFFFFFFF) | 548 | if (cfg->address < 0xFFFFFFFF) |
| 549 | return 0; | 549 | return 0; |
| 550 | 550 | ||
| 551 | if (!strcmp(mcfg->header.oem_id, "SGI") || | 551 | if (!strncmp(mcfg->header.oem_id, "SGI", 3)) |
| 552 | !strcmp(mcfg->header.oem_id, "SGI2")) | ||
| 553 | return 0; | 552 | return 0; |
| 554 | 553 | ||
| 555 | if (mcfg->header.revision >= 1) { | 554 | if (mcfg->header.revision >= 1) { |
diff --git a/arch/x86/platform/uv/uv_time.c b/arch/x86/platform/uv/uv_time.c index 5032e0d19b86..98718f604eb6 100644 --- a/arch/x86/platform/uv/uv_time.c +++ b/arch/x86/platform/uv/uv_time.c | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | * along with this program; if not, write to the Free Software | 15 | * along with this program; if not, write to the Free Software |
| 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 17 | * | 17 | * |
| 18 | * Copyright (c) 2009 Silicon Graphics, Inc. All Rights Reserved. | 18 | * Copyright (c) 2009-2013 Silicon Graphics, Inc. All Rights Reserved. |
| 19 | * Copyright (c) Dimitri Sivanich | 19 | * Copyright (c) Dimitri Sivanich |
| 20 | */ | 20 | */ |
| 21 | #include <linux/clockchips.h> | 21 | #include <linux/clockchips.h> |
| @@ -102,9 +102,10 @@ static int uv_intr_pending(int pnode) | |||
| 102 | if (is_uv1_hub()) | 102 | if (is_uv1_hub()) |
| 103 | return uv_read_global_mmr64(pnode, UVH_EVENT_OCCURRED0) & | 103 | return uv_read_global_mmr64(pnode, UVH_EVENT_OCCURRED0) & |
| 104 | UV1H_EVENT_OCCURRED0_RTC1_MASK; | 104 | UV1H_EVENT_OCCURRED0_RTC1_MASK; |
| 105 | else | 105 | else if (is_uvx_hub()) |
| 106 | return uv_read_global_mmr64(pnode, UV2H_EVENT_OCCURRED2) & | 106 | return uv_read_global_mmr64(pnode, UVXH_EVENT_OCCURRED2) & |
| 107 | UV2H_EVENT_OCCURRED2_RTC_1_MASK; | 107 | UVXH_EVENT_OCCURRED2_RTC_1_MASK; |
| 108 | return 0; | ||
| 108 | } | 109 | } |
| 109 | 110 | ||
| 110 | /* Setup interrupt and return non-zero if early expiration occurred. */ | 111 | /* Setup interrupt and return non-zero if early expiration occurred. */ |
| @@ -122,8 +123,8 @@ static int uv_setup_intr(int cpu, u64 expires) | |||
| 122 | uv_write_global_mmr64(pnode, UVH_EVENT_OCCURRED0_ALIAS, | 123 | uv_write_global_mmr64(pnode, UVH_EVENT_OCCURRED0_ALIAS, |
| 123 | UV1H_EVENT_OCCURRED0_RTC1_MASK); | 124 | UV1H_EVENT_OCCURRED0_RTC1_MASK); |
| 124 | else | 125 | else |
| 125 | uv_write_global_mmr64(pnode, UV2H_EVENT_OCCURRED2_ALIAS, | 126 | uv_write_global_mmr64(pnode, UVXH_EVENT_OCCURRED2_ALIAS, |
| 126 | UV2H_EVENT_OCCURRED2_RTC_1_MASK); | 127 | UVXH_EVENT_OCCURRED2_RTC_1_MASK); |
| 127 | 128 | ||
| 128 | val = (X86_PLATFORM_IPI_VECTOR << UVH_RTC1_INT_CONFIG_VECTOR_SHFT) | | 129 | val = (X86_PLATFORM_IPI_VECTOR << UVH_RTC1_INT_CONFIG_VECTOR_SHFT) | |
| 129 | ((u64)apicid << UVH_RTC1_INT_CONFIG_APIC_ID_SHFT); | 130 | ((u64)apicid << UVH_RTC1_INT_CONFIG_APIC_ID_SHFT); |
diff --git a/drivers/misc/sgi-gru/grufile.c b/drivers/misc/sgi-gru/grufile.c index 492c8cac69ac..44d273c5e19d 100644 --- a/drivers/misc/sgi-gru/grufile.c +++ b/drivers/misc/sgi-gru/grufile.c | |||
| @@ -517,7 +517,7 @@ static int __init gru_init(void) | |||
| 517 | { | 517 | { |
| 518 | int ret; | 518 | int ret; |
| 519 | 519 | ||
| 520 | if (!is_uv_system()) | 520 | if (!is_uv_system() || (is_uvx_hub() && !is_uv2_hub())) |
| 521 | return 0; | 521 | return 0; |
| 522 | 522 | ||
| 523 | #if defined CONFIG_IA64 | 523 | #if defined CONFIG_IA64 |
