swapper_pmd_dir + (shift / sizeof(pgd_t))); 
swapper_low_pmd_dir + (shift / sizeof(pgd_t))); 
void __init paging_init(void){	extern pmd_t swapper_pmd_dir[1024];	unsigned long end_pfn, pages_avail, shift;	unsigned long real_end;	set_bit(0, mmu_context_bmap);	shift = kern_base + PAGE_OFFSET - ((unsigned long)KERNBASE);	real_end = (unsigned long)_end;	if ((real_end > ((unsigned long)KERNBASE + 0x400000)))		bigkernel = 1;	if ((real_end > ((unsigned long)KERNBASE + 0x800000))) {		prom_printf("paging_init: Kernel > 8MB, too large.\n");		prom_halt();	}	/* Set kernel pgd to upper alias so physical page computations	 * work.	 */	init_mm.pgd += ((shift) / (sizeof(pgd_t)));		memset(swapper_pmd_dir, 0, sizeof(swapper_pmd_dir));	/* Now can init the kernel/bad page tables. */	pud_set(pud_offset(&swapper_pg_dir[0], 0),		swapper_pmd_dir + (shift / sizeof(pgd_t)));		swapper_pgd_zero = pgd_val(swapper_pg_dir[0]);		/* Inherit non-locked OBP mappings. */	inherit_prom_mappings();		/* Ok, we can use our TLB miss and window trap handlers safely.	 * We need to do a quick peek here to see if we are on StarFire	 * or not, so setup_tba can setup the IRQ globals correctly (it	 * needs to get the hard smp processor id correctly).	 */	{		extern void setup_tba(int);		setup_tba(this_is_starfire);	}	inherit_locked_prom_mappings(1);	__flush_tlb_all();	/* Setup bootmem... */	pages_avail = 0;	last_valid_pfn = end_pfn = bootmem_init(&pages_avail);	{		unsigned long zones_size[MAX_NR_ZONES];		unsigned long zholes_size[MAX_NR_ZONES];		unsigned long npages;		int znum;		for (znum = 0; znum < MAX_NR_ZONES; znum++)			zones_size[znum] = zholes_size[znum] = 0;		npages = end_pfn - pfn_base;		zones_size[ZONE_DMA] = npages;		zholes_size[ZONE_DMA] = npages - pages_avail;		free_area_init_node(0, &contig_page_data, zones_size,				    phys_base >> PAGE_SHIFT, zholes_size);	}	device_scan();}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/56425306517ef28a9b480161cdb96d182172bc1d/init.c/clean/arch/sparc64/mm/init.c