Re: [PATCH] arm64: ARCH_PFN_OFFSET should be unsigned long

From: Will Deacon
Date: Tue Oct 28 2014 - 08:36:26 EST


On Tue, Oct 28, 2014 at 05:44:01AM +0000, Neil Zhang wrote:
> pfns are unsigned long, but PHYS_PFN_OFFSET is phys_addr_t. This leads
> to page_to_pfn() returning phys_addr_t which cause type mismatches in
> some print statements.

Do you have a specific example? Both of those types are 64-bit on arm64.

Will

> Signed-off-by: Neil Zhang <zhangwm@xxxxxxxxxxx>
> ---
> arch/arm64/include/asm/memory.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
> index ccc7087..a62cd07 100644
> --- a/arch/arm64/include/asm/memory.h
> +++ b/arch/arm64/include/asm/memory.h
> @@ -142,7 +142,7 @@ static inline void *phys_to_virt(phys_addr_t x)
> * virt_to_page(k) convert a _valid_ virtual address to struct page *
> * virt_addr_valid(k) indicates whether a virtual address is valid
> */
> -#define ARCH_PFN_OFFSET PHYS_PFN_OFFSET
> +#define ARCH_PFN_OFFSET ((unsigned long)PHYS_PFN_OFFSET)
>
> #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)
> #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
> --
> 1.7.9.5
>
>
--
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/