Lines Matching refs:of
6 * This file contains Original Code and/or Modifications of Original Code
10 * may not be used to create, or enable the creation or redistribution of,
11 * unlawful or unlicensed copies of an Apple operating system, or to
12 * circumvent, violate, or enable the circumvention or violation of, any
13 * terms of an Apple operating system software license agreement.
15 * Please obtain a copy of the License at
53 * Because much of this code deals with physical addresses,
105 stw r6,SVsaveinusesnapshot(0) ; Save the new number of inuse saveareas
139 stw r6,SVsaveinusesnapshot(0) ; Save the new number of inuse saveareas
231 * it gets queued to the end of the list
238 mr r8,r3 ; move pagenum out of the way
242 sldi r2,r8,12 ; r2 <-- phys address of page
243 li r8,sac_cnt ; Get the number of saveareas per page
244 mr r4,r2 ; Point to start of chain
248 addic. r8,r8,-1 ; Keep track of how many we did
260 lwz r6,SVfreecnt(0) ; Get the number of free saveareas
264 std r7,SAVprev(r4) ; Queue the old first one off of us
271 slwi r2,r8,12 ; r2 <-- phys address of page
272 li r8,sac_cnt ; Get the number of saveareas per page
273 mr r4,r2 ; Point to start of chain
277 addic. r8,r8,-1 ; Keep track of how many we did
289 lwz r6,SVfreecnt(0) ; Get the number of free saveareas
293 stw r7,SAVprev+4(r4) ; Queue the old first one off of us
335 mr r4,r3 ; copy low word of phys address to r4
447 * Note that we must not take any exceptions of any kind, including PTE misses, as that
456 * r3 = 64-bit physical address of the savearea
457 * r5 = 64-bit physical address of the page the savearea is in, with SAC
467 ld r3,lclfree(r10) ; Get the start of local savearea list
492 ; r7 = return address to caller of saveGet64
498 subfic r5,r8,LocalSaveTarget ; Get the number of saveareas we need to grab to get to target
502 ld r8,SVfree(0) ; Get the head of the save area list
528 ld r4,lclfree(r10) ; Get the old head of list
530 std r6,lclfree(r10) ; Set the new head of the list
544 ; r7 = return address to caller of saveGet64
552 ld r3,lclfree(r10) ; Get the start of local savearea list
561 lis r9,hi16(EXT(backpocket)) ; Get high order of back pocket
564 lwz r8,SVfreecnt-saveanchor(r9) ; Get the new number of free elements
565 ld r7,SVfree-saveanchor(r9) ; Get the head of the chain
568 stw r8,SVfreecnt(0) ; Set the new number of free elements
570 std r7,SVfree(0) ; Set the new head of the chain
576 ori r0,r0,lo16(Choke) ; Set the rest of the choke call
590 * Note that we must not take any exceptions of any kind, including PTE misses, as that
599 * r3 = 32-bit physical address of the savearea
600 * r5 = 32-bit physical address of the page the savearea is in, with SAC
608 lwz r3,lclfree+4(r10) ; Get the start of local savearea list
632 ; r7 = return address to caller of saveGet32
638 subfic r5,r8,LocalSaveTarget ; Get the number of saveareas we need to grab to get to target
642 lwz r8,SVfree+4(0) ; Get the head of the save area list
668 lwz r4,lclfree+4(r10) ; Get the old head of list
670 stw r6,lclfree+4(r10) ; Set the new head of the list
684 ; r7 = return address to caller of saveGet32
692 lwz r3,lclfree+4(r10) ; Get the start of local savearea list
701 lis r9,hi16(EXT(backpocket)) ; Get high order of back pocket
704 lwz r8,SVfreecnt-saveanchor(r9) ; Get the new number of free elements
705 lwz r7,SVfree+4-saveanchor(r9) ; Get the head of the chain
708 stw r8,SVfreecnt(0) ; Set the new number of free elements
710 stw r7,SVfree+4(0) ; Set the new head of the chain
725 * Note really well: we can take NO exceptions of any kind,
743 rlwinm r7,r3,0,0,19 ; get virtual address of SAC area at start of page
761 rldimi r6,r5,32,0 ; merge upper and lower halves of SACvrswap together
762 xor r3,r8,r6 ; get r3 <- 64-bit physical address of this savearea
770 xor r3,r8,r6 ; get r3 <- 32-bit physical address of this savearea
785 * We can take _no_ exceptions of any kind in this code, including PTE miss, since
787 * r3 = phys addr of savearea
809 * r3 = phys address of the savearea
835 * process of restoring all context and it needs to keep it until the last second.)
838 mflr r0 ; save return to caller of saveRet64
859 ld r8,SVfree(0) ; Get the old head of the free list
860 lwz r4,SVfreecnt(0) ; Get the number of free ones
864 std r8,SAVprev(r3) ; Chain the old head to the tail of the trimmed guys
880 * r3 = phys address of the savearea
906 * process of restoring all context and it needs to keep it until the last second.)
909 mflr r0 ; save return to caller of saveRet32
930 lwz r8,SVfree+4(0) ; Get the old head of the free list
931 lwz r4,SVfreecnt(0) ; Get the number of free ones
935 stw r8,SAVprev+4(r3) ; Chain the old head to the tail of the trimmed guys
953 * the start of the pool list.
959 * When the scan is done, the saveanchor lock is released and the list of
963 * large number of saveareas, we could be disabled and holding the savearea lock
1029 sttrimmed: lwz r5,SAVprev+4(r7) ; Get the next one (for new head of free list)
1060 lis r0,0x0044 ; Get top of table
1098 mr r31,r2 ; My physical is now the head of the chain
1107 stw r2,SVpoolfwd+4(0) ; Put us on the top of the list
1139 ld r5,SAVprev(r7) ; Get the next one (for new head of free list)
1167 lis r0,0x0044 ; Get top of table
1168 rldicr r2,r6,0,51 ; r2 <- phys addr of savearea block (with control area)
1204 mr r31,r2 ; My physical is now the head of the chain
1212 std r2,SVpoolfwd(0) ; Put us on the top of the list
1243 rlwinm r3,r3,0,0,31 ; if 64-bit, clear upper half of virtual address
1328 ; r5 = bitmap of free saveareas in block at r6 (ie, SACalloc)
1351 add r2,r2,r6 ; Get the actual address of the savearea
1352 lwz r3,SVfree+4(0) ; Get the head of the chain
1355 stw r3,SAVprev+4(r2) ; Chain the rest of the list behind
1361 stw r3,SACprev+4(r2) ; The previous of my next points to my previous
1362 stw r2,SACnext+4(r3) ; The next of my previous points to my next
1411 ; r5 = bitmap of free saveareas in block at r6 (ie, SACalloc)
1437 add r2,r2,r6 ; Get the actual address of the savearea
1438 ld r3,SVfree(0) ; Get the head of the chain
1441 std r3,SAVprev(r2) ; Chain the rest of the list behind
1447 std r3,SACprev(r2) ; The previous of my next points to my previous
1448 std r2,SACnext(r3) ; The next of my previous points to my next
1506 add r6,r6,r5 ; Get the total number of saveareas
1507 addi r5,r2,-SaveLowHysteresis ; Find low end of acceptible range
1538 mr r8,r3 ; save upper half of phys address here
1540 rlwinm r5,r4,0,0,19 ; Round back to the start of the physical savearea block
1542 rldimi r5,r8,32,0 ; r5 <- 64-bit phys address of block
1547 rlwinm r3,r3,0,0,31 ; if 64-bit, zero upper half of virtual address
1556 * This routine is called at the start of all the save-area subroutines.
1605 * Undoes the effect of calling "saveSetup", ie it turns relocation and interrupts back on,