Lines Matching refs:source
1580 * says which of the parameters is physical and if we need to flush sink/source.
1595 hw_copypv_32(addr64_t source, addr64_t sink, unsigned int size, int which)
1623 } else if (!(which & cppvPsrc)) { /* Is source page virtual? */
1624 vaddr = source; /* Source side is virtual */
1626 prot = VM_PROT_READ; /* Virtual source is always read only */
1663 /* Note that we have to have the destination writable. So, if we already have it, or we are mapping the source,
1666 if((which & cppvPsnk) || !(mp->mpVAddr & 1)) break; /* We got it mapped R/W or the source is not virtual, leave... */
1679 if(which & cppvPsrc) sink = paddr; /* If source is physical, then the sink is virtual */
1680 else source = paddr; /* Otherwise the source is */
1684 if(lop > (unsigned int)(4096LL - (source & 4095LL))) lop = (unsigned int)(4096LL - (source & 4095LL)); /* No, source is smaller */
1689 if(which & cppvFsrc) flush_dcache64(source, csize, 1); /* If requested, flush source before move */
1692 bcopy_physvir_32(source, sink, csize); /* Do a physical copy, virtually */
1694 if(which & cppvFsrc) flush_dcache64(source, csize, 1); /* If requested, flush source after move */
1707 physent = mapping_phys_lookup(source >> 12, &pindex); /* Get physical entry for source */
1708 if(physent) mapping_set_ref((ppnum_t)(source >> 12)); /* Make sure we know that it is modified */
1712 source = source + csize; /* Bump source to next physical address */