diff options
author | Jack Steiner <steiner@sgi.com> | 2008-07-01 15:45:38 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-09 01:43:23 -0400 |
commit | 83f5d894ca5280bfcd904dfeb1347c2da2b19aac (patch) | |
tree | 63c8ff85f0144a645137bebd0961fc25fce82a03 /include | |
parent | 3a9e189d69479736a0d0901c87ad08c9e328b389 (diff) |
x86: map UV chipset space - UV support
Create page table entries to map the SGI UV chipset GRU. local MMR &
global MMR ranges.
Signed-off-by: Jack Steiner <steiner@sgi.com>
Cc: linux-mm@kvack.org
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-x86/uv/uv_hub.h | 2 | ||||
-rw-r--r-- | include/asm-x86/uv/uv_mmrs.h | 46 |
2 files changed, 48 insertions, 0 deletions
diff --git a/include/asm-x86/uv/uv_hub.h b/include/asm-x86/uv/uv_hub.h index 65004881de5f..a4ef26e5850b 100644 --- a/include/asm-x86/uv/uv_hub.h +++ b/include/asm-x86/uv/uv_hub.h | |||
@@ -149,6 +149,8 @@ DECLARE_PER_CPU(struct uv_hub_info_s, __uv_hub_info); | |||
149 | #define UV_LOCAL_MMR_BASE 0xf4000000UL | 149 | #define UV_LOCAL_MMR_BASE 0xf4000000UL |
150 | #define UV_GLOBAL_MMR32_BASE 0xf8000000UL | 150 | #define UV_GLOBAL_MMR32_BASE 0xf8000000UL |
151 | #define UV_GLOBAL_MMR64_BASE (uv_hub_info->global_mmr_base) | 151 | #define UV_GLOBAL_MMR64_BASE (uv_hub_info->global_mmr_base) |
152 | #define UV_LOCAL_MMR_SIZE (64UL * 1024 * 1024) | ||
153 | #define UV_GLOBAL_MMR32_SIZE (64UL * 1024 * 1024) | ||
152 | 154 | ||
153 | #define UV_GLOBAL_MMR32_PNODE_SHIFT 15 | 155 | #define UV_GLOBAL_MMR32_PNODE_SHIFT 15 |
154 | #define UV_GLOBAL_MMR64_PNODE_SHIFT 26 | 156 | #define UV_GLOBAL_MMR64_PNODE_SHIFT 26 |
diff --git a/include/asm-x86/uv/uv_mmrs.h b/include/asm-x86/uv/uv_mmrs.h index ac9846076521..37113f554a97 100644 --- a/include/asm-x86/uv/uv_mmrs.h +++ b/include/asm-x86/uv/uv_mmrs.h | |||
@@ -713,6 +713,26 @@ union uvh_rh_gam_alias210_redirect_config_2_mmr_u { | |||
713 | }; | 713 | }; |
714 | 714 | ||
715 | /* ========================================================================= */ | 715 | /* ========================================================================= */ |
716 | /* UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR */ | ||
717 | /* ========================================================================= */ | ||
718 | #define UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR 0x1600020UL | ||
719 | |||
720 | #define UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR_BASE_SHFT 26 | ||
721 | #define UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003ffffc000000UL | ||
722 | #define UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 | ||
723 | #define UVH_RH_GAM_CFG_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL | ||
724 | |||
725 | union uvh_rh_gam_cfg_overlay_config_mmr_u { | ||
726 | unsigned long v; | ||
727 | struct uvh_rh_gam_cfg_overlay_config_mmr_s { | ||
728 | unsigned long rsvd_0_25: 26; /* */ | ||
729 | unsigned long base : 20; /* RW */ | ||
730 | unsigned long rsvd_46_62: 17; /* */ | ||
731 | unsigned long enable : 1; /* RW */ | ||
732 | } s; | ||
733 | }; | ||
734 | |||
735 | /* ========================================================================= */ | ||
716 | /* UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR */ | 736 | /* UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR */ |
717 | /* ========================================================================= */ | 737 | /* ========================================================================= */ |
718 | #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL | 738 | #define UVH_RH_GAM_GRU_OVERLAY_CONFIG_MMR 0x1600010UL |
@@ -740,6 +760,32 @@ union uvh_rh_gam_gru_overlay_config_mmr_u { | |||
740 | }; | 760 | }; |
741 | 761 | ||
742 | /* ========================================================================= */ | 762 | /* ========================================================================= */ |
763 | /* UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR */ | ||
764 | /* ========================================================================= */ | ||
765 | #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR 0x1600030UL | ||
766 | |||
767 | #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_SHFT 30 | ||
768 | #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_BASE_MASK 0x00003fffc0000000UL | ||
769 | #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_SHFT 46 | ||
770 | #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_M_IO_MASK 0x000fc00000000000UL | ||
771 | #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_SHFT 52 | ||
772 | #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_N_IO_MASK 0x00f0000000000000UL | ||
773 | #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_ENABLE_SHFT 63 | ||
774 | #define UVH_RH_GAM_MMIOH_OVERLAY_CONFIG_MMR_ENABLE_MASK 0x8000000000000000UL | ||
775 | |||
776 | union uvh_rh_gam_mmioh_overlay_config_mmr_u { | ||
777 | unsigned long v; | ||
778 | struct uvh_rh_gam_mmioh_overlay_config_mmr_s { | ||
779 | unsigned long rsvd_0_29: 30; /* */ | ||
780 | unsigned long base : 16; /* RW */ | ||
781 | unsigned long m_io : 6; /* RW */ | ||
782 | unsigned long n_io : 4; /* RW */ | ||
783 | unsigned long rsvd_56_62: 7; /* */ | ||
784 | unsigned long enable : 1; /* RW */ | ||
785 | } s; | ||
786 | }; | ||
787 | |||
788 | /* ========================================================================= */ | ||
743 | /* UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR */ | 789 | /* UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR */ |
744 | /* ========================================================================= */ | 790 | /* ========================================================================= */ |
745 | #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL | 791 | #define UVH_RH_GAM_MMR_OVERLAY_CONFIG_MMR 0x1600028UL |