From: Ralf Baechle Date: Wed, 1 Aug 2007 14:25:28 +0000 (+0100) Subject: [MIPS] Fix computation of {PGD,PMD,PTE}_T_LOG2. X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=5ff974720abec255c17af6f3732dd410d364e367;p=openwrt%2Fstaging%2Fblogic.git [MIPS] Fix computation of {PGD,PMD,PTE}_T_LOG2. For the generation of asm-offset.h to work these need to be evaulatable by gcc as a constant expression. This issue did exist for a while but didn't bite because they're only in asm-offset.h for debugging purposes. Signed-off-by: Ralf Baechle --- diff --git a/include/asm-mips/pgtable.h b/include/asm-mips/pgtable.h index 2e2d70d13ff6..e2fb9dbac3fc 100644 --- a/include/asm-mips/pgtable.h +++ b/include/asm-mips/pgtable.h @@ -168,9 +168,9 @@ static inline void pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *pt #define set_pud(pudptr, pudval) do { *(pudptr) = (pudval); } while(0) #endif -#define PGD_T_LOG2 ffz(~sizeof(pgd_t)) -#define PMD_T_LOG2 ffz(~sizeof(pmd_t)) -#define PTE_T_LOG2 ffz(~sizeof(pte_t)) +#define PGD_T_LOG2 (__builtin_ffs(sizeof(pgd_t)) - 1) +#define PMD_T_LOG2 (__builtin_ffs(sizeof(pmd_t)) - 1) +#define PTE_T_LOG2 (__builtin_ffs(sizeof(pte_t)) - 1) extern pgd_t swapper_pg_dir[PTRS_PER_PGD];