|
@@ -318,13 +318,13 @@ uv_gpa_in_mmr_space(unsigned long gpa)
|
|
/* UV global physical address --> socket phys RAM */
|
|
/* UV global physical address --> socket phys RAM */
|
|
static inline unsigned long uv_gpa_to_soc_phys_ram(unsigned long gpa)
|
|
static inline unsigned long uv_gpa_to_soc_phys_ram(unsigned long gpa)
|
|
{
|
|
{
|
|
- unsigned long paddr = gpa & uv_hub_info->gpa_mask;
|
|
|
|
|
|
+ unsigned long paddr;
|
|
unsigned long remap_base = uv_hub_info->lowmem_remap_base;
|
|
unsigned long remap_base = uv_hub_info->lowmem_remap_base;
|
|
unsigned long remap_top = uv_hub_info->lowmem_remap_top;
|
|
unsigned long remap_top = uv_hub_info->lowmem_remap_top;
|
|
|
|
|
|
gpa = ((gpa << uv_hub_info->m_shift) >> uv_hub_info->m_shift) |
|
|
gpa = ((gpa << uv_hub_info->m_shift) >> uv_hub_info->m_shift) |
|
|
((gpa >> uv_hub_info->n_lshift) << uv_hub_info->m_val);
|
|
((gpa >> uv_hub_info->n_lshift) << uv_hub_info->m_val);
|
|
- gpa = gpa & uv_hub_info->gpa_mask;
|
|
|
|
|
|
+ paddr = gpa & uv_hub_info->gpa_mask;
|
|
if (paddr >= remap_base && paddr < remap_base + remap_top)
|
|
if (paddr >= remap_base && paddr < remap_base + remap_top)
|
|
paddr -= remap_base;
|
|
paddr -= remap_base;
|
|
return paddr;
|
|
return paddr;
|