diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-27 09:42:43 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-27 09:42:43 -0700 |
commit | 88ede8209efd01b4a557ddd588875544954e170a (patch) | |
tree | faa926f325a2c6c04a48793cf734502c8a078ea1 /include/asm-mips/pgtable.h | |
parent | 96665822dc43957d4337509e138017dc1cb960b1 (diff) | |
parent | 23dd6d351a2f8157602e854e3a147a04cf7279a1 (diff) |
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (60 commits)
[MIPS] Fulong doesn't need ISA DMA.
[MIPS] IP27: intr_sconnect_level: don't disable interrupts.
[MIPS] IP27: startup_bridge_irq: connect interrupt.
[MIPS] IP27: shutdown_bridge_irq: don't free irq.
[MIPS] Sort out handling of ISA-less PCI systems.
[MIPS] Add __cmpdi2
[MIPS] HOTPLUG: Make register_pci_controller __devinit.
[MIPS] PCI: Remove __devinit attribute from pcibios_fixup_bus.
[MIPS] PCI: Remove __devinit attribute from pcibios_fixup_bus.
[MIPS] Delete duplicate inclusion of <linux/delay.h>.
[MIPS] Polish <asm/edac.h>.
[MIPS] IP22: Export sgi_gfxaddr for use by the Newport console driver.
[MIPS] Maintain si_code field properly for FP exceptions
[MIPS] SMTC: Fix duplicate status dumps on NMI
[MIPS] Unconditionally writeback and invalidate caches on kexec.
[PATCH] rtc: Make rtc-rs5c348 driver hotplug-aware
[MIPS] Fix gcc 3.3 warning.
[MIPS] Fix invalid semicolon after if statement
[MIPS] Update Cobalt defconfig
[MIPS] Update workpad_defconfig
...
Diffstat (limited to 'include/asm-mips/pgtable.h')
-rw-r--r-- | include/asm-mips/pgtable.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/include/asm-mips/pgtable.h b/include/asm-mips/pgtable.h index 2e2d70d13ff..d2ee2815674 100644 --- a/include/asm-mips/pgtable.h +++ b/include/asm-mips/pgtable.h @@ -168,11 +168,15 @@ 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]; +/* + * We used to declare this array with size but gcc 3.3 and older are not able + * to find that this expression is a constant, so the size is dropped. + */ +extern pgd_t swapper_pg_dir[]; /* * The following only work if pte_present() is true. |