"nop ! nop\n\t"
pmap_copy_page(spa, dpa)	paddr_t spa;	paddr_t dpa;{	extern int dcache_line_mask;	register paddr_t spe = spa + PAGE_SIZE;	int s;	DPRINTF(PDB_FOLLOW|PDB_PHYS, ("pmap_copy_page(%x, %x)\n", spa, dpa));	s = splhigh();	/* XXX flush cache for the spa ??? */	while (spa < spe) {		__asm volatile(			/* can use ,bc */		    "ldwas,ma 4(%0),%%r22\n\t"		    "ldwas,ma 4(%0),%%r21\n\t"		    "stwas,ma %%r22,4(%1)\n\t"		    "stwas,ma %%r21,4(%1)\n\t"		    "ldwas,ma 4(%0),%%r22\n\t"		    "ldwas,ma 4(%0),%%r21\n\t"		    "stwas,ma %%r22,4(%1)\n\t"		    "stwas,ma %%r21,4(%1)\n\t"		    : "+r" (spa), "+r" (dpa) :: "r22", "r21", "memory");		if (!(spa & dcache_line_mask))			__asm volatile(			    "rsm	%2, %%r0\n\t"			    "pdc	%3(%0)\n\t"			    "fdc	%3(%1)\n\t"			    "ssm	%2, %%r0"			    :: "r" (spa), "r" (dpa), "i" (PSW_D), "r" (-4)			    : "memory");	}	sync_caches();	splx(s);}