Re: [PATCH v8 13/46] x86, mm: use pfn_range_is_mapped() with gart

From: Konrad Rzeszutek Wilk
Date: Wed Nov 28 2012 - 12:07:54 EST


On Fri, Nov 16, 2012 at 07:38:50PM -0800, Yinghai Lu wrote:
> We are going to map ram only, so under max_low_pfn_mapped,
> between 4g and max_pfn_mapped does not mean mapped at all.

Perhaps the re-write I mentioned in the earlier email could
help here.

>
> Use pfn_range_is_mapped() directly.
>
> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
> ---
> arch/x86/kernel/amd_gart_64.c | 5 ++---
> 1 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/kernel/amd_gart_64.c b/arch/x86/kernel/amd_gart_64.c
> index e663112..b574b29 100644
> --- a/arch/x86/kernel/amd_gart_64.c
> +++ b/arch/x86/kernel/amd_gart_64.c
> @@ -768,10 +768,9 @@ int __init gart_iommu_init(void)
> aper_base = info.aper_base;
> end_pfn = (aper_base>>PAGE_SHIFT) + (aper_size>>PAGE_SHIFT);
>
> - if (end_pfn > max_low_pfn_mapped) {
> - start_pfn = (aper_base>>PAGE_SHIFT);
> + start_pfn = PFN_DOWN(aper_base);
> + if (!pfn_range_is_mapped(start_pfn, end_pfn))
> init_memory_mapping(start_pfn<<PAGE_SHIFT, end_pfn<<PAGE_SHIFT);
> - }
>
> pr_info("PCI-DMA: using GART IOMMU.\n");
> iommu_size = check_iommu_size(info.aper_base, aper_size);
> --
> 1.7.7
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/