|
@@ -87,7 +87,7 @@ extern struct tsb swapper_tsb[KERNEL_TSB_NENTRIES];
|
|
|
|
|
|
static unsigned long cpu_pgsz_mask;
|
|
|
|
|
|
-#define MAX_BANKS 32
|
|
|
+#define MAX_BANKS 1024
|
|
|
|
|
|
static struct linux_prom64_registers pavail[MAX_BANKS];
|
|
|
static int pavail_ents;
|
|
@@ -1943,12 +1943,6 @@ static void __init sun4v_linear_pte_xor_finalize(void)
|
|
|
|
|
|
static unsigned long last_valid_pfn;
|
|
|
|
|
|
-/* These must be page aligned in order to not trigger the
|
|
|
- * alignment tests of pgd_bad() and pud_bad().
|
|
|
- */
|
|
|
-pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__ ((aligned (PAGE_SIZE)));
|
|
|
-static pud_t swapper_pud_dir[PTRS_PER_PUD] __attribute__ ((aligned (PAGE_SIZE)));
|
|
|
-
|
|
|
static void sun4u_pgprot_init(void);
|
|
|
static void sun4v_pgprot_init(void);
|
|
|
|
|
@@ -2002,8 +1996,6 @@ void __init paging_init(void)
|
|
|
{
|
|
|
unsigned long end_pfn, shift, phys_base;
|
|
|
unsigned long real_end, i;
|
|
|
- pud_t *pud;
|
|
|
- pmd_t *pmd;
|
|
|
int node;
|
|
|
|
|
|
setup_page_offset();
|
|
@@ -2099,20 +2091,7 @@ void __init paging_init(void)
|
|
|
*/
|
|
|
init_mm.pgd += ((shift) / (sizeof(pgd_t)));
|
|
|
|
|
|
- memset(swapper_low_pmd_dir, 0, sizeof(swapper_low_pmd_dir));
|
|
|
-
|
|
|
- /* The kernel page tables we publish into what the rest of the
|
|
|
- * world sees must be adjusted so that they see the PAGE_OFFSET
|
|
|
- * address of these in-kerenel data structures. However right
|
|
|
- * here we must access them from the kernel image side, because
|
|
|
- * the trap tables haven't been taken over and therefore we cannot
|
|
|
- * take TLB misses in the PAGE_OFFSET linear mappings yet.
|
|
|
- */
|
|
|
- pud = swapper_pud_dir + (shift / sizeof(pud_t));
|
|
|
- pgd_set(&swapper_pg_dir[0], pud);
|
|
|
-
|
|
|
- pmd = swapper_low_pmd_dir + (shift / sizeof(pmd_t));
|
|
|
- pud_set(&swapper_pud_dir[0], pmd);
|
|
|
+ memset(swapper_pg_dir, 0, sizeof(swapper_pg_dir));
|
|
|
|
|
|
inherit_prom_mappings();
|
|
|
|