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/asm-x86/uv | |
| 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/asm-x86/uv')
| -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 65004881de5..a4ef26e5850 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 ac984607652..37113f554a9 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 |
