{
        pud_t *pud;
 
-       pud = (pud_t *) __get_free_pages(GFP_KERNEL, PUD_ORDER);
+       pud = (pud_t *) __get_free_page(GFP_KERNEL);
        if (pud)
                pud_init((unsigned long)pud, (unsigned long)invalid_pmd_table);
        return pud;
 
 #endif
 
 #define PGD_ORDER              0
-#define PUD_ORDER              0
 
 #if CONFIG_PGTABLE_LEVELS == 2
 #define PGDIR_SHIFT    (PAGE_SHIFT + (PAGE_SHIFT - 3))
 #define PUD_SHIFT      (PMD_SHIFT + (PAGE_SHIFT - 3))
 #define PUD_SIZE       (1UL << PUD_SHIFT)
 #define PUD_MASK       (~(PUD_SIZE-1))
-#define PGDIR_SHIFT    (PUD_SHIFT + (PAGE_SHIFT + PUD_ORDER - 3))
+#define PGDIR_SHIFT    (PUD_SHIFT + (PAGE_SHIFT - 3))
 #endif
 
 #define PGDIR_SIZE     (1UL << PGDIR_SHIFT)
 
 #define PTRS_PER_PGD   ((PAGE_SIZE << PGD_ORDER) >> 3)
 #if CONFIG_PGTABLE_LEVELS > 3
-#define PTRS_PER_PUD   ((PAGE_SIZE << PUD_ORDER) >> 3)
+#define PTRS_PER_PUD   (PAGE_SIZE >> 3)
 #endif
 #if CONFIG_PGTABLE_LEVELS > 2
 #define PTRS_PER_PMD   (PAGE_SIZE >> 3)