Lines Matching refs:save
82 * we do not need to save callee save registers.
103 * See if a continuation is supplied, and skip state save if so.
294 xor r3,r11,r8 /* Get the physical address of the new context save area */
336 * saver4 = old thread in switcher's save
337 * saver5 = new SRR0 in switcher's save
338 * saver6 = new SRR1 in switcher's save
376 * Note that there are some oddities here when we save a context we are using.
424 bne-- fsret ; Nobody owns the FPU, no save required...
431 ; It looks like we need to save this one.
434 ; we are trying to save it on out. Then we will give it the final check.
472 bne-- fsretlk ; Not the same processor, skip any save...
497 bl fp_store ; save all 32 FPRs in the save area at r3
584 beq-- fsnosave ; No live context, so nothing to save...
619 ; we are trying to save it on out
671 bne-- fsnosavelk ; Something has changed, so this is not ours to save...
699 stb r7,SAVflags+2(r3) ; Set that we have a floating point save area
815 stw r7,FPUsync(r29) ; Unlock context now that the context save has been removed
949 ; gotten turned off due to doing a context save for the current level or a context switch
1083 * Note that there are some oddities here when we save a context we are using.
1136 bne-- vsret ; We do not own the vector, no save required...
1144 ; It looks like we need to save this one. Or possibly toss a saved one if
1148 ; we are trying to save it on out. Then we will give it the final check.
1188 bne-- vsretlk ; Not the same processor, skip any save...
1195 bne-- vsneedone ; Different level, so we need to save...
1205 lwz r5,SAVlevel(r4) ; Get the level associated with save
1239 mfcr r12 ; save CRs across call to vr_store
1326 beq-- vswnosave ; No live context, so nothing to save...
1352 ; we are trying to save it on out
1402 cmplwi cr2,r10,0 ; Check VRSave to see if we really need to save anything...
1405 bne-- vswnosavelk ; Something has changed, so this is not ours to save...
1422 bne-- cr2,vswnosavelk ; Live context saved and VRSave not 0, no save and keep context...
1429 lwz r5,SAVlevel(r4) ; Get the level associated with previous save
1441 beq-- cr2,vswnosavelk ; The VRSave was 0, so there is nothing to save...
1451 stb r7,SAVflags+2(r3) ; Set that we have a vector save area
1580 bl vr_load ; load VRs from save area based on vrsave in r10
1582 bl EXT(save_ret) ; Toss the save area after loading VRs
1661 ; gotten turned off due to doing a context save for the current level or a context switch
1800 lwz r7,SAVlevel(r8) ; Get the level associated with save
1806 b EXT(save_ret) ; Go and toss the save area (note, we will return from there)...
1826 slw r5,r5,r4 ; Choose a register to save (should be 0 half the time)
1836 // Store FPRs into a save area. Called by fpu_save and fpu_switch.
1840 // r3 = ptr to save area
1950 // unnecessary cache blocks, we either save all or none of the VRs in a block. We have separate paths
1955 // r3 = ptr to save area
1970 ; Save vectors on a 128-byte linesize processor. We save all or none of the 8 registers in each of
1990 la r11,savevr0(r3) ; get address of this group of registers in save area
1992 stvxl v0,0,r11 ; save 8 VRs in the line
2003 la r11,savevr8(r3) ; get address of this group of registers in save area
2005 stvxl v8,0,r11 ; save 8 VRs in the line
2016 la r11,savevr16(r3) ; get address of this group of registers in save area
2018 stvxl v16,0,r11 ; save 8 VRs in the line
2029 la r11,savevr24(r3) ; get address of this group of registers in save area
2031 stvxl v24,0,r11 ; save 8 VRs in the line
2041 ; Save vectors on a 32-byte linesize processor. We save in 16 groups of 2: we either save both
2051 la r11,savevr0(r3) ; get address of this group of registers in save area
2053 stvxl v0,0,r11 ; save the two VRs in the line
2058 la r11,savevr2(r3) ; get address of this group of registers in save area
2060 stvxl v2,0,r11 ; save the two VRs in the line
2065 la r11,savevr4(r3) ; get address of this group of registers in save area
2067 stvxl v4,0,r11 ; save the two VRs in the line
2072 la r11,savevr6(r3) ; get address of this group of registers in save area
2074 stvxl v6,0,r11 ; save the two VRs in the line
2079 la r11,savevr8(r3) ; get address of this group of registers in save area
2081 stvxl v8,0,r11 ; save the two VRs in the line
2086 la r11,savevr10(r3) ; get address of this group of registers in save area
2088 stvxl v10,0,r11 ; save the two VRs in the line
2093 la r11,savevr12(r3) ; get address of this group of registers in save area
2095 stvxl v12,0,r11 ; save the two VRs in the line
2100 la r11,savevr14(r3) ; get address of this group of registers in save area
2102 stvxl v14,0,r11 ; save the two VRs in the line
2107 la r11,savevr16(r3) ; get address of this group of registers in save area
2109 stvxl v16,0,r11 ; save the two VRs in the line
2114 la r11,savevr18(r3) ; get address of this group of registers in save area
2116 stvxl v18,0,r11 ; save the two VRs in the line
2121 la r11,savevr20(r3) ; get address of this group of registers in save area
2123 stvxl v20,0,r11 ; save the two VRs in the line
2128 la r11,savevr22(r3) ; get address of this group of registers in save area
2130 stvxl v22,0,r11 ; save the two VRs in the line
2135 la r11,savevr24(r3) ; get address of this group of registers in save area
2137 stvxl v24,0,r11 ; save the two VRs in the line
2142 la r11,savevr26(r3) ; get address of this group of registers in save area
2144 stvxl v26,0,r11 ; save the two VRs in the line
2149 la r11,savevr28(r3) ; get address of this group of registers in save area
2151 stvxl v28,0,r11 ; save the two VRs in the line
2156 la r11,savevr30(r3) ; get address of this group of registers in save area
2158 stvxl v30,0,r11 ; save the two VRs in the line
2175 // r3 = ptr to save area