Lines Matching refs:this
8 * Version 2.0 (the 'License'). You may not use this file except in
16 * http://www.opensource.apple.com/apsl/ and read it before using this file.
52 * this, albeit with diminishing efficiency.
134 ld r4,mpVAddr(r3) ; get va for this mapping (plus flags in low 12 bits)
139 la r8,mpList0(r3) ; point to skip list vector in this mapping
141 beq-- cr1,mapSrch64Found ; this is the correct mapping
174 add r10,r10,r0 ; r10 <- last page in this mapping
175 cmpld r5,r10 ; does this mapping cover our page?
222 lwz r4,mpVAddr+4(r3) ; get va for this mapping (plus flags in low 12 bits)
227 la r8,mpList0+4(r3) ; point to skip list vector in this mapping
229 beq- cr1,mapSrch32Found ; this is the correct mapping
262 add r10,r10,r0 ; r10 <- last page in this mapping
263 cmplw r5,r10 ; does this mapping cover our page?
379 ld r4,mpVAddr(r3) ; get va for this mapping (plus flags in low 12 bits)
394 beq cr1,mapSrchFull64Found ; this is the correct mapping
397 la r8,mpList0(r3) ; point to skip list vector in this mapping
421 add r4,r4,r0 ; r4 <- last page in this mapping
422 cmpld r5,r4 ; does this mapping cover our page?
462 lwz r4,mpVAddr+4(r3) ; get va for this mapping (plus flags in low 12 bits)
476 blt cr1,mapSrchFull32d ; key is less than this va, try next list
477 beq cr1,mapSrchFull32Found ; this is the correct mapping
480 la r8,mpList0+4(r3) ; point to skip list vector in this mapping
504 add r4,r4,r0 ; r4 <- last page in this mapping
505 cmplw r5,r4 ; does this mapping cover our page?
534 * determine that this mapping does not overlap other mappings in the pmap. As a side effect
540 * mapSearchFull has just been called for this mappings key
551 lwz r8,mpFlags(r4) ; get this mappings flags
554 la r11,mpList0+4(r4) ; r11 <-- base of this mappings list vector
556 andi. r9,r8,mpLists ; get #lists this mapping is on (1<=n<=27)
558 sub. r6,r9,r7 ; is this mapping on more lists than any other?
577 bgt-- mapSkipListPanic ; choke if this mapping is on too many lists
587 ; 64-bit processor: loop over each list this mapping is on
600 stdx r4,r8,r7 ; * insert new mapping in middle of this list
618 bgt- mapSkipListPanic ; choke if this mapping is on too many lists
628 ; 32-bit processor: loop over each list this mapping is on
641 stwx r4,r8,r7 ; * insert new mapping in middle of this list
659 * mapSearchFull has just been called for this mappings key
670 lwz r8,mpFlags(r4) ; get this mappings flags
672 la r11,mpList0+4(r4) ; r11 <-- base of this mappings list vector
674 andi. r9,r8,mpLists ; get #lists this mapping is on (1<=n<=27)
679 subi r8,r8,8 ; get offset to topmast (last) list this mapping is in
685 ; 64-bit processor: loop over each list this mapping is on
719 ; 32-bit processor: loop over each list this mapping is on
767 * At one point we used a simple counter to assign lists. While this gave perfect
778 * mappings in the pmap. To avoid this common situation, we clamp the list count to be no more
790 lwz r4,pmapResidentCnt(r3) ; get number of mappings in this pmap
791 lis r11,hi16(0xA7CBF5B9) ; Get polynomial (I just made this up...)
793 ori r11,r11,lo16(0xA7CBF5B9) ; Get polynomial (I just made this up...)
817 * instrumented builds. It is probably not a good idea to call this in production builds,
1005 lwz r21,pmapResidentCnt(r20); get #mappings in this pmap
1010 ; Since we walk each list this is the max number of mappings we could visit.
1016 bgt mapVer0 ; this will be a 64-bit qty on 64-bit machines
1027 ; r21 = decrementing counter of mappings in this pmap
1035 ldx r26,r25,r26 ; get 1st mapping on this list, if any
1037 cmpdi cr6,r26,0 ; set cr6_eq if this list is null ("null")
1038 cmpw cr7,r22,r28 ; set cr7_gt if this list is > pmapCurLists ("high")
1040 beql-- mapVerifyDie ; die if this list is null when it should not be, etc
1045 ; r21 = decrementing counter of mappings in this pmap
1046 ; r22 = this list# (1...kSkipListMaxLists)
1048 ; r25 = offset to this skiplist (ie, ((r22<<3)-8))
1052 lwz r29,mpFlags(r26) ; get bits for this mapping
1058 andi. r27,r29,mpLists ; get #lists this mapping is supposed to be on
1059 cmpw cr1,r27,r22 ; is it supposed to be on this list?
1064 bne++ cr1,mapVer64f ; jump if this is not highest list for this node
1066 ; This is the "highest" (last) list this mapping is on.
1075 subi r21,r21,1 ; count mappings in this pmap
1081 add r24,r28,r29 ; r24 <- address of last valid page in this mapping
1082 la r28,mpList0(r26) ; get base of this mappings vector
1084 andi. r27,r27,mpLists ; get #lists this mapping is on (1<=n<=27)
1090 ; Inner loop over each list link in this mappingss mpList vector.
1091 ; r24 = address of last valid page in this mapping
1093 ; r28 = base of this mappings list links
1097 ldx r29,r27,r28 ; get link to next mapping at this level
1112 la r28,mpList0(r26) ; get base of this mappings vector
1113 ldx r26,r25,r28 ; get next mapping on this list
1140 ; r21 = decrementing counter of mappings in this pmap
1149 lwzx r26,r25,r26 ; get the 1st mapping on this list, or 0
1150 cmpw cr7,r22,r28 ; set cr7_gt if this list is > pmapCurLists ("high")
1151 cmpwi cr6,r26,0 ; set cr6_eq if this list is null ("null")
1153 beql- mapVerifyDie ; die if this list is null when it should not be, etc
1158 ; r21 = decrementing counter of mappings in this pmap
1159 ; r22 = this list# (1...kSkipListMaxLists)
1161 ; r25 = offset to this skiplist (ie, ((r22<<3)-8))
1165 lwz r29,mpFlags(r26) ; get bits for this mapping
1174 andi. r27,r29,mpLists ; get #lists this mapping is supposed to be on
1175 cmpw cr1,r27,r22 ; is it supposed to be on this list?
1180 bne+ cr1,mapVer32f ; jump if this is not highest list for this node
1182 ; This is the "highest" (last) list this mapping is on.
1191 subi r21,r21,1 ; count mappings in this pmap
1202 add r24,r28,r29 ; r24 <- address of last valid page in this mapping
1203 la r28,mpList0+4(r26) ; get base of this mappings vector
1205 andi. r27,r27,mpLists ; get #lists this mapping is on (1<=n<=27)
1211 ; Inner loop over each list in this mappings mpList vector.
1212 ; r24 = address of last valid page in this mapping
1214 ; r28 = base of this mappings list links
1218 lwzx r29,r27,r28 ; get link to next mapping at this level
1235 la r28,mpList0+4(r26) ; get base of this mappings vector again
1236 lwzx r26,r25,r28 ; get next mapping on this list