From: Ralf Baechle Date: Wed, 17 Aug 2005 10:11:10 +0000 (+0000) Subject: On CONFIG_64BIT_PHYS_ADDR, pfn always fits in 'unsigned long', but X-Git-Tag: v2.6.15-rc1~731^2~1^2~102 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=533330bf7fa19854f3b4accd2b84ff58e3ee160f;p=linux-2.6 On CONFIG_64BIT_PHYS_ADDR, pfn always fits in 'unsigned long', but pfn< --- diff --git a/include/asm-mips/pgtable-32.h b/include/asm-mips/pgtable-32.h index 217afc375a..0cff64ce0f 100644 --- a/include/asm-mips/pgtable-32.h +++ b/include/asm-mips/pgtable-32.h @@ -137,7 +137,7 @@ pfn_pte(unsigned long pfn, pgprot_t prot) #define pfn_pte(pfn, prot) __pte(((pfn) << (PAGE_SHIFT + 2)) | pgprot_val(prot)) #else #define pte_pfn(x) ((unsigned long)((x).pte >> PAGE_SHIFT)) -#define pfn_pte(pfn, prot) __pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot)) +#define pfn_pte(pfn, prot) __pte(((unsigned long long)(pfn) << PAGE_SHIFT) | pgprot_val(prot)) #endif #endif /* defined(CONFIG_64BIT_PHYS_ADDR) && defined(CONFIG_CPU_MIPS32_R1) */