fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / asm-generic / 4level-fixup.h
index c20ec25..7b88d39 100644 (file)
 
 #define pud_t                          pgd_t
 
-#define pmd_alloc(mm, pud, address)                    \
-({     pmd_t *ret;                                     \
-       if (pgd_none(*pud))                             \
-               ret = __pmd_alloc(mm, pud, address);    \
-       else                                            \
-               ret = pmd_offset(pud, address);         \
-       ret;                                            \
-})
+#define pmd_alloc(mm, pud, address) \
+       ((unlikely(pgd_none(*(pud))) && __pmd_alloc(mm, pud, address))? \
+               NULL: pmd_offset(pud, address))
 
 #define pud_alloc(mm, pgd, address)    (pgd)
 #define pud_offset(pgd, start)         (pgd)
 #define pud_present(pud)               1
 #define pud_ERROR(pud)                 do { } while (0)
 #define pud_clear(pud)                 pgd_clear(pud)
+#define pud_val(pud)                   pgd_val(pud)
+#define pud_populate(mm, pud, pmd)     pgd_populate(mm, pud, pmd)
+#define pud_page(pud)                  pgd_page(pud)
+#define pud_page_vaddr(pud)            pgd_page_vaddr(pud)
 
 #undef pud_free_tlb
 #define pud_free_tlb(tlb, x)            do { } while (0)