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

Lines Matching refs:segment

83 ;                  +--------+--------+--------+--------+--------+--------+--------+                                           left shifted "segment"
285 rlwinm r9,r30,0,4,31 ; Clear segment
938 rlwinm r8,r27,4+maxAdrSpb,31-maxAdrSpb-3,31-maxAdrSpb ; Isolate the segment
1282 rldicr r0,r0,0,49 ; Clean all but segment portion
1350 sldi r24,r24,28 ; Get the full XOR value over to segment position
3691 ; handleDSeg - handle a data segment fault
3692 ; handleISeg - handle an instruction segment fault
3696 ; to also handle the missing segment.
3783 ; On 32-bit machines we emulate a segment exception by loading unused SRs with a
3795 cmplwi r4,invalSpace ; Is this a simulated segment fault?
3944 ; processor specific segment register for copy in/out handling.
3972 ; This is used both for segment handling and PTE handling
3994 hpfFoundIt: lwz r12,pmapFlags(r28) ; Get the pmap flags so we can find the keys for this segment
3995 hpfGVfound: rlwinm. r0,r27,0,dsiMissb,dsiMissb ; Did we actually miss the segment?
4010 rlwinm r15,r15,12,0,19 ; Slide the last nybble into the low order segment position
4018 ; Here is the only place that we make an entry in the pmap segment cache.
4020 ; Note that we do not make an entry in the segment cache for special
4021 ; nested mappings. This makes the copy in/out segment get refreshed
4025 ; into a segment in the pmap cache. If it is already there, this is
4026 ; a segment that appeared since the last time we switched address spaces.
4080 la r9,pmapSegCache(r25) ; Point to the segment cache
4081 slwi r6,r7,4 ; Get index into the segment cache
4082 slwi r2,r7,2 ; Get index into the segment cache sub-tag index
4117 bt++ pf64Bitb,hpfLoadSeg64 ; If 64-bit, go load the segment...
4120 ; Make and enter 32-bit segment register
4124 xor r12,r12,r4 ; Alter the storage key before loading segment register
4125 rlwinm r2,r30,4,28,31 ; Isolate the segment we are setting
4140 ; Make and enter 64-bit segment look-aside buffer entry.
4157 xor r12,r12,r4 ; Alter the storage key before loading segment table entry
4201 ; The segment has been set up and loaded if need be. Now we are ready to build the
4301 ; all we had was a simple segment exception and the PTE was there the whole time.
4354 rlwinm r10,r6,21,0,3 ; Shift last 4 bits of space to segment part
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
4490 ; all we had was a simple segment exception and the PTE was there the whole time.
4572 srdi r2,r6,26 ; Shift original segment down to bottom
4575 xor r7,r7,r2 ; Compute original segment
4581 rldimi r12,r7,28,0 ; Insert decoded segment
5147 li r12,invalSpace ; Get the invalid segment value
5151 addis r10,r10,0x1000 ; Bump the segment
5204 ; This routine validates a segment register.
5208 ; r4 = segment[0:31]
5209 ; r5 = segment[32:63]
5358 rlwinm r2,r4,4,28,31 ; Isolate the segment we are setting
5362 addi r7,r12,validSegs ; Point to the valid segment flags directly
5367 hmsrupt: lwarx r6,0,r7 ; Get and reserve the valid segment flags
5376 ; This routine invalidates a segment register.
5387 rlwinm r9,r4,0,0,3 ; Save low segment address and make sure it is clean
5416 addi r7,r12,validSegs ; Point to the valid segment flags directly
5417 lwarx r4,0,r7 ; Get and reserve the valid segment flags
5418 rlwinm r6,r9,4,28,31 ; Convert segment to number
5425 mtsrin r5,r9 ; Slam the segment register
5428 hbsrupt: andc r4,r4,r2 ; Clear the valid bit for this segment
5432 lwarx r4,0,r7 ; Get and reserve the valid segment flags again
5436 ; This routine invadates the entire pmap segment cache
5446 la r10,pmapCCtl(r3) ; Point to the segment cache control
5449 isInv: lwarx r4,0,r10 ; Get the segment cache control value
5462 isInv1: lwz r4,pmapCCtl(r3) ; Get the segment cache control
5468 ; This routine switches segment registers between kernel and user.
5518 la r10,pmapCCtl(r28) ; Point to the segment cache control
5519 la r9,pmapSegCache(r28) ; Point to the segment cache
5521 ssgLock: lwarx r15,0,r10 ; Get and reserve the segment cache control
5546 ssgLock1: lwz r15,pmapCCtl(r28) ; Get the segment cache controls
5552 ; We take a reservation on the segment cache and walk through.
5557 ; Afterwards, we unlock the segment cache.
5577 rlwinm r2,r5,4,28,31 ; Change the segment number to a number
5582 or r17,r17,r0 ; Remember the segment
5586 mtsrin r8,r5 ; Load the segment
5592 stw r15,pmapCCtl(r28) ; Unlock the segment cache controls
5605 rlwinm r23,r18,28,0,3 ; Get the segment register we need
5650 ssg64Done: stw r15,pmapCCtl(r28) ; Unlock the segment cache controls
8038 ; pmapCacheLookup - This function will look up an entry in the pmap segment cache.
8070 la r10,pmapCCtl(r3) ; Point to the segment cache control
8073 lwarx r11,0,r10 ; Get the segment cache control value
8148 lwz r11,pmapCCtl(r3) ; Get the segment cache control