return 0; 
static void map_io_page(unsigned long ea, unsigned long pa, int flags){	pgd_t *pgdp;	pmd_t *pmdp;	pte_t *ptep;	unsigned long vsid;	if (mem_init_done) {		spin_lock(&ioremap_mm.page_table_lock);		pgdp = pgd_offset_i(ea);		pmdp = pmd_alloc(&ioremap_mm, pgdp, ea);		ptep = pte_alloc_kernel(&ioremap_mm, pmdp, ea);		pa = abs_to_phys(pa);		set_pte_at(&ioremap_mm, ea, ptep, pfn_pte(pa >> PAGE_SHIFT,							  __pgprot(flags)));		spin_unlock(&ioremap_mm.page_table_lock);	} else {		unsigned long va, vpn, hash, hpteg;		/*		 * If the mm subsystem is not fully up, we cannot create a		 * linux page table entry for this mapping.  Simply bolt an		 * entry in the hardware page table.		 */		vsid = get_kernel_vsid(ea);		va = (vsid << 28) | (ea & 0xFFFFFFF);		vpn = va >> PAGE_SHIFT;		hash = hpt_hash(vpn, 0);		hpteg = ((hash & htab_hash_mask) * HPTES_PER_GROUP);		/* Panic if a pte grpup is full */		if (ppc_md.hpte_insert(hpteg, va, pa >> PAGE_SHIFT, 0,				       _PAGE_NO_CACHE|_PAGE_GUARDED|PP_RWXX,				       1, 0) == -1) {			panic("map_io_page: could not insert mapping");		}	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/58366af5861eee1479426380e3c91ecb334c301d/init.c/clean/arch/ppc64/mm/init.c