pte_val(entry) += PAGE_SIZE; 
static inline void io_remap_pte_range(struct mm_struct *mm, pte_t * pte,				      unsigned long address,				      unsigned long size,				      unsigned long offset, pgprot_t prot,				      int space){	unsigned long end;	/* clear hack bit that was used as a write_combine side-effect flag */	offset &= ~0x1UL;	address &= ~PMD_MASK;	end = address + size;	if (end > PMD_SIZE)		end = PMD_SIZE;	do {		pte_t entry;		unsigned long curend = address + PAGE_SIZE;				entry = mk_pte_io(offset, prot, space);		if (!(address & 0xffff)) {			if (!(address & 0x3fffff) && !(offset & 0x3ffffe) && end >= address + 0x400000) {				entry = mk_pte_io(offset,						  __pgprot(pgprot_val (prot) | _PAGE_SZ4MB),						  space);				curend = address + 0x400000;				offset += 0x400000;			} else if (!(address & 0x7ffff) && !(offset & 0x7fffe) && end >= address + 0x80000) {				entry = mk_pte_io(offset,						  __pgprot(pgprot_val (prot) | _PAGE_SZ512K),						  space);				curend = address + 0x80000;				offset += 0x80000;			} else if (!(offset & 0xfffe) && end >= address + 0x10000) {				entry = mk_pte_io(offset,						  __pgprot(pgprot_val (prot) | _PAGE_SZ64K),						  space);				curend = address + 0x10000;				offset += 0x10000;			} else				offset += PAGE_SIZE;		} else			offset += PAGE_SIZE;		do {			BUG_ON(!pte_none(*pte));			set_pte_at(mm, address, pte, entry);			address += PAGE_SIZE;			pte++;		} while (address < curend);	} while (address < end);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/cab3f16febeaf1a60e38159ff578f609f9976544/generic.c/buggy/arch/sparc64/mm/generic.c