• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.5.8/xnu-1228.15.4/osfmk/ppc/

Lines Matching refs:r2

668 			ori		r2,r2,0xFFFF				; Get mask to clean out hash table base (works for both 32- and 64-bit)
673 andc r29,r29,r2 ; Clean up hash table base
721 rlwinm r2,r21,29,29,31 ; Get slot number (8 byte entries)
726 srw r0,r0,r2 ; Get the allocation hash mask
919 addi r2,r4,-mapRemChunk ; See if mapRemChunk or more
921 srawi r2,r2,31 ; We have -1 if less than mapRemChunk or 0 if equal or more
924 cmpwi cr7,r2,0 ; Remember if we have finished
927 and r4,r4,r2 ; If more than a chunk, bring this back to 0
1015 hrmBTLBlck: lwarx r2,0,r7 ; Get the TLBIE lock
1016 mr. r2,r2 ; Is it locked?
1017 li r2,1 ; Get our lock value
1019 stwcx. r2,0,r7 ; Try to get it
1028 li r2,0 ; Lock clear value
1037 hrmBNTlbs: stw r2,tlbieLock(0) ; Clear the tlbie lock
1141 rlwinm r2,r21,28,29,31 ; Get slot number (16 byte entries)
1145 srw r0,r0,r2 ; Get slot mask to deallocate
1255 addi r2,r4,-mapRemChunk ; See if mapRemChunk or more
1257 srawi r2,r2,31 ; We have -1 if less than mapRemChunk or 0 if equal or more
1259 cmpwi cr7,r2,0 ; Remember if we are doing the last chunk
1260 and r4,r4,r2 ; If more than a chunk, bring this back to 0
1283 rlwinm r2,r30,0,16,31 ; Get the current page index
1285 xor r8,r2,r0 ; Hash the vaddr
1355 hrmBTLBlcl: lwarx r2,0,r7 ; Get the TLBIE lock
1356 mr. r2,r2 ; Is it locked?
1357 li r2,1 ; Get our lock value
1359 stwcx. r2,0,r7 ; Try to get it
1362 hrmBTLBj: sldi r2,r27,maxAdrSpb ; Move to make room for address space ID
1363 rldicr r2,r2,0,35-maxAdrSpb ; Clear out the extra
1365 xor r2,r2,r24 ; Make the VSID
1366 rldimi r2,r27,0,36 ; Insert the page portion of the VPN
1367 rldicl r2,r2,0,16 ; Clear bits 0:15 cause they say we gotta
1369 tlbie r2 ; Invalidate it everywhere
1376 li r2,0 ; Lock clear value
1380 stw r2,tlbieLock(0) ; Clear the tlbie lock
1437 hrmBTLBlcm: li r2,lgKillResv ; Get space unreserve line
1438 stwcx. r2,0,r2 ; Unreserve it
1440 hrmBTLBlcn: lwz r2,0(r7) ; Get the TLBIE lock
1441 mr. r2,r2 ; Is it held?
1600 rlwinm r2,r3,29,29,31 ; Get PTE's slot number in the PTEG (8-byte PTEs)
1604 rlwinm r2,r3,28,29,31 ; Get PTE's slot number in the PTEG (16-byte PTEs)
1609 srw r0,r0,r2 ; Position free bit
1980 mfsprg r2,2 ; Get feature flags
1986 mtcrf 0x02,r2 ; move pf64Bit cr6
2128 mfsprg r2,2 ; Get feature flags
2134 mtcrf 0x02,r2 ; move pf64Bit cr6
2892 rlwinm r2,r25,0,mpPP ; Isolate new protection bits
2895 or r5,r5,r2 ; Move in the new prot bits
2920 li r2,mpM ; Force on coherent
2924 rlwimi r2,r25,32-(mpIb-32-ppIb),mpIb-32,mpIb-32
2928 rlwimi r2,r25,32-(mpGb-32-ppGb),mpGb-32,mpGb-32
2931 or r5,r5,r2 ; Move in the new wimg
2933 lwz r2,mpPAddr(r31) ; Get the physical address
2938 rlwinm r2,r2,12,1,0 ; Copy to top and rotate to make physical address with junk left
2939 and r5,r5,r2 ; Clean stuff in top 32 bits
2940 andc r2,r2,r0 ; Clean bottom too
2941 rlwimi r5,r2,0,0,31 ; Insert low 23 to make full physical address
3501 mr r2,r3 ; Save our target
3509 cmplw r2,r5 ; See if we are in this table
3510 cmplw cr1,r2,r0 ; Check end also
3511 sub r4,r2,r5 ; Calculate index to physical entry
3553 li r2,lgKillResv ; Get a spot to kill reservation
3554 stwcx. r2,0,r2 ; Kill it...
3557 lwz r2,ppLink(r3) ; Get physent chain header
3558 rlwinm. r2,r2,0,0,0 ; Is lock clear?
3562 lwarx r2,0,r3 ; Get the lock
3563 rlwinm. r0,r2,0,0,0 ; Is it locked?
3564 oris r0,r2,0x8000 ; Set the lock bit
3619 lwarx r2,0,r5 ; Get the link and flags
3620 rlwimi r4,r2,0,ppFlags ; Insert the flags
3632 ldarx r2,0,r3 ; Get the link and flags
3633 and r5,r2,r0 ; Isolate the flags
3772 mr r19,r2 ; Remember the per_proc
4082 slwi r2,r7,2 ; Get index into the segment cache sub-tag index
4084 cmplwi r2,32 ; See if we are in the first or second half of sub-tag
4086 rlwinm r2,r2,0,27,31 ; Wrap shift so we do not shift cache entries 8-F out
4089 srw r0,r0,r2 ; Slide sub-tag mask to right slot (shift work for either half)
4090 srw r5,r30,r2 ; Slide sub-tag to right slot (shift work for either half)
4125 rlwinm r2,r30,4,28,31 ; Isolate the segment we are setting
4129 srw r0,r0,r2 ; Get bit corresponding to SR
4172 subi r2,r4,63-pmapSegCacheUse ; Force steal to wrap
4174 srawi r2,r2,31 ; Get -1 if steal index still in range
4176 and r4,r4,r2 ; Reset steal index when it should wrap
4231 andi. r2,r0,lo16(mpFIP) ; Are we handling a fault on the other side?
4232 ori r2,r0,lo16(mpFIP) ; Set the fault in progress flag
4237 rlwinm r0,r2,0,mpType ; Isolate mapping type
4240 stwcx. r2,0,r31 ; Store the flags
4275 mr r2,r25 ; Save the flag part of the mapping
4286 rlwimi r24,r2,0,20,31 ; Slap in the WIMG and prot
4361 srwi r2,r6,7 ; Align segment number with hash
4365 xor r2,r2,r11 ; Get the segment number (plus a whole bunch of extra bits)
4367 rlwinm r12,r2,14,0,3 ; Shift segment up
4368 mfsprg r2,2 ; Get feature flags
4378 rlwinm. r0,r2,0,pfSMPcapb,pfSMPcapb ; Can this be an MP box?
4399 rlwinm r2,r4,27,ppRb-32,ppCb-32 ; Position the new RC
4402 or r0,r0,r2 ; Merge in the new RC
4461 mr r2,r10 ; Save the flag part of the mapping
4478 rldimi r24,r2,0,52 ; Insert the keys, WIMG, RC, etc.
4526 lwz r10,hwSteals(r2) ; Get the steal count
4572 srdi r2,r6,26 ; Shift original segment down to bottom
4575 xor r7,r7,r2 ; Compute original segment
4588 rlwinm r2,r12,27,ppRb-32,ppCb-32 ; Position the new RC
4592 or r0,r0,r2 ; Merge in the new RC
4658 hpfIgnore: lwz r2,mpFlags(r31) ; Get the mapping flags
4659 rlwinm r2,r2,0,mpFIPb+1,mpFIPb-1 ; Clear the "fault in progress" flag
4660 sth r2,mpFlags+2(r31) ; Set it
4868 lwz r2,ppUserPmapVirt(r6) ; Get our virtual pmap address
4874 cmplw cr1,r3,r2 ; Same address space as before?
4896 lwz r2,ppUserPmapVirt(r6) ; Get our virtual pmap address
4899 cmplw cr1,r3,r2 ; Same address space as before?
5105 li r2,1 ; And a 1
5109 sth r2,ppInvSeg(r11) ; Force a reload of the SRs
5244 rlwinm r2,r0,28,0,31 ; Rotate rotate low nybble to top of low half
5245 rlwimi r2,r2,0,1,0 ; Replicate bottom 32 into top 32
5248 rlwimi r2,r0,0,4,31 ; We should now have 4 copies of the space
5266 ; r2 = |xxxx0000|AAAAAAAA|AAAAAABB|BBBBBBBB|BBBBCCCC|CCCCCCCC|CCDDDDDD|DDDDDDDD| - hash value
5288 xor r8,r8,r2 ; Calculate VSID
5294 li r2,MASK(MSR_IR)|MASK(MSR_DR) ; Get the translation bits
5298 andc r2,r11,r2 ; Turn off translation now
5299 rldimi r2,r0,63,0 ; Get bit 64-bit turned on
5301 mtmsrd r2 ; Make sure translation and EE are off and 64-bit is on
5323 lwz r2,ppSegSteal(r12) ; Get the next slot to steal
5324 addi r7,r2,pmapSegCacheUse+1 ; Select stealee from non-cached slots only
5325 addi r2,r2,1 ; Set next slot to steal
5327 subi r8,r2,64-(pmapSegCacheUse+1) ; Force steal to wrap
5331 and r2,r2,r8 ; Reset steal index when it should wrap
5334 stw r2,ppSegSteal(r12) ; Set the next slot to steal
5339 hmsFreeSeg: subi r2,r7,1 ; Adjust for skipped slb 0
5341 srd r0,r0,r2 ; Set bit mask for allocation
5358 rlwinm r2,r4,4,28,31 ; Isolate the segment we are setting
5361 srw r0,r0,r2 ; Get bit corresponding to SR
5393 li r2,MASK(MSR_IR)|MASK(MSR_DR) ; Get the translation bits
5397 andc r2,r11,r2 ; Turn off translation now
5398 rldimi r2,r0,63,0 ; Get bit 64-bit turned on
5400 mtmsrd r2 ; Make sure translation and EE are off and 64-bit is on
5419 lis r2,0x8000 ; Set up a mask
5420 srw r2,r2,r6 ; Make a mask
5421 and. r0,r4,r2 ; See if this is even valid
5428 hbsrupt: andc r4,r4,r2 ; Clear the valid bit for this segment
5447 eqv r2,r2,r2 ; Get all foxes
5450 rlwimi r4,r2,0,0,15 ; Slam in all invalid bits
5490 rlwinm r2,r3,MSR_PR_BIT+1,31,31 ; Isolate the problem mode bit
5493 or r2,r2,r3 ; This will 1 if we will be using user segments
5495 cmplw r2,r22 ; This will be EQ if same state and not ppInvSeg
5497 sub r3,r3,r2 ; Form select mask - 0 if kernel, -1 if user
5513 stw r2,ppInvSeg(r29) ; Clear request for invalidate and save ppCurSeg
5571 srw r2,r0,r12 ; Form a mask for the one we are loading
5574 andc r11,r11,r2 ; Clear the bit
5577 rlwinm r2,r5,4,28,31 ; Change the segment number to a number
5580 srw r0,r0,r2 ; Get a mask for the SR we are loading
5595 li r2,invalSpace ; Set the invalid address space VSID
5609 mtsrin r2,r23 ; Invalidate the SR
5683 li r2,1 ; Prepare for 64 bit
5694 msuSF: rldimi r0,r2,63,MSR_SF_BIT ; set SF bit (bit 0)
5701 msuNoMSR: mr r2,r3 ; Save R3 across call
5705 mr r3,r2 ; Restore R3
5810 rlwinm r2,r3,29,29,31 ; Get PTE's slot number in the PTEG (8-byte PTEs)
5813 rlwinm r2,r3,28,29,31 ; Get PTE's slot number in the PTEG (16-byte PTEs)
5817 srw r0,r0,r2 ; Position free bit
6055 rlwinm r2,r3,29,29,31 ; Get PTE's slot number in the PTEG (8-byte PTEs)
6058 rlwinm r2,r3,28,29,31 ; Get PTE's slot number in the PTEG (16-byte PTEs)
6062 srw r0,r0,r2 ; Position free bit
6275 rlwinm r2,r3,29,29,31 ; Get PTE's slot number in the PTEG (8-byte PTEs)
6278 rlwinm r2,r3,28,29,31 ; Get PTE's slot number in the PTEG (16-byte PTEs)
6282 srw r0,r0,r2 ; Position free bit
6639 or r2,r22,r12 ; r2 <- 1st mapping to search
6640 lwz r3,mpFlags(r2) ; r3 <- 1st mapping slot's flags
6649 mr r31,r2 ; r31 <- current mapping's address
6650 or r2,r22,r12 ; r2 <- next mapping to search
6652 lwz r3,mpFlags(r2) ; r3 <- next mapping slot's flags
6662 mr r31,r2 ; r31 <- final mapping's address
6689 rlwinm r2,r3,29,29,31 ; Get PTE's slot number in the PTEG (8-byte PTEs)
6692 rlwinm r2,r3,28,29,31 ; Get PTE's slot number in the PTEG (16-byte PTEs)
6696 srw r0,r0,r2 ; Position free bit
6773 li r2,0 ; Get a zero
6776 stw r2,mpPte(r31) ; Set mapping's pte pointer invalid
7004 rlwinm r2,r3,29,29,31 ; Get PTE's slot number in the PTEG (8-byte PTEs)
7007 rlwinm r2,r3,28,29,31 ; Get PTE's slot number in the PTEG (16-byte PTEs)
7011 srw r0,r0,r2 ; Position free bit
7932 rlwinm r2,r3,29,29,31 ; Get PTE's slot number in the PTEG (8-byte PTEs)
7935 rlwinm r2,r3,28,29,31 ; Get PTE's slot number in the PTEG (16-byte PTEs)
7939 srw r0,r0,r2 ; Position free bit
7997 mr r2,r3 ; Save our target
8005 cmplw r2,r5 ; See if we are in this table
8006 cmplw cr1,r2,r0 ; Check end also
8007 sub r4,r2,r5 ; Calculate index to physical entry
8016 mapFindOv: lwz r2,0(r3) ; Get the lock contents right now
8017 rlwinm. r0,r2,0,0,0 ; Is it locked?
8020 lwarx r2,0,r3 ; Get the lock
8021 rlwinm. r0,r2,0,0,0 ; Is it locked?
8022 oris r0,r2,0x8000 ; Set the lock bit
8029 mapFindKl: li r2,lgKillResv ; Killing field
8030 stwcx. r2,0,r2 ; Trash reservation...
8092 rlwinm r2,r10,1,0,30 ; Shift over 1
8094 and r2,r2,r10 ; AND the even/odd pair into the even
8096 rlwinm r10,r2,2,0,28 ; Shift over 2
8098 and r10,r2,r10 ; AND the even of the ANDed pairs giving the AND of all 4 bits in 0, 4, ...
8105 rlwinm r2,r9,3,1,28 ; Slide adjacent next to each other
8107 or r9,r2,r9 ; Merge them
8109 rlwinm r2,r9,6,2,26 ; Slide adjacent pairs next to each other
8111 or r9,r2,r9 ; Merge them
8127 srw r2,r0,r5 ; Get validity mask bit
8129 andc r6,r6,r2 ; Clear the validity bit we just tried
8170 mflr r2 ; Save the return
8178 mtlr r2 ; Restore the LR
8193 lwz r2,mrPhysTab(r11) ; Get the physical table bank pointer
8196 addi r2,r2,4 ; Offset to last half of field
8201 mMmrgRC: lwarx r10,r11,r2 ; Get the master RC
8204 stwcx. r0,r11,r2 ; Try to stick it back
8226 mflr r2 ; Save the return
8233 mtlr r2 ; Restore the LR
8271 mflr r2 ; Save the return
8279 mtlr r2 ; Restore the LR
8294 mfsprg r2,2 ; Get feature flags
8302 rlwinm. r0,r2,0,pfSMPcapb,pfSMPcapb ; Can this be an MP box?
8323 lwz r2,mrPhysTab(r11) ; Get the physical table bank pointer
8326 addi r2,r2,4 ; Offset to last half of field
8332 mImrgRC: lwarx r10,r11,r2 ; Get the master RC
8335 stwcx. r0,r11,r2 ; Try to stick it back
8359 mflr r2 ; Save the return
8366 mtlr r2 ; Restore the LR
8378 rldicr r2,r4,16,35 ; Shift the AVPN over to match VPN
8380 rldimi r2,r5,0,36 ; Cram in the page portion of the EA
8390 rldicl r2,r2,0,16 ; Clear bits 0:15 because we are under orders
8394 tlbie r2 ; Invalidate it everywhere
8500 srw r2,r9,r4 ; Get mask to isolate selected inuse and autogen flags
8502 and r8,r6,r2 ; Isolate the old in use and autogen bits
8503 andc r6,r6,r2 ; Allocate the slot and also clear autogen flag
8505 and r2,r2,r10 ; Keep the autogen part if autogen
8507 or r6,r6,r2 ; Add in the new autogen bit
8544 sxlkCTry: lwarx r2,0,r3 ; Get the lock word
8545 cmplwi r2,1 ; Does it just have our share?
8546 subi r2,r2,1 ; Drop our share in case we do not get it
8556 stwcx. r2,0,r3 ; Try to drop our share...
8573 sxlkPTry: lwarx r2,0,r3 ; Get the lock word
8574 cmplwi r2,1 ; Does it just have our share?
8583 sxlkPkill: li r2,lgKillResv ; Point to killing field
8584 stwcx. r2,0,r2 ; Kill reservation
8602 sxlkXTry: lwarx r2,0,r3 ; Get the lock word
8603 mr. r2,r2 ; Is it locked?
8614 sxlkXWait: li r2,lgKillResv ; Point to killing field
8615 stwcx. r2,0,r2 ; Kill reservation
8617 sxlkXWaiu: lwz r2,0(r3) ; Get the lock again
8618 mr. r2,r2 ; Is it free yet?
8628 sxlkShared: lwarx r2,0,r3 ; Get the lock word
8629 rlwinm. r0,r2,0,0,0 ; Is it locked exclusively?
8630 addi r2,r2,1 ; Up the share count
8632 stwcx. r2,0,r3 ; Try to take it
8641 sxlkSWait: li r2,lgKillResv ; Point to killing field
8642 stwcx. r2,0,r2 ; Kill reservation
8644 sxlkSWaiu: lwz r2,0(r3) ; Get the lock again
8645 rlwinm. r0,r2,0,0,0 ; Is it locked exclusively?
8657 sxlkUnTry: lwarx r2,0,r3 ; Get the lock
8658 rlwinm. r0,r2,0,0,0 ; Do we hold it exclusively?
8659 subi r2,r2,1 ; Remove our share if we have one
8663 stwcx. r2,0,r3 ; Try to lose our share
8681 lis r2,0x0200 ; Get vec
8683 ori r2,r2,0x2000 ; Get FP
8687 andc r5,r5,r2 ; Clear out permanent turn-offs
8689 ori r2,r2,0x8030 ; Clear IR, DR and EE
8691 andc r0,r5,r2 ; Kill them
8697 mtmsr r2 ; Interrupts and translation off
8700 li r2,4096/32 ; Get number of cache lines
8703 addic. r2,r2,-1 ; Count down
8721 fpSF1: li r2,1
8722 sldi r2,r2,63 ; Get 64-bit bit
8723 or r0,r0,r2 ; Turn on 64-bit
8729 li r2,4096/128 ; Get number of cache lines
8732 addic. r2,r2,-1 ; Count down