UV3
static inline int is_uv3_hub(void) { return is_uv(UV3); }
is_uv(UV3) ? UV3_LOCAL_MMR_BASE : \
is_uv(UV3) ? UV3_GLOBAL_MMR32_BASE : \
is_uv(UV3) ? UV3_LOCAL_MMR_SIZE : \
is_uv(UV3) ? UV3_GLOBAL_MMR32_SIZE : \
is_uv(UV3) ? 0x0000000000000002UL : \
is_uv(UV3) ? 1 : \
is_uv(UV3) ? 0xc00028UL : \
is_uv(UV3) ? 0x61b00UL : \
is_uv(UV3) ? 0x61b40UL : \
is_uv(UV3) ? 0x61f00UL : \
is_uv(UV3) ? 0x61f40UL : \
is_uv(UV3) ? 0x1400UL : \
is_uv(UV3) ? 16 : \
is_uv(UV3) ? 0x1600000UL : \
is_uv(UV3) ? 0x16000c8UL : \
is_uv(UV3) ? 0x16000d0UL : \
is_uv(UV3) ? 0x16000d8UL : \
is_uv(UV3) ? 0x16000e0UL : \
is_uv(UV3) ? 0x16000e8UL : \
is_uv(UV3) ? 0x16000f0UL : \
is_uv(UV3) ? 0x1600010UL : \
is_uv(UV3) ? 0x00003ffff0000000UL : \
is_uv(UV3) ? 28 : \
is_uv(UV3) ? 0x1603000UL : \
is_uv(UV3) ? 0x00003ffffc000000UL : \
is_uv(UV3) ? 26 : \
is_uv(UV3) ? 0x1604000UL : \
is_uv(UV3) ? 0x00003ffffc000000UL : \
is_uv(UV3) ? 26 : \
is_uv(UV3) ? 0x1603800UL : \
is_uv(UV3) ? 128 : \
is_uv(UV3) ? UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG0_NASID_MASK : \
is_uv(UV3) ? 0x1604800UL : \
is_uv(UV3) ? 128 : \
is_uv(UV3) ? UV3H_RH_GAM_MMIOH_REDIRECT_CONFIG1_NASID_MASK : \
is_uv(UV3) ? 0x1600028UL : \
is_uv(UV3) ? 0x00003ffffc000000UL : \
is_uv(UV3) ? 0x00003ffffc000000UL : \
is_uv(UV3) ? 26 : \
is_uv(UV3) ? 0x340000UL : \
is_uv(UV3) ? 0x2d0200UL : \
is_uv(UV3) ? 0x2d0208UL : \
is_uv(UV3) ? 0x2d0210UL : \
is_uv(UV3) ? 0x0040000000000000UL : \
is_uv(UV3) ? 54 : \
#define UVX (UV2|UV3|UV4)
if (is_uv(UV3))
if (is_uv(UV2|UV3) && !uv_gre_table)
uv_hub_type_set(UV3);
if (!is_uv(UV2|UV3|UV4)) {
is_uv(UV3) ? sname.s3.field : \
uv_hub_type_set(UV3);