mmu_virtual_psize)) panic("Can't map bolted IO mapping"); 
mmu_virtual_psize)) { printk(KERN_ERR "Failed to do bolted mapping IO " "memory at %016lx !\n", pa); return -ENOMEM; } 
static int map_io_page(unsigned long ea, unsigned long pa, int flags){	pgd_t *pgdp;	pud_t *pudp;	pmd_t *pmdp;	pte_t *ptep;	if (mem_init_done) {		pgdp = pgd_offset_k(ea);		pudp = pud_alloc(&init_mm, pgdp, ea);		if (!pudp)			return -ENOMEM;		pmdp = pmd_alloc(&init_mm, pudp, ea);		if (!pmdp)			return -ENOMEM;		ptep = pte_alloc_kernel(pmdp, ea);		if (!ptep)			return -ENOMEM;		set_pte_at(&init_mm, ea, ptep, pfn_pte(pa >> PAGE_SHIFT,							  __pgprot(flags)));	} else {		/*		 * 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.		 *		 */		if (htab_bolt_mapping(ea, ea + PAGE_SIZE, pa, flags,				      mmu_virtual_psize))			panic("Can't map bolted IO mapping");	}	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/77ac166fba909d520b9a21dcc28cb49081e31033/pgtable_64.c/clean/arch/powerpc/mm/pgtable_64.c