17f30491cSTony Luck /* 27f30491cSTony Luck * This file is subject to the terms and conditions of the GNU General Public 37f30491cSTony Luck * License. See the file "COPYING" in the main directory of this archive 47f30491cSTony Luck * for more details. 57f30491cSTony Luck * 67f30491cSTony Luck * SGI UV MMR definitions 77f30491cSTony Luck * 87f30491cSTony Luck * Copyright (C) 2007-2008 Silicon Graphics, Inc. All rights reserved. 97f30491cSTony Luck */ 107f30491cSTony Luck 11*c7296700SJack Steiner #ifndef _ASM_IA64_UV_UV_MMRS_H 12*c7296700SJack Steiner #define _ASM_IA64_UV_UV_MMRS_H 137f30491cSTony Luck 147f30491cSTony Luck #define UV_MMR_ENABLE (1UL << 63) 157f30491cSTony Luck 167f30491cSTony Luck /* ========================================================================= */ 177f30491cSTony Luck /* UVH_BAU_DATA_CONFIG */ 187f30491cSTony Luck /* ========================================================================= */ 197f30491cSTony Luck #define UVH_BAU_DATA_CONFIG 0x61680UL 207f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_32 0x0438 217f30491cSTony Luck 227f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_VECTOR_SHFT 0 237f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_VECTOR_MASK 0x00000000000000ffUL 247f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_DM_SHFT 8 257f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_DM_MASK 0x0000000000000700UL 267f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_DESTMODE_SHFT 11 277f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_DESTMODE_MASK 0x0000000000000800UL 287f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_STATUS_SHFT 12 297f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_STATUS_MASK 0x0000000000001000UL 307f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_P_SHFT 13 317f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_P_MASK 0x0000000000002000UL 327f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_T_SHFT 15 337f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_T_MASK 0x0000000000008000UL 347f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_M_SHFT 16 357f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_M_MASK 0x0000000000010000UL 367f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_APIC_ID_SHFT 32 377f30491cSTony Luck #define UVH_BAU_DATA_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 387f30491cSTony Luck 397f30491cSTony Luck union uvh_bau_data_config_u { 407f30491cSTony Luck unsigned long v; 417f30491cSTony Luck struct uvh_bau_data_config_s { 427f30491cSTony Luck unsigned long vector_ : 8; /* RW */ 437f30491cSTony Luck unsigned long dm : 3; /* RW */ 447f30491cSTony Luck unsigned long destmode : 1; /* RW */ 457f30491cSTony Luck unsigned long status : 1; /* RO */ 467f30491cSTony Luck unsigned long p : 1; /* RO */ 477f30491cSTony Luck unsigned long rsvd_14 : 1; /* */ 487f30491cSTony Luck unsigned long t : 1; /* RO */ 497f30491cSTony Luck unsigned long m : 1; /* RW */ 507f30491cSTony Luck unsigned long rsvd_17_31: 15; /* */ 517f30491cSTony Luck unsigned long apic_id : 32; /* RW */ 527f30491cSTony Luck } s; 537f30491cSTony Luck }; 547f30491cSTony Luck 557f30491cSTony Luck /* ========================================================================= */ 567f30491cSTony Luck /* UVH_EVENT_OCCURRED0 */ 577f30491cSTony Luck /* ========================================================================= */ 587f30491cSTony Luck #define UVH_EVENT_OCCURRED0 0x70000UL 597f30491cSTony Luck #define UVH_EVENT_OCCURRED0_32 0x005e8 607f30491cSTony Luck 617f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_HCERR_SHFT 0 627f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_HCERR_MASK 0x0000000000000001UL 637f30491cSTony Luck #define UVH_EVENT_OCCURRED0_GR0_HCERR_SHFT 1 647f30491cSTony Luck #define UVH_EVENT_OCCURRED0_GR0_HCERR_MASK 0x0000000000000002UL 657f30491cSTony Luck #define UVH_EVENT_OCCURRED0_GR1_HCERR_SHFT 2 667f30491cSTony Luck #define UVH_EVENT_OCCURRED0_GR1_HCERR_MASK 0x0000000000000004UL 677f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LH_HCERR_SHFT 3 687f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LH_HCERR_MASK 0x0000000000000008UL 697f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RH_HCERR_SHFT 4 707f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RH_HCERR_MASK 0x0000000000000010UL 717f30491cSTony Luck #define UVH_EVENT_OCCURRED0_XN_HCERR_SHFT 5 727f30491cSTony Luck #define UVH_EVENT_OCCURRED0_XN_HCERR_MASK 0x0000000000000020UL 737f30491cSTony Luck #define UVH_EVENT_OCCURRED0_SI_HCERR_SHFT 6 747f30491cSTony Luck #define UVH_EVENT_OCCURRED0_SI_HCERR_MASK 0x0000000000000040UL 757f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_AOERR0_SHFT 7 767f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_AOERR0_MASK 0x0000000000000080UL 777f30491cSTony Luck #define UVH_EVENT_OCCURRED0_GR0_AOERR0_SHFT 8 787f30491cSTony Luck #define UVH_EVENT_OCCURRED0_GR0_AOERR0_MASK 0x0000000000000100UL 797f30491cSTony Luck #define UVH_EVENT_OCCURRED0_GR1_AOERR0_SHFT 9 807f30491cSTony Luck #define UVH_EVENT_OCCURRED0_GR1_AOERR0_MASK 0x0000000000000200UL 817f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LH_AOERR0_SHFT 10 827f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LH_AOERR0_MASK 0x0000000000000400UL 837f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RH_AOERR0_SHFT 11 847f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RH_AOERR0_MASK 0x0000000000000800UL 857f30491cSTony Luck #define UVH_EVENT_OCCURRED0_XN_AOERR0_SHFT 12 867f30491cSTony Luck #define UVH_EVENT_OCCURRED0_XN_AOERR0_MASK 0x0000000000001000UL 877f30491cSTony Luck #define UVH_EVENT_OCCURRED0_SI_AOERR0_SHFT 13 887f30491cSTony Luck #define UVH_EVENT_OCCURRED0_SI_AOERR0_MASK 0x0000000000002000UL 897f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_AOERR1_SHFT 14 907f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_AOERR1_MASK 0x0000000000004000UL 917f30491cSTony Luck #define UVH_EVENT_OCCURRED0_GR0_AOERR1_SHFT 15 927f30491cSTony Luck #define UVH_EVENT_OCCURRED0_GR0_AOERR1_MASK 0x0000000000008000UL 937f30491cSTony Luck #define UVH_EVENT_OCCURRED0_GR1_AOERR1_SHFT 16 947f30491cSTony Luck #define UVH_EVENT_OCCURRED0_GR1_AOERR1_MASK 0x0000000000010000UL 957f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LH_AOERR1_SHFT 17 967f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LH_AOERR1_MASK 0x0000000000020000UL 977f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RH_AOERR1_SHFT 18 987f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RH_AOERR1_MASK 0x0000000000040000UL 997f30491cSTony Luck #define UVH_EVENT_OCCURRED0_XN_AOERR1_SHFT 19 1007f30491cSTony Luck #define UVH_EVENT_OCCURRED0_XN_AOERR1_MASK 0x0000000000080000UL 1017f30491cSTony Luck #define UVH_EVENT_OCCURRED0_SI_AOERR1_SHFT 20 1027f30491cSTony Luck #define UVH_EVENT_OCCURRED0_SI_AOERR1_MASK 0x0000000000100000UL 1037f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RH_VPI_INT_SHFT 21 1047f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RH_VPI_INT_MASK 0x0000000000200000UL 1057f30491cSTony Luck #define UVH_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_SHFT 22 1067f30491cSTony Luck #define UVH_EVENT_OCCURRED0_SYSTEM_SHUTDOWN_INT_MASK 0x0000000000400000UL 1077f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_0_SHFT 23 1087f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_0_MASK 0x0000000000800000UL 1097f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_1_SHFT 24 1107f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_1_MASK 0x0000000001000000UL 1117f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_2_SHFT 25 1127f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_2_MASK 0x0000000002000000UL 1137f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_3_SHFT 26 1147f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_3_MASK 0x0000000004000000UL 1157f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_4_SHFT 27 1167f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_4_MASK 0x0000000008000000UL 1177f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_5_SHFT 28 1187f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_5_MASK 0x0000000010000000UL 1197f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_6_SHFT 29 1207f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_6_MASK 0x0000000020000000UL 1217f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_7_SHFT 30 1227f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_7_MASK 0x0000000040000000UL 1237f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_8_SHFT 31 1247f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_8_MASK 0x0000000080000000UL 1257f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_9_SHFT 32 1267f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_9_MASK 0x0000000100000000UL 1277f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_10_SHFT 33 1287f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_10_MASK 0x0000000200000000UL 1297f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_11_SHFT 34 1307f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_11_MASK 0x0000000400000000UL 1317f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_12_SHFT 35 1327f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_12_MASK 0x0000000800000000UL 1337f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_13_SHFT 36 1347f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_13_MASK 0x0000001000000000UL 1357f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_14_SHFT 37 1367f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_14_MASK 0x0000002000000000UL 1377f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_15_SHFT 38 1387f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LB_IRQ_INT_15_MASK 0x0000004000000000UL 1397f30491cSTony Luck #define UVH_EVENT_OCCURRED0_L1_NMI_INT_SHFT 39 1407f30491cSTony Luck #define UVH_EVENT_OCCURRED0_L1_NMI_INT_MASK 0x0000008000000000UL 1417f30491cSTony Luck #define UVH_EVENT_OCCURRED0_STOP_CLOCK_SHFT 40 1427f30491cSTony Luck #define UVH_EVENT_OCCURRED0_STOP_CLOCK_MASK 0x0000010000000000UL 1437f30491cSTony Luck #define UVH_EVENT_OCCURRED0_ASIC_TO_L1_SHFT 41 1447f30491cSTony Luck #define UVH_EVENT_OCCURRED0_ASIC_TO_L1_MASK 0x0000020000000000UL 1457f30491cSTony Luck #define UVH_EVENT_OCCURRED0_L1_TO_ASIC_SHFT 42 1467f30491cSTony Luck #define UVH_EVENT_OCCURRED0_L1_TO_ASIC_MASK 0x0000040000000000UL 1477f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LTC_INT_SHFT 43 1487f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LTC_INT_MASK 0x0000080000000000UL 1497f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LA_SEQ_TRIGGER_SHFT 44 1507f30491cSTony Luck #define UVH_EVENT_OCCURRED0_LA_SEQ_TRIGGER_MASK 0x0000100000000000UL 1517f30491cSTony Luck #define UVH_EVENT_OCCURRED0_IPI_INT_SHFT 45 1527f30491cSTony Luck #define UVH_EVENT_OCCURRED0_IPI_INT_MASK 0x0000200000000000UL 1537f30491cSTony Luck #define UVH_EVENT_OCCURRED0_EXTIO_INT0_SHFT 46 1547f30491cSTony Luck #define UVH_EVENT_OCCURRED0_EXTIO_INT0_MASK 0x0000400000000000UL 1557f30491cSTony Luck #define UVH_EVENT_OCCURRED0_EXTIO_INT1_SHFT 47 1567f30491cSTony Luck #define UVH_EVENT_OCCURRED0_EXTIO_INT1_MASK 0x0000800000000000UL 1577f30491cSTony Luck #define UVH_EVENT_OCCURRED0_EXTIO_INT2_SHFT 48 1587f30491cSTony Luck #define UVH_EVENT_OCCURRED0_EXTIO_INT2_MASK 0x0001000000000000UL 1597f30491cSTony Luck #define UVH_EVENT_OCCURRED0_EXTIO_INT3_SHFT 49 1607f30491cSTony Luck #define UVH_EVENT_OCCURRED0_EXTIO_INT3_MASK 0x0002000000000000UL 1617f30491cSTony Luck #define UVH_EVENT_OCCURRED0_PROFILE_INT_SHFT 50 1627f30491cSTony Luck #define UVH_EVENT_OCCURRED0_PROFILE_INT_MASK 0x0004000000000000UL 1637f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RTC0_SHFT 51 1647f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RTC0_MASK 0x0008000000000000UL 1657f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RTC1_SHFT 52 1667f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RTC1_MASK 0x0010000000000000UL 1677f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RTC2_SHFT 53 1687f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RTC2_MASK 0x0020000000000000UL 1697f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RTC3_SHFT 54 1707f30491cSTony Luck #define UVH_EVENT_OCCURRED0_RTC3_MASK 0x0040000000000000UL 1717f30491cSTony Luck #define UVH_EVENT_OCCURRED0_BAU_DATA_SHFT 55 1727f30491cSTony Luck #define UVH_EVENT_OCCURRED0_BAU_DATA_MASK 0x0080000000000000UL 1737f30491cSTony Luck #define UVH_EVENT_OCCURRED0_POWER_MANAGEMENT_REQ_SHFT 56 1747f30491cSTony Luck #define UVH_EVENT_OCCURRED0_POWER_MANAGEMENT_REQ_MASK 0x0100000000000000UL 1757f30491cSTony Luck union uvh_event_occurred0_u { 1767f30491cSTony Luck unsigned long v; 1777f30491cSTony Luck struct uvh_event_occurred0_s { 1787f30491cSTony Luck unsigned long lb_hcerr : 1; /* RW, W1C */ 1797f30491cSTony Luck unsigned long gr0_hcerr : 1; /* RW, W1C */ 1807f30491cSTony Luck unsigned long gr1_hcerr : 1; /* RW, W1C */ 1817f30491cSTony Luck unsigned long lh_hcerr : 1; /* RW, W1C */ 1827f30491cSTony Luck unsigned long rh_hcerr : 1; /* RW, W1C */ 1837f30491cSTony Luck unsigned long xn_hcerr : 1; /* RW, W1C */ 1847f30491cSTony Luck unsigned long si_hcerr : 1; /* RW, W1C */ 1857f30491cSTony Luck unsigned long lb_aoerr0 : 1; /* RW, W1C */ 1867f30491cSTony Luck unsigned long gr0_aoerr0 : 1; /* RW, W1C */ 1877f30491cSTony Luck unsigned long gr1_aoerr0 : 1; /* RW, W1C */ 1887f30491cSTony Luck unsigned long lh_aoerr0 : 1; /* RW, W1C */ 1897f30491cSTony Luck unsigned long rh_aoerr0 : 1; /* RW, W1C */ 1907f30491cSTony Luck unsigned long xn_aoerr0 : 1; /* RW, W1C */ 1917f30491cSTony Luck unsigned long si_aoerr0 : 1; /* RW, W1C */ 1927f30491cSTony Luck unsigned long lb_aoerr1 : 1; /* RW, W1C */ 1937f30491cSTony Luck unsigned long gr0_aoerr1 : 1; /* RW, W1C */ 1947f30491cSTony Luck unsigned long gr1_aoerr1 : 1; /* RW, W1C */ 1957f30491cSTony Luck unsigned long lh_aoerr1 : 1; /* RW, W1C */ 1967f30491cSTony Luck unsigned long rh_aoerr1 : 1; /* RW, W1C */ 1977f30491cSTony Luck unsigned long xn_aoerr1 : 1; /* RW, W1C */ 1987f30491cSTony Luck unsigned long si_aoerr1 : 1; /* RW, W1C */ 1997f30491cSTony Luck unsigned long rh_vpi_int : 1; /* RW, W1C */ 2007f30491cSTony Luck unsigned long system_shutdown_int : 1; /* RW, W1C */ 2017f30491cSTony Luck unsigned long lb_irq_int_0 : 1; /* RW, W1C */ 2027f30491cSTony Luck unsigned long lb_irq_int_1 : 1; /* RW, W1C */ 2037f30491cSTony Luck unsigned long lb_irq_int_2 : 1; /* RW, W1C */ 2047f30491cSTony Luck unsigned long lb_irq_int_3 : 1; /* RW, W1C */ 2057f30491cSTony Luck unsigned long lb_irq_int_4 : 1; /* RW, W1C */ 2067f30491cSTony Luck unsigned long lb_irq_int_5 : 1; /* RW, W1C */ 2077f30491cSTony Luck unsigned long lb_irq_int_6 : 1; /* RW, W1C */ 2087f30491cSTony Luck unsigned long lb_irq_int_7 : 1; /* RW, W1C */ 2097f30491cSTony Luck unsigned long lb_irq_int_8 : 1; /* RW, W1C */ 2107f30491cSTony Luck unsigned long lb_irq_int_9 : 1; /* RW, W1C */ 2117f30491cSTony Luck unsigned long lb_irq_int_10 : 1; /* RW, W1C */ 2127f30491cSTony Luck unsigned long lb_irq_int_11 : 1; /* RW, W1C */ 2137f30491cSTony Luck unsigned long lb_irq_int_12 : 1; /* RW, W1C */ 2147f30491cSTony Luck unsigned long lb_irq_int_13 : 1; /* RW, W1C */ 2157f30491cSTony Luck unsigned long lb_irq_int_14 : 1; /* RW, W1C */ 2167f30491cSTony Luck unsigned long lb_irq_int_15 : 1; /* RW, W1C */ 2177f30491cSTony Luck unsigned long l1_nmi_int : 1; /* RW, W1C */ 2187f30491cSTony Luck unsigned long stop_clock : 1; /* RW, W1C */ 2197f30491cSTony Luck unsigned long asic_to_l1 : 1; /* RW, W1C */ 2207f30491cSTony Luck unsigned long l1_to_asic : 1; /* RW, W1C */ 2217f30491cSTony Luck unsigned long ltc_int : 1; /* RW, W1C */ 2227f30491cSTony Luck unsigned long la_seq_trigger : 1; /* RW, W1C */ 2237f30491cSTony Luck unsigned long ipi_int : 1; /* RW, W1C */ 2247f30491cSTony Luck unsigned long extio_int0 : 1; /* RW, W1C */ 2257f30491cSTony Luck unsigned long extio_int1 : 1; /* RW, W1C */ 2267f30491cSTony Luck unsigned long extio_int2 : 1; /* RW, W1C */ 2277f30491cSTony Luck unsigned long extio_int3 : 1; /* RW, W1C */ 2287f30491cSTony Luck unsigned long profile_int : 1; /* RW, W1C */ 2297f30491cSTony Luck unsigned long rtc0 : 1; /* RW, W1C */ 2307f30491cSTony Luck unsigned long rtc1 : 1; /* RW, W1C */ 2317f30491cSTony Luck unsigned long rtc2 : 1; /* RW, W1C */ 2327f30491cSTony Luck unsigned long rtc3 : 1; /* RW, W1C */ 2337f30491cSTony Luck unsigned long bau_data : 1; /* RW, W1C */ 2347f30491cSTony Luck unsigned long power_management_req : 1; /* RW, W1C */ 2357f30491cSTony Luck unsigned long rsvd_57_63 : 7; /* */ 2367f30491cSTony Luck } s; 2377f30491cSTony Luck }; 2387f30491cSTony Luck 2397f30491cSTony Luck /* ========================================================================= */ 2407f30491cSTony Luck /* UVH_EVENT_OCCURRED0_ALIAS */ 2417f30491cSTony Luck /* ========================================================================= */ 2427f30491cSTony Luck #define UVH_EVENT_OCCURRED0_ALIAS 0x0000000000070008UL 2437f30491cSTony Luck #define UVH_EVENT_OCCURRED0_ALIAS_32 0x005f0 2447f30491cSTony Luck 2457f30491cSTony Luck /* ========================================================================= */ 246*c7296700SJack Steiner /* UVH_GR0_TLB_INT0_CONFIG */ 247*c7296700SJack Steiner /* ========================================================================= */ 248*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG 0x61b00UL 249*c7296700SJack Steiner 250*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_VECTOR_SHFT 0 251*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_VECTOR_MASK 0x00000000000000ffUL 252*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_DM_SHFT 8 253*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_DM_MASK 0x0000000000000700UL 254*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_DESTMODE_SHFT 11 255*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_DESTMODE_MASK 0x0000000000000800UL 256*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_STATUS_SHFT 12 257*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_STATUS_MASK 0x0000000000001000UL 258*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_P_SHFT 13 259*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_P_MASK 0x0000000000002000UL 260*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_T_SHFT 15 261*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_T_MASK 0x0000000000008000UL 262*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_M_SHFT 16 263*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL 264*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_APIC_ID_SHFT 32 265*c7296700SJack Steiner #define UVH_GR0_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 266*c7296700SJack Steiner 267*c7296700SJack Steiner union uvh_gr0_tlb_int0_config_u { 268*c7296700SJack Steiner unsigned long v; 269*c7296700SJack Steiner struct uvh_gr0_tlb_int0_config_s { 270*c7296700SJack Steiner unsigned long vector_ : 8; /* RW */ 271*c7296700SJack Steiner unsigned long dm : 3; /* RW */ 272*c7296700SJack Steiner unsigned long destmode : 1; /* RW */ 273*c7296700SJack Steiner unsigned long status : 1; /* RO */ 274*c7296700SJack Steiner unsigned long p : 1; /* RO */ 275*c7296700SJack Steiner unsigned long rsvd_14 : 1; /* */ 276*c7296700SJack Steiner unsigned long t : 1; /* RO */ 277*c7296700SJack Steiner unsigned long m : 1; /* RW */ 278*c7296700SJack Steiner unsigned long rsvd_17_31: 15; /* */ 279*c7296700SJack Steiner unsigned long apic_id : 32; /* RW */ 280*c7296700SJack Steiner } s; 281*c7296700SJack Steiner }; 282*c7296700SJack Steiner 283*c7296700SJack Steiner /* ========================================================================= */ 284*c7296700SJack Steiner /* UVH_GR0_TLB_INT1_CONFIG */ 285*c7296700SJack Steiner /* ========================================================================= */ 286*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG 0x61b40UL 287*c7296700SJack Steiner 288*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_VECTOR_SHFT 0 289*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_VECTOR_MASK 0x00000000000000ffUL 290*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_DM_SHFT 8 291*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_DM_MASK 0x0000000000000700UL 292*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_DESTMODE_SHFT 11 293*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_DESTMODE_MASK 0x0000000000000800UL 294*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_STATUS_SHFT 12 295*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_STATUS_MASK 0x0000000000001000UL 296*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_P_SHFT 13 297*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_P_MASK 0x0000000000002000UL 298*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_T_SHFT 15 299*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_T_MASK 0x0000000000008000UL 300*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_M_SHFT 16 301*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL 302*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_APIC_ID_SHFT 32 303*c7296700SJack Steiner #define UVH_GR0_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 304*c7296700SJack Steiner 305*c7296700SJack Steiner union uvh_gr0_tlb_int1_config_u { 306*c7296700SJack Steiner unsigned long v; 307*c7296700SJack Steiner struct uvh_gr0_tlb_int1_config_s { 308*c7296700SJack Steiner unsigned long vector_ : 8; /* RW */ 309*c7296700SJack Steiner unsigned long dm : 3; /* RW */ 310*c7296700SJack Steiner unsigned long destmode : 1; /* RW */ 311*c7296700SJack Steiner unsigned long status : 1; /* RO */ 312*c7296700SJack Steiner unsigned long p : 1; /* RO */ 313*c7296700SJack Steiner unsigned long rsvd_14 : 1; /* */ 314*c7296700SJack Steiner unsigned long t : 1; /* RO */ 315*c7296700SJack Steiner unsigned long m : 1; /* RW */ 316*c7296700SJack Steiner unsigned long rsvd_17_31: 15; /* */ 317*c7296700SJack Steiner unsigned long apic_id : 32; /* RW */ 318*c7296700SJack Steiner } s; 319*c7296700SJack Steiner }; 320*c7296700SJack Steiner 321*c7296700SJack Steiner /* ========================================================================= */ 322*c7296700SJack Steiner /* UVH_GR1_TLB_INT0_CONFIG */ 323*c7296700SJack Steiner /* ========================================================================= */ 324*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG 0x61f00UL 325*c7296700SJack Steiner 326*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_VECTOR_SHFT 0 327*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_VECTOR_MASK 0x00000000000000ffUL 328*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_DM_SHFT 8 329*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_DM_MASK 0x0000000000000700UL 330*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_DESTMODE_SHFT 11 331*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_DESTMODE_MASK 0x0000000000000800UL 332*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_STATUS_SHFT 12 333*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_STATUS_MASK 0x0000000000001000UL 334*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_P_SHFT 13 335*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_P_MASK 0x0000000000002000UL 336*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_T_SHFT 15 337*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_T_MASK 0x0000000000008000UL 338*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_M_SHFT 16 339*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_M_MASK 0x0000000000010000UL 340*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_APIC_ID_SHFT 32 341*c7296700SJack Steiner #define UVH_GR1_TLB_INT0_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 342*c7296700SJack Steiner 343*c7296700SJack Steiner union uvh_gr1_tlb_int0_config_u { 344*c7296700SJack Steiner unsigned long v; 345*c7296700SJack Steiner struct uvh_gr1_tlb_int0_config_s { 346*c7296700SJack Steiner unsigned long vector_ : 8; /* RW */ 347*c7296700SJack Steiner unsigned long dm : 3; /* RW */ 348*c7296700SJack Steiner unsigned long destmode : 1; /* RW */ 349*c7296700SJack Steiner unsigned long status : 1; /* RO */ 350*c7296700SJack Steiner unsigned long p : 1; /* RO */ 351*c7296700SJack Steiner unsigned long rsvd_14 : 1; /* */ 352*c7296700SJack Steiner unsigned long t : 1; /* RO */ 353*c7296700SJack Steiner unsigned long m : 1; /* RW */ 354*c7296700SJack Steiner unsigned long rsvd_17_31: 15; /* */ 355*c7296700SJack Steiner unsigned long apic_id : 32; /* RW */ 356*c7296700SJack Steiner } s; 357*c7296700SJack Steiner }; 358*c7296700SJack Steiner 359*c7296700SJack Steiner /* ========================================================================= */ 360*c7296700SJack Steiner /* UVH_GR1_TLB_INT1_CONFIG */ 361*c7296700SJack Steiner /* ========================================================================= */ 362*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG 0x61f40UL 363*c7296700SJack Steiner 364*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_VECTOR_SHFT 0 365*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_VECTOR_MASK 0x00000000000000ffUL 366*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_DM_SHFT 8 367*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_DM_MASK 0x0000000000000700UL 368*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_DESTMODE_SHFT 11 369*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_DESTMODE_MASK 0x0000000000000800UL 370*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_STATUS_SHFT 12 371*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_STATUS_MASK 0x0000000000001000UL 372*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_P_SHFT 13 373*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_P_MASK 0x0000000000002000UL 374*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_T_SHFT 15 375*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_T_MASK 0x0000000000008000UL 376*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_M_SHFT 16 377*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_M_MASK 0x0000000000010000UL 378*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_APIC_ID_SHFT 32 379*c7296700SJack Steiner #define UVH_GR1_TLB_INT1_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 380*c7296700SJack Steiner 381*c7296700SJack Steiner union uvh_gr1_tlb_int1_config_u { 382*c7296700SJack Steiner unsigned long v; 383*c7296700SJack Steiner struct uvh_gr1_tlb_int1_config_s { 384*c7296700SJack Steiner unsigned long vector_ : 8; /* RW */ 385*c7296700SJack Steiner unsigned long dm : 3; /* RW */ 386*c7296700SJack Steiner unsigned long destmode : 1; /* RW */ 387*c7296700SJack Steiner unsigned long status : 1; /* RO */ 388*c7296700SJack Steiner unsigned long p : 1; /* RO */ 389*c7296700SJack Steiner unsigned long rsvd_14 : 1; /* */ 390*c7296700SJack Steiner unsigned long t : 1; /* RO */ 391*c7296700SJack Steiner unsigned long m : 1; /* RW */ 392*c7296700SJack Steiner unsigned long rsvd_17_31: 15; /* */ 393*c7296700SJack Steiner unsigned long apic_id : 32; /* RW */ 394*c7296700SJack Steiner } s; 395*c7296700SJack Steiner }; 396*c7296700SJack Steiner 397*c7296700SJack Steiner /* ========================================================================= */ 3987f30491cSTony Luck /* UVH_INT_CMPB */ 3997f30491cSTony Luck /* ========================================================================= */ 4007f30491cSTony Luck #define UVH_INT_CMPB 0x22080UL 4017f30491cSTony Luck 4027f30491cSTony Luck #define UVH_INT_CMPB_REAL_TIME_CMPB_SHFT 0 4037f30491cSTony Luck #define UVH_INT_CMPB_REAL_TIME_CMPB_MASK 0x00ffffffffffffffUL 4047f30491cSTony Luck 4057f30491cSTony Luck union uvh_int_cmpb_u { 4067f30491cSTony Luck unsigned long v; 4077f30491cSTony Luck struct uvh_int_cmpb_s { 4087f30491cSTony Luck unsigned long real_time_cmpb : 56; /* RW */ 4097f30491cSTony Luck unsigned long rsvd_56_63 : 8; /* */ 4107f30491cSTony Luck } s; 4117f30491cSTony Luck }; 4127f30491cSTony Luck 4137f30491cSTony Luck /* ========================================================================= */ 4147f30491cSTony Luck /* UVH_INT_CMPC */ 4157f30491cSTony Luck /* ========================================================================= */ 4167f30491cSTony Luck #define UVH_INT_CMPC 0x22100UL 4177f30491cSTony Luck 4187f30491cSTony Luck #define UVH_INT_CMPC_REAL_TIME_CMPC_SHFT 0 4197f30491cSTony Luck #define UVH_INT_CMPC_REAL_TIME_CMPC_MASK 0x00ffffffffffffffUL 4207f30491cSTony Luck 4217f30491cSTony Luck union uvh_int_cmpc_u { 4227f30491cSTony Luck unsigned long v; 4237f30491cSTony Luck struct uvh_int_cmpc_s { 4247f30491cSTony Luck unsigned long real_time_cmpc : 56; /* RW */ 4257f30491cSTony Luck unsigned long rsvd_56_63 : 8; /* */ 4267f30491cSTony Luck } s; 4277f30491cSTony Luck }; 4287f30491cSTony Luck 4297f30491cSTony Luck /* ========================================================================= */ 4307f30491cSTony Luck /* UVH_INT_CMPD */ 4317f30491cSTony Luck /* ========================================================================= */ 4327f30491cSTony Luck #define UVH_INT_CMPD 0x22180UL 4337f30491cSTony Luck 4347f30491cSTony Luck #define UVH_INT_CMPD_REAL_TIME_CMPD_SHFT 0 4357f30491cSTony Luck #define UVH_INT_CMPD_REAL_TIME_CMPD_MASK 0x00ffffffffffffffUL 4367f30491cSTony Luck 4377f30491cSTony Luck union uvh_int_cmpd_u { 4387f30491cSTony Luck unsigned long v; 4397f30491cSTony Luck struct uvh_int_cmpd_s { 4407f30491cSTony Luck unsigned long real_time_cmpd : 56; /* RW */ 4417f30491cSTony Luck unsigned long rsvd_56_63 : 8; /* */ 4427f30491cSTony Luck } s; 4437f30491cSTony Luck }; 4447f30491cSTony Luck 4457f30491cSTony Luck /* ========================================================================= */ 4467f30491cSTony Luck /* UVH_NODE_ID */ 4477f30491cSTony Luck /* ========================================================================= */ 4487f30491cSTony Luck #define UVH_NODE_ID 0x0UL 4497f30491cSTony Luck 4507f30491cSTony Luck #define UVH_NODE_ID_FORCE1_SHFT 0 4517f30491cSTony Luck #define UVH_NODE_ID_FORCE1_MASK 0x0000000000000001UL 4527f30491cSTony Luck #define UVH_NODE_ID_MANUFACTURER_SHFT 1 4537f30491cSTony Luck #define UVH_NODE_ID_MANUFACTURER_MASK 0x0000000000000ffeUL 4547f30491cSTony Luck #define UVH_NODE_ID_PART_NUMBER_SHFT 12 4557f30491cSTony Luck #define UVH_NODE_ID_PART_NUMBER_MASK 0x000000000ffff000UL 4567f30491cSTony Luck #define UVH_NODE_ID_REVISION_SHFT 28 4577f30491cSTony Luck #define UVH_NODE_ID_REVISION_MASK 0x00000000f0000000UL 4587f30491cSTony Luck #define UVH_NODE_ID_NODE_ID_SHFT 32 4597f30491cSTony Luck #define UVH_NODE_ID_NODE_ID_MASK 0x00007fff00000000UL 4607f30491cSTony Luck #define UVH_NODE_ID_NODES_PER_BIT_SHFT 48 4617f30491cSTony Luck #define UVH_NODE_ID_NODES_PER_BIT_MASK 0x007f000000000000UL 4627f30491cSTony Luck #define UVH_NODE_ID_NI_PORT_SHFT 56 4637f30491cSTony Luck #define UVH_NODE_ID_NI_PORT_MASK 0x0f00000000000000UL 4647f30491cSTony Luck 4657f30491cSTony Luck union uvh_node_id_u { 4667f30491cSTony Luck unsigned long v; 4677f30491cSTony Luck struct uvh_node_id_s { 4687f30491cSTony Luck unsigned long force1 : 1; /* RO */ 4697f30491cSTony Luck unsigned long manufacturer : 11; /* RO */ 4707f30491cSTony Luck unsigned long part_number : 16; /* RO */ 4717f30491cSTony Luck unsigned long revision : 4; /* RO */ 4727f30491cSTony Luck unsigned long node_id : 15; /* RW */ 4737f30491cSTony Luck unsigned long rsvd_47 : 1; /* */ 4747f30491cSTony Luck unsigned long nodes_per_bit : 7; /* RW */ 4757f30491cSTony Luck unsigned long rsvd_55 : 1; /* */ 4767f30491cSTony Luck unsigned long ni_port : 4; /* RO */ 4777f30491cSTony Luck unsigned long rsvd_60_63 : 4; /* */ 4787f30491cSTony Luck } s; 4797f30491cSTony Luck }; 4807f30491cSTony Luck 4817f30491cSTony Luck /* ========================================================================= */ 4827f30491cSTony Luck /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR */ 4837f30491cSTony Luck /* ========================================================================= */ 4847f30491cSTony Luck #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR 0x16000d0UL 4857f30491cSTony Luck 4867f30491cSTony Luck #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_SHFT 24 4877f30491cSTony Luck #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_0_MMR_DEST_BASE_MASK 0x00003fffff000000UL 4887f30491cSTony Luck 4897f30491cSTony Luck union uvh_rh_gam_alias210_redirect_config_0_mmr_u { 4907f30491cSTony Luck unsigned long v; 4917f30491cSTony Luck struct uvh_rh_gam_alias210_redirect_config_0_mmr_s { 4927f30491cSTony Luck unsigned long rsvd_0_23 : 24; /* */ 4937f30491cSTony Luck unsigned long dest_base : 22; /* RW */ 4947f30491cSTony Luck unsigned long rsvd_46_63: 18; /* */ 4957f30491cSTony Luck } s; 4967f30491cSTony Luck }; 4977f30491cSTony Luck 4987f30491cSTony Luck /* ========================================================================= */ 4997f30491cSTony Luck /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR */ 5007f30491cSTony Luck /* ========================================================================= */ 5017f30491cSTony Luck #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR 0x16000e0UL 5027f30491cSTony Luck 5037f30491cSTony Luck #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_SHFT 24 5047f30491cSTony Luck #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_1_MMR_DEST_BASE_MASK 0x00003fffff000000UL 5057f30491cSTony Luck 5067f30491cSTony Luck union uvh_rh_gam_alias210_redirect_config_1_mmr_u { 5077f30491cSTony Luck unsigned long v; 5087f30491cSTony Luck struct uvh_rh_gam_alias210_redirect_config_1_mmr_s { 5097f30491cSTony Luck unsigned long rsvd_0_23 : 24; /* */ 5107f30491cSTony Luck unsigned long dest_base : 22; /* RW */ 5117f30491cSTony Luck unsigned long rsvd_46_63: 18; /* */ 5127f30491cSTony Luck } s; 5137f30491cSTony Luck }; 5147f30491cSTony Luck 5157f30491cSTony Luck /* ========================================================================= */ 5167f30491cSTony Luck /* UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR */ 5177f30491cSTony Luck /* ========================================================================= */ 5187f30491cSTony Luck #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR 0x16000f0UL 5197f30491cSTony Luck 5207f30491cSTony Luck #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_SHFT 24 5217f30491cSTony Luck #define UVH_RH_GAM_ALIAS210_REDIRECT_CONFIG_2_MMR_DEST_BASE_MASK 0x00003fffff000000UL 5227f30491cSTony Luck 5237f30491cSTony Luck union uvh_rh_gam_alias210_redirect_config_2_mmr_u { 5247f30491cSTony Luck unsigned long v; 5257f30491cSTony Luck struct uvh_rh_gam_alias210_redirect_config_2_mmr_s { 5267f30491cSTony Luck unsigned long rsvd_0_23 : 24; /* */ 5277f30491cSTony Luck unsigned long dest_base : 22; /* RW */ 5287f30491cSTony Luck unsigned long rsvd_46_63: 18; /* */ 5297f30491cSTony Luck } s; 5307f30491cSTony Luck }; 5317f30491cSTony Luck 5327f30491cSTony Luck /* ========================================================================= */ 5337f30491cSTony Luck /* UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR */ 5347f30491cSTony Luck /* ========================================================================= */ 5357f30491cSTony Luck #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL 5367f30491cSTony Luck 5377f30491cSTony Luck #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_SHFT 28 5387f30491cSTony Luck #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffff0000000UL 5397f30491cSTony Luck #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_GR4_SHFT 48 5407f30491cSTony Luck #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_GR4_MASK 0x0001000000000000UL 5417f30491cSTony Luck #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_SHFT 52 5427f30491cSTony Luck #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_N_GRU_MASK 0x00f0000000000000UL 5437f30491cSTony Luck #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 5447f30491cSTony Luck #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL 5457f30491cSTony Luck 5467f30491cSTony Luck union uvh_rh_gam_gru_overlay_config_mmr_u { 5477f30491cSTony Luck unsigned long v; 5487f30491cSTony Luck struct uvh_rh_gam_gru_overlay_config_mmr_s { 5497f30491cSTony Luck unsigned long rsvd_0_27: 28; /* */ 5507f30491cSTony Luck unsigned long base : 18; /* RW */ 5517f30491cSTony Luck unsigned long rsvd_46_47: 2; /* */ 5527f30491cSTony Luck unsigned long gr4 : 1; /* RW */ 5537f30491cSTony Luck unsigned long rsvd_49_51: 3; /* */ 5547f30491cSTony Luck unsigned long n_gru : 4; /* RW */ 5557f30491cSTony Luck unsigned long rsvd_56_62: 7; /* */ 5567f30491cSTony Luck unsigned long enable : 1; /* RW */ 5577f30491cSTony Luck } s; 5587f30491cSTony Luck }; 5597f30491cSTony Luck 5607f30491cSTony Luck /* ========================================================================= */ 5617f30491cSTony Luck /* UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR */ 5627f30491cSTony Luck /* ========================================================================= */ 5637f30491cSTony Luck #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL 5647f30491cSTony Luck 5657f30491cSTony Luck #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_SHFT 26 5667f30491cSTony Luck #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL 5677f30491cSTony Luck #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_SHFT 46 5687f30491cSTony Luck #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_DUAL_HUB_MASK 0x0000400000000000UL 5697f30491cSTony Luck #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 5707f30491cSTony Luck #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL 5717f30491cSTony Luck 5727f30491cSTony Luck union uvh_rh_gam_mmr_overlay_config_mmr_u { 5737f30491cSTony Luck unsigned long v; 5747f30491cSTony Luck struct uvh_rh_gam_mmr_overlay_config_mmr_s { 5757f30491cSTony Luck unsigned long rsvd_0_25: 26; /* */ 5767f30491cSTony Luck unsigned long base : 20; /* RW */ 5777f30491cSTony Luck unsigned long dual_hub : 1; /* RW */ 5787f30491cSTony Luck unsigned long rsvd_47_62: 16; /* */ 5797f30491cSTony Luck unsigned long enable : 1; /* RW */ 5807f30491cSTony Luck } s; 5817f30491cSTony Luck }; 5827f30491cSTony Luck 5837f30491cSTony Luck /* ========================================================================= */ 5847f30491cSTony Luck /* UVH_RTC */ 5857f30491cSTony Luck /* ========================================================================= */ 5867f30491cSTony Luck #define UVH_RTC 0x340000UL 5877f30491cSTony Luck 5887f30491cSTony Luck #define UVH_RTC_REAL_TIME_CLOCK_SHFT 0 5897f30491cSTony Luck #define UVH_RTC_REAL_TIME_CLOCK_MASK 0x00ffffffffffffffUL 5907f30491cSTony Luck 5917f30491cSTony Luck union uvh_rtc_u { 5927f30491cSTony Luck unsigned long v; 5937f30491cSTony Luck struct uvh_rtc_s { 5947f30491cSTony Luck unsigned long real_time_clock : 56; /* RW */ 5957f30491cSTony Luck unsigned long rsvd_56_63 : 8; /* */ 5967f30491cSTony Luck } s; 5977f30491cSTony Luck }; 5987f30491cSTony Luck 5997f30491cSTony Luck /* ========================================================================= */ 6007f30491cSTony Luck /* UVH_RTC1_INT_CONFIG */ 6017f30491cSTony Luck /* ========================================================================= */ 6027f30491cSTony Luck #define UVH_RTC1_INT_CONFIG 0x615c0UL 6037f30491cSTony Luck 6047f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_VECTOR_SHFT 0 6057f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_VECTOR_MASK 0x00000000000000ffUL 6067f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_DM_SHFT 8 6077f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_DM_MASK 0x0000000000000700UL 6087f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_DESTMODE_SHFT 11 6097f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_DESTMODE_MASK 0x0000000000000800UL 6107f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_STATUS_SHFT 12 6117f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_STATUS_MASK 0x0000000000001000UL 6127f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_P_SHFT 13 6137f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_P_MASK 0x0000000000002000UL 6147f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_T_SHFT 15 6157f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_T_MASK 0x0000000000008000UL 6167f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_M_SHFT 16 6177f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_M_MASK 0x0000000000010000UL 6187f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_APIC_ID_SHFT 32 6197f30491cSTony Luck #define UVH_RTC1_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 6207f30491cSTony Luck 6217f30491cSTony Luck union uvh_rtc1_int_config_u { 6227f30491cSTony Luck unsigned long v; 6237f30491cSTony Luck struct uvh_rtc1_int_config_s { 6247f30491cSTony Luck unsigned long vector_ : 8; /* RW */ 6257f30491cSTony Luck unsigned long dm : 3; /* RW */ 6267f30491cSTony Luck unsigned long destmode : 1; /* RW */ 6277f30491cSTony Luck unsigned long status : 1; /* RO */ 6287f30491cSTony Luck unsigned long p : 1; /* RO */ 6297f30491cSTony Luck unsigned long rsvd_14 : 1; /* */ 6307f30491cSTony Luck unsigned long t : 1; /* RO */ 6317f30491cSTony Luck unsigned long m : 1; /* RW */ 6327f30491cSTony Luck unsigned long rsvd_17_31: 15; /* */ 6337f30491cSTony Luck unsigned long apic_id : 32; /* RW */ 6347f30491cSTony Luck } s; 6357f30491cSTony Luck }; 6367f30491cSTony Luck 6377f30491cSTony Luck /* ========================================================================= */ 6387f30491cSTony Luck /* UVH_RTC2_INT_CONFIG */ 6397f30491cSTony Luck /* ========================================================================= */ 6407f30491cSTony Luck #define UVH_RTC2_INT_CONFIG 0x61600UL 6417f30491cSTony Luck 6427f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_VECTOR_SHFT 0 6437f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_VECTOR_MASK 0x00000000000000ffUL 6447f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_DM_SHFT 8 6457f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_DM_MASK 0x0000000000000700UL 6467f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_DESTMODE_SHFT 11 6477f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_DESTMODE_MASK 0x0000000000000800UL 6487f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_STATUS_SHFT 12 6497f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_STATUS_MASK 0x0000000000001000UL 6507f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_P_SHFT 13 6517f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_P_MASK 0x0000000000002000UL 6527f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_T_SHFT 15 6537f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_T_MASK 0x0000000000008000UL 6547f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_M_SHFT 16 6557f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_M_MASK 0x0000000000010000UL 6567f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_APIC_ID_SHFT 32 6577f30491cSTony Luck #define UVH_RTC2_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 6587f30491cSTony Luck 6597f30491cSTony Luck union uvh_rtc2_int_config_u { 6607f30491cSTony Luck unsigned long v; 6617f30491cSTony Luck struct uvh_rtc2_int_config_s { 6627f30491cSTony Luck unsigned long vector_ : 8; /* RW */ 6637f30491cSTony Luck unsigned long dm : 3; /* RW */ 6647f30491cSTony Luck unsigned long destmode : 1; /* RW */ 6657f30491cSTony Luck unsigned long status : 1; /* RO */ 6667f30491cSTony Luck unsigned long p : 1; /* RO */ 6677f30491cSTony Luck unsigned long rsvd_14 : 1; /* */ 6687f30491cSTony Luck unsigned long t : 1; /* RO */ 6697f30491cSTony Luck unsigned long m : 1; /* RW */ 6707f30491cSTony Luck unsigned long rsvd_17_31: 15; /* */ 6717f30491cSTony Luck unsigned long apic_id : 32; /* RW */ 6727f30491cSTony Luck } s; 6737f30491cSTony Luck }; 6747f30491cSTony Luck 6757f30491cSTony Luck /* ========================================================================= */ 6767f30491cSTony Luck /* UVH_RTC3_INT_CONFIG */ 6777f30491cSTony Luck /* ========================================================================= */ 6787f30491cSTony Luck #define UVH_RTC3_INT_CONFIG 0x61640UL 6797f30491cSTony Luck 6807f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_VECTOR_SHFT 0 6817f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_VECTOR_MASK 0x00000000000000ffUL 6827f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_DM_SHFT 8 6837f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_DM_MASK 0x0000000000000700UL 6847f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_DESTMODE_SHFT 11 6857f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_DESTMODE_MASK 0x0000000000000800UL 6867f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_STATUS_SHFT 12 6877f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_STATUS_MASK 0x0000000000001000UL 6887f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_P_SHFT 13 6897f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_P_MASK 0x0000000000002000UL 6907f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_T_SHFT 15 6917f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_T_MASK 0x0000000000008000UL 6927f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_M_SHFT 16 6937f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_M_MASK 0x0000000000010000UL 6947f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_APIC_ID_SHFT 32 6957f30491cSTony Luck #define UVH_RTC3_INT_CONFIG_APIC_ID_MASK 0xffffffff00000000UL 6967f30491cSTony Luck 6977f30491cSTony Luck union uvh_rtc3_int_config_u { 6987f30491cSTony Luck unsigned long v; 6997f30491cSTony Luck struct uvh_rtc3_int_config_s { 7007f30491cSTony Luck unsigned long vector_ : 8; /* RW */ 7017f30491cSTony Luck unsigned long dm : 3; /* RW */ 7027f30491cSTony Luck unsigned long destmode : 1; /* RW */ 7037f30491cSTony Luck unsigned long status : 1; /* RO */ 7047f30491cSTony Luck unsigned long p : 1; /* RO */ 7057f30491cSTony Luck unsigned long rsvd_14 : 1; /* */ 7067f30491cSTony Luck unsigned long t : 1; /* RO */ 7077f30491cSTony Luck unsigned long m : 1; /* RW */ 7087f30491cSTony Luck unsigned long rsvd_17_31: 15; /* */ 7097f30491cSTony Luck unsigned long apic_id : 32; /* RW */ 7107f30491cSTony Luck } s; 7117f30491cSTony Luck }; 7127f30491cSTony Luck 7137f30491cSTony Luck /* ========================================================================= */ 7147f30491cSTony Luck /* UVH_RTC_INC_RATIO */ 7157f30491cSTony Luck /* ========================================================================= */ 7167f30491cSTony Luck #define UVH_RTC_INC_RATIO 0x350000UL 7177f30491cSTony Luck 7187f30491cSTony Luck #define UVH_RTC_INC_RATIO_FRACTION_SHFT 0 7197f30491cSTony Luck #define UVH_RTC_INC_RATIO_FRACTION_MASK 0x00000000000fffffUL 7207f30491cSTony Luck #define UVH_RTC_INC_RATIO_RATIO_SHFT 20 7217f30491cSTony Luck #define UVH_RTC_INC_RATIO_RATIO_MASK 0x0000000000700000UL 7227f30491cSTony Luck 7237f30491cSTony Luck union uvh_rtc_inc_ratio_u { 7247f30491cSTony Luck unsigned long v; 7257f30491cSTony Luck struct uvh_rtc_inc_ratio_s { 7267f30491cSTony Luck unsigned long fraction : 20; /* RW */ 7277f30491cSTony Luck unsigned long ratio : 3; /* RW */ 7287f30491cSTony Luck unsigned long rsvd_23_63: 41; /* */ 7297f30491cSTony Luck } s; 7307f30491cSTony Luck }; 7317f30491cSTony Luck 7327f30491cSTony Luck /* ========================================================================= */ 7337f30491cSTony Luck /* UVH_SI_ADDR_MAP_CONFIG */ 7347f30491cSTony Luck /* ========================================================================= */ 7357f30491cSTony Luck #define UVH_SI_ADDR_MAP_CONFIG 0xc80000UL 7367f30491cSTony Luck 7377f30491cSTony Luck #define UVH_SI_ADDR_MAP_CONFIG_M_SKT_SHFT 0 7387f30491cSTony Luck #define UVH_SI_ADDR_MAP_CONFIG_M_SKT_MASK 0x000000000000003fUL 7397f30491cSTony Luck #define UVH_SI_ADDR_MAP_CONFIG_N_SKT_SHFT 8 7407f30491cSTony Luck #define UVH_SI_ADDR_MAP_CONFIG_N_SKT_MASK 0x0000000000000f00UL 7417f30491cSTony Luck 7427f30491cSTony Luck union uvh_si_addr_map_config_u { 7437f30491cSTony Luck unsigned long v; 7447f30491cSTony Luck struct uvh_si_addr_map_config_s { 7457f30491cSTony Luck unsigned long m_skt : 6; /* RW */ 7467f30491cSTony Luck unsigned long rsvd_6_7: 2; /* */ 7477f30491cSTony Luck unsigned long n_skt : 4; /* RW */ 7487f30491cSTony Luck unsigned long rsvd_12_63: 52; /* */ 7497f30491cSTony Luck } s; 7507f30491cSTony Luck }; 7517f30491cSTony Luck 7527f30491cSTony Luck /* ========================================================================= */ 7537f30491cSTony Luck /* UVH_SI_ALIAS0_OVERLAY_CONFIG */ 7547f30491cSTony Luck /* ========================================================================= */ 7557f30491cSTony Luck #define UVH_SI_ALIAS0_OVERLAY_CONFIG 0xc80008UL 7567f30491cSTony Luck 7577f30491cSTony Luck #define UVH_SI_ALIAS0_OVERLAY_CONFIG_BASE_SHFT 24 7587f30491cSTony Luck #define UVH_SI_ALIAS0_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL 7597f30491cSTony Luck #define UVH_SI_ALIAS0_OVERLAY_CONFIG_M_ALIAS_SHFT 48 7607f30491cSTony Luck #define UVH_SI_ALIAS0_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL 7617f30491cSTony Luck #define UVH_SI_ALIAS0_OVERLAY_CONFIG_ENABLE_SHFT 63 7627f30491cSTony Luck #define UVH_SI_ALIAS0_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL 7637f30491cSTony Luck 7647f30491cSTony Luck union uvh_si_alias0_overlay_config_u { 7657f30491cSTony Luck unsigned long v; 7667f30491cSTony Luck struct uvh_si_alias0_overlay_config_s { 7677f30491cSTony Luck unsigned long rsvd_0_23: 24; /* */ 7687f30491cSTony Luck unsigned long base : 8; /* RW */ 7697f30491cSTony Luck unsigned long rsvd_32_47: 16; /* */ 7707f30491cSTony Luck unsigned long m_alias : 5; /* RW */ 7717f30491cSTony Luck unsigned long rsvd_53_62: 10; /* */ 7727f30491cSTony Luck unsigned long enable : 1; /* RW */ 7737f30491cSTony Luck } s; 7747f30491cSTony Luck }; 7757f30491cSTony Luck 7767f30491cSTony Luck /* ========================================================================= */ 7777f30491cSTony Luck /* UVH_SI_ALIAS1_OVERLAY_CONFIG */ 7787f30491cSTony Luck /* ========================================================================= */ 7797f30491cSTony Luck #define UVH_SI_ALIAS1_OVERLAY_CONFIG 0xc80010UL 7807f30491cSTony Luck 7817f30491cSTony Luck #define UVH_SI_ALIAS1_OVERLAY_CONFIG_BASE_SHFT 24 7827f30491cSTony Luck #define UVH_SI_ALIAS1_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL 7837f30491cSTony Luck #define UVH_SI_ALIAS1_OVERLAY_CONFIG_M_ALIAS_SHFT 48 7847f30491cSTony Luck #define UVH_SI_ALIAS1_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL 7857f30491cSTony Luck #define UVH_SI_ALIAS1_OVERLAY_CONFIG_ENABLE_SHFT 63 7867f30491cSTony Luck #define UVH_SI_ALIAS1_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL 7877f30491cSTony Luck 7887f30491cSTony Luck union uvh_si_alias1_overlay_config_u { 7897f30491cSTony Luck unsigned long v; 7907f30491cSTony Luck struct uvh_si_alias1_overlay_config_s { 7917f30491cSTony Luck unsigned long rsvd_0_23: 24; /* */ 7927f30491cSTony Luck unsigned long base : 8; /* RW */ 7937f30491cSTony Luck unsigned long rsvd_32_47: 16; /* */ 7947f30491cSTony Luck unsigned long m_alias : 5; /* RW */ 7957f30491cSTony Luck unsigned long rsvd_53_62: 10; /* */ 7967f30491cSTony Luck unsigned long enable : 1; /* RW */ 7977f30491cSTony Luck } s; 7987f30491cSTony Luck }; 7997f30491cSTony Luck 8007f30491cSTony Luck /* ========================================================================= */ 8017f30491cSTony Luck /* UVH_SI_ALIAS2_OVERLAY_CONFIG */ 8027f30491cSTony Luck /* ========================================================================= */ 8037f30491cSTony Luck #define UVH_SI_ALIAS2_OVERLAY_CONFIG 0xc80018UL 8047f30491cSTony Luck 8057f30491cSTony Luck #define UVH_SI_ALIAS2_OVERLAY_CONFIG_BASE_SHFT 24 8067f30491cSTony Luck #define UVH_SI_ALIAS2_OVERLAY_CONFIG_BASE_MASK 0x00000000ff000000UL 8077f30491cSTony Luck #define UVH_SI_ALIAS2_OVERLAY_CONFIG_M_ALIAS_SHFT 48 8087f30491cSTony Luck #define UVH_SI_ALIAS2_OVERLAY_CONFIG_M_ALIAS_MASK 0x001f000000000000UL 8097f30491cSTony Luck #define UVH_SI_ALIAS2_OVERLAY_CONFIG_ENABLE_SHFT 63 8107f30491cSTony Luck #define UVH_SI_ALIAS2_OVERLAY_CONFIG_ENABLE_MASK 0x8000000000000000UL 8117f30491cSTony Luck 8127f30491cSTony Luck union uvh_si_alias2_overlay_config_u { 8137f30491cSTony Luck unsigned long v; 8147f30491cSTony Luck struct uvh_si_alias2_overlay_config_s { 8157f30491cSTony Luck unsigned long rsvd_0_23: 24; /* */ 8167f30491cSTony Luck unsigned long base : 8; /* RW */ 8177f30491cSTony Luck unsigned long rsvd_32_47: 16; /* */ 8187f30491cSTony Luck unsigned long m_alias : 5; /* RW */ 8197f30491cSTony Luck unsigned long rsvd_53_62: 10; /* */ 8207f30491cSTony Luck unsigned long enable : 1; /* RW */ 8217f30491cSTony Luck } s; 8227f30491cSTony Luck }; 8237f30491cSTony Luck 8247f30491cSTony Luck 825*c7296700SJack Steiner #endif /* _ASM_IA64_UV_UV_MMRS_H */ 826