Lines Matching refs:r3
63 slwi r3,r3,12 // get page address from page num
77 sldi r3,r3,12 // get page address from page num
81 dcbz128 r3,r4 // zero either 32 or 128 bytes
83 dcbz128 r3,r5
108 rlwinm r3,r3,0,1,0 ; Duplicate high half of long long paddr into top of reg
110 rlwimi r3,r4,0,0,31 ; Combine bottom of long long to full 64-bits
122 lwz r0,0(r3)
123 addi r3,r3,4
135 lbz r0,0(r3)
136 addi r3,r3,1
181 slwi r3,r3,12 // get page address from page num
200 lfd f0,0(r3)
201 lfd f1,8(r3)
202 lfd f2,16(r3)
203 lfd f3,24(r3)
204 addi r3,r3,32
255 dcbt r3,r8 // touch 3 lines ahead
257 dcbt r3,r9 // touch 4 lines ahead
260 lvx v0,0,r3 // offset 0
261 lvx v1,r5,r3 // offset 16
262 lvx v2,r6,r3 // offset 32
263 lvx v3,r7,r3 // offset 48
264 addi r3,r3,64
306 sldi r3,r3,12 // get page address from page num
331 dcbt128 0,r3,1 // start a forward stream
337 lvx v0,0,r3 // offset 0
338 lvx v1,r5,r3 // offset 16
339 lvx v2,r6,r3 // offset 32
340 lvx v3,r7,r3 // offset 48
341 addi r3,r3,64 // don't have enough GPRs so add 64 2x
342 lvx v4,0,r3 // offset 64
343 lvx v5,r5,r3 // offset 80
344 lvx v6,r6,r3 // offset 96
345 lvx v7,r7,r3 // offset 112
346 addi r3,r3,64
399 dcbt128 0,r3,1 // start a forward stream
404 ld r0,0(r3) // Load half a line
405 ld r12,8(r3)
406 ld r5,16(r3)
407 ld r6,24(r3)
408 ld r7,32(r3)
409 ld r8,40(r3)
410 ld r9,48(r3)
411 ld r10,56(r3)
422 ld r0,64(r3) // Load half a line
423 ld r12,72(r3)
424 ld r5,80(r3)
425 ld r6,88(r3)
426 ld r7,96(r3)
427 ld r8,104(r3)
428 ld r9,112(r3)
429 ld r10,120(r3)
431 addi r3,r3,128
499 * vm_offset_t src; // r3
522 * addr64_t src; // r3 and r4
535 mr r10,r3 // move high word of 64-bit user address to r10
549 * vm_offset_t src; // r3
583 * addr64_t src; // r3 and r4
597 mr r10,r3 // move high word of 64-bit user address to r10
605 // r3 = source if copyout
626 stw r3,kkSource(r1) // save args across MapUserMemoryWindow
656 lwz r3,ACT_VMMAP(r8) // r3 <- vm_map virtual address
662 // r3 = vm map
667 // r3 = vm map ptr
682 bl EXT(MapUserMemoryWindow) // get r3/r4 <- 64-bit address in kernel map of user operand
696 rldimi r31,r3,32,0 // slam high-order bits into mapped ptr
704 // Load r3-r5, substituting mapped ptr as appropriate.
710 mr r3,r31 // source is mapped ptr
713 lwz r3,kkSource(r1) // source is kernel buffer (r3 at entry)
718 // r3 = source ptr (mapped if copyin)
727 li r3,0 // return success
733 // r3 = 0, EFAULT, or ENAMETOOLONG
761 li r3,EFAULT // return error
766 li r3,0 // return success
772 li r3,ENAMETOOLONG
780 // r3 = source ptr, mapped if copyinstr
794 mr r12,r3 // remember ptr to 1st source byte
797 rlwinm r2,r3,0,0x3 // get byte offset of 1st byte within word
798 rlwinm r9,r3,3,0x18 // get bit offset of 1st byte within word
800 sub r3,r3,r2 // word-align source address
804 lwz r5,0(r3) // get aligned word with first source byte
808 addi r3,r3,4 // advance past the source word
835 // r3 = ptr to next word of source (word aligned)
844 lwz r8,0(r3) // get next word of source
845 addi r3,r3,4 // advance past it
856 lwz r8,0(r3) // get next word of source
857 addi r3,r3,4 // advance past it
869 // r3 = word aligned ptr to next word of source (ie, r8==mem(r3-4))
872 // r8 = original source word, coming from -4(r3), possibly padded with 0xFFs on left if 1st word
884 subi r3,r3,4 // back up r3 to point to 1st byte in r8
886 add r3,r3,r7 // now r3 points one past 0 byte, or at 1st byte not xferred
896 // r3 = ptr to next byte of source
903 lbz r0,0(r3) // get next byte of source
904 addi r3,r3,1
916 // r3 = ptr to 1st source byte not transferred
923 sub r2,r3,r12 // compute #bytes copied (including the 0)
924 li r3,0 // assume success return status
927 li r3,ENAMETOOLONG // buffer filled
934 * addr64_t src; // r3 and r4
1039 rlwinm r29,r3,0,1,0 // form source address high-order bits
1059 lwz r3,ACT_VMMAP(r9) // get user's vm_map *
1067 rlwinm r28,r3,0,1,0 // convert relocated addr64_t virtual address
1091 mr r3,r27 // r3 <- pmap_t pmap
1101 mr. r3,r3 // did we find it?
1103 lwz r4,mpVAddr+4(r3) // get low half of virtual addr for hw flags
1141 lis r3,hi16(copypv_error) // get our error callback's address, high
1142 ori r3,r3,lo16(copypv_error) // get our error callback's address, low
1143 stw r3,THREAD_RECOVER(r8) // set our error callback
1148 mfmsr r3 // get current msr
1149 rldimi r3,r0,63,MSR_SF_BIT // set SF bit on in our msr copy
1150 mtmsrd r3 // enter 64-bit mode
1156 rldicl r3,r27,32,32 // r3, r4 <- addr64_t source virtual address
1163 rldicl r3,r28,32,32 // r3, r4 <- addr64_t destination virtual address
1172 mr r3,r27 // r3 <- source virtual address
1186 rldicl r3,r27,32,32 // r3, r4 <- addr64_t source virtual address
1193 rldicl r3,r28,32,32 // r3, r4 <- addr64_t destination virtual address
1202 mfmsr r3 // get current msr
1203 rldicl r3,r3,0,MSR_SF_BIT+1 // clear SF bit in our copy
1204 mtmsrd r3 // leave 64-bit mode
1215 rlwinm r3,r30,0,20,31 // does destination cross a page boundary?
1216 subfic r3,r3,4096 //
1217 cmplw r3,r27 //
1219 subf r27,r3,r27 // r27 <- byte count less initial fragment
1222 srdi r3,r27,12 // pages to update (not including crosser)
1223 add r26,r26,r3 // add in crosser
1226 mr r3,r27 // r3 <- destination page number
1229 mr. r3,r3 // is it?
1231 mr r3,r27 // r3 <- destination page number
1243 rlwinm r3,r29,0,20,31 // does source cross a page boundary?
1244 subfic r3,r3,4096 //
1245 cmplw r3,r27 //
1247 subf r27,r3,r27 // r27 <- byte count less initial fragment
1250 srdi r3,r27,12 // pages to update (not including crosser)
1251 add r26,r26,r3 // add in crosser
1254 mr r3,r27 // r3 <- source page number
1257 mr. r3,r3 // is it?
1259 mr r3,r27 // r3 <- source page number
1268 li r3,0 // our efforts were crowned with success
1294 li r3,EINVAL // invalid argument
1299 mfmsr r3 // get current msr
1300 rldicl r3,r3,0,MSR_SF_BIT+1 // clear SF bit in our copy
1301 mtmsrd r3 // leave 64-bit mode
1302 li r3,EFAULT // it was all his fault