Lines Matching refs:is
52 ; Otherwise do a normal bcopy_phys. This routine is used because some 32-bit processors
57 ; - Interrupts must be disabled when this routine is called.
61 ; is loaded. We do not touch the IBATs, so there is no issue if either physical page
62 ; address is the same as the virtual address of the instructions we are executing.
71 ; Note also that this routine is used only on 32-bit machines. If you're contemplating use
73 ; for an example of how this is done.
92 ; This test for page overflow may not work if the length is negative. Negative lengths are invalid input
130 sync ; Make sure all is well
145 ; This routine is used on 32 and 64-bit machines.
192 lwz r0,BCOPY_SF_SIZE+8(r1) ; get return address once translation is back on
201 ori r8,r9,lo16(MASK(MSR_DR)) ; make a copy with DR back on... this is what we return to caller
202 srdi r2,r3,31 ; Get a 1 if source is in I/O memory
204 srdi r10,r4,31 ; Get a 1 if sink is in I/O memory
211 cror cr7_eq,cr0_eq,cr7_eq ; See if either source or sink is in I/O area
212 beq-- cr7,io_space_real_mode_copy ; an operand is in I/O space
222 lwz r0,BCOPY_SF_SIZE+8(r1) ; get return address once translation is back on
223 ld r8,BCOPY_SF_MSR(r1) ; get caller's MSR once translation is back on
229 ; We need to copy with DR off, but one of the operands is in I/O space. To avoid wedging U3,
232 ; this state, so we have to disable interrupts as well. This is an unpleasant hack.
247 slbie r12 ; Make sure the ERAT is cleared
264 slbie r12 ; Make sure the ERAT is cleared
273 ; reverse when it wasn't necessary to do so. This is OK, since performance of the two cases
274 ; is similar. We do get the direction right when it counts (ie, when the operands overlap.)
275 ; Also note that we use the G3/G4 "backend" code, even on G5. This is OK too, since G5 has
289 mtcrf 1,r5 ; ...which is faster on G4 and G5
298 ; NOTE: bcopy is called from copyin and copyout etc with the "thread_recover" ptr set.
301 ; to the thread_recover routine. What this means is that it would be hard to use vector or floating point
412 mtcrf 0x02,r0 ; ...since moving more than one is slower on G4 and G5
421 ; Sink is halfword aligned here
429 ; Sink is word aligned here
437 ; Sink is double aligned here
447 ; Sink is quadword aligned here
461 ; Sink is line aligned here
465 mtcrf 0x01,r5 ; ...since moving more than one is slower on G4 and G5
567 mtcrf 0x02,r0 ; ...since moving more than one is slower on G4 and G5
578 ; Sink is halfword aligned here
586 ; Sink is word aligned here
594 ; Sink is double aligned here
604 ; Sink is quadword aligned here
618 ; Sink is line aligned here
622 mtcrf 0x01,r5 ; ...since moving more than one is slower on G4 and G5
732 // Forward, cached or doubleword aligned uncached. This is the common case.
756 c64double1: // copy bytes until dest is doubleword aligned
769 c64double3: // copy doublewords until dest is 128-byte aligned
875 // a byte at a time, but that is still much faster than alignment exceptions.
907 // Reverse doubleword copies. This is used for all cached copies, and doubleword