Changes in kernel/arch/mips32/include/context_offset.h [c0699467:7b213f2] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/mips32/include/context_offset.h
rc0699467 r7b213f2 63 63 #ifdef __ASM__ 64 64 65 #ifdef KERNEL66 67 65 #include <arch/asm/regname.h> 68 66 69 #else /* KERNEL */ 67 # ctx: address of the structure with saved context 68 .macro CONTEXT_SAVE_ARCH_CORE ctx:req 69 sw $s0,OFFSET_S0(\ctx) 70 sw $s1,OFFSET_S1(\ctx) 71 sw $s2,OFFSET_S2(\ctx) 72 sw $s3,OFFSET_S3(\ctx) 73 sw $s4,OFFSET_S4(\ctx) 74 sw $s5,OFFSET_S5(\ctx) 75 sw $s6,OFFSET_S6(\ctx) 76 sw $s7,OFFSET_S7(\ctx) 77 sw $s8,OFFSET_S8(\ctx) 78 sw $gp,OFFSET_GP(\ctx) 70 79 71 #include <libarch/regname.h> 80 #ifndef KERNEL 81 sw $k1,OFFSET_TLS(\ctx) 72 82 73 #endif /* KERNEL */ 83 #ifdef CONFIG_FPU 84 mfc1 $t0,$20 85 sw $t0, OFFSET_F20(\ctx) 74 86 75 /* ctx: address of the structure with saved context */ 76 .macro CONTEXT_SAVE_ARCH_CORE ctx:req 77 sw $s0, OFFSET_S0(\ctx) 78 sw $s1, OFFSET_S1(\ctx) 79 sw $s2, OFFSET_S2(\ctx) 80 sw $s3, OFFSET_S3(\ctx) 81 sw $s4, OFFSET_S4(\ctx) 82 sw $s5, OFFSET_S5(\ctx) 83 sw $s6, OFFSET_S6(\ctx) 84 sw $s7, OFFSET_S7(\ctx) 85 sw $s8, OFFSET_S8(\ctx) 86 sw $gp, OFFSET_GP(\ctx) 87 88 #ifndef KERNEL 89 sw $k1, OFFSET_TLS(\ctx) 90 91 #ifdef CONFIG_FPU 92 mfc1 $t0, $20 93 sw $t0, OFFSET_F20(\ctx) 94 95 mfc1 $t0, $21 87 mfc1 $t0,$21 96 88 sw $t0, OFFSET_F21(\ctx) 97 98 mfc1 $t0, 89 90 mfc1 $t0,$22 99 91 sw $t0, OFFSET_F22(\ctx) 100 101 mfc1 $t0, 92 93 mfc1 $t0,$23 102 94 sw $t0, OFFSET_F23(\ctx) 103 104 mfc1 $t0, 95 96 mfc1 $t0,$24 105 97 sw $t0, OFFSET_F24(\ctx) 106 107 mfc1 $t0, 98 99 mfc1 $t0,$25 108 100 sw $t0, OFFSET_F25(\ctx) 109 110 mfc1 $t0, 101 102 mfc1 $t0,$26 111 103 sw $t0, OFFSET_F26(\ctx) 112 113 mfc1 $t0, 104 105 mfc1 $t0,$27 114 106 sw $t0, OFFSET_F27(\ctx) 115 116 mfc1 $t0, 107 108 mfc1 $t0,$28 117 109 sw $t0, OFFSET_F28(\ctx) 118 119 mfc1 $t0, 110 111 mfc1 $t0,$29 120 112 sw $t0, OFFSET_F29(\ctx) 121 113 122 mfc1 $t0, 114 mfc1 $t0,$30 123 115 sw $t0, OFFSET_F30(\ctx) 124 116 #endif /* CONFIG_FPU */ 125 117 #endif /* KERNEL */ 126 127 sw $ra, 128 sw $sp, 118 119 sw $ra,OFFSET_PC(\ctx) 120 sw $sp,OFFSET_SP(\ctx) 129 121 .endm 130 122 131 /* ctx: address of the structure with saved context */ 123 # ctx: address of the structure with saved context 132 124 .macro CONTEXT_RESTORE_ARCH_CORE ctx:req 133 lw $s0, 134 lw $s1, 135 lw $s2, 136 lw $s3, 137 lw $s4, 138 lw $s5, 139 lw $s6, 140 lw $s7, 141 lw $s8, 142 lw $gp, 125 lw $s0,OFFSET_S0(\ctx) 126 lw $s1,OFFSET_S1(\ctx) 127 lw $s2,OFFSET_S2(\ctx) 128 lw $s3,OFFSET_S3(\ctx) 129 lw $s4,OFFSET_S4(\ctx) 130 lw $s5,OFFSET_S5(\ctx) 131 lw $s6,OFFSET_S6(\ctx) 132 lw $s7,OFFSET_S7(\ctx) 133 lw $s8,OFFSET_S8(\ctx) 134 lw $gp,OFFSET_GP(\ctx) 143 135 #ifndef KERNEL 144 lw $k1, 145 136 lw $k1,OFFSET_TLS(\ctx) 137 146 138 #ifdef CONFIG_FPU 147 139 lw $t0, OFFSET_F20(\ctx) 148 mtc1 $t0, 149 140 mtc1 $t0,$20 141 150 142 lw $t0, OFFSET_F21(\ctx) 151 mtc1 $t0, 152 143 mtc1 $t0,$21 144 153 145 lw $t0, OFFSET_F22(\ctx) 154 mtc1 $t0, 155 146 mtc1 $t0,$22 147 156 148 lw $t0, OFFSET_F23(\ctx) 157 mtc1 $t0, 158 149 mtc1 $t0,$23 150 159 151 lw $t0, OFFSET_F24(\ctx) 160 mtc1 $t0, 161 152 mtc1 $t0,$24 153 162 154 lw $t0, OFFSET_F25(\ctx) 163 mtc1 $t0, 164 155 mtc1 $t0,$25 156 165 157 lw $t0, OFFSET_F26(\ctx) 166 mtc1 $t0, 167 158 mtc1 $t0,$26 159 168 160 lw $t0, OFFSET_F27(\ctx) 169 mtc1 $t0, 170 161 mtc1 $t0,$27 162 171 163 lw $t0, OFFSET_F28(\ctx) 172 mtc1 $t0, 173 164 mtc1 $t0,$28 165 174 166 lw $t0, OFFSET_F29(\ctx) 175 mtc1 $t0, 176 167 mtc1 $t0,$29 168 177 169 lw $t0, OFFSET_F30(\ctx) 178 mtc1 $t0, 170 mtc1 $t0,$30 179 171 #endif /* CONFIG_FPU */ 180 172 #endif /* KERNEL */ 181 182 lw $ra, 183 lw $sp, 173 174 lw $ra,OFFSET_PC(\ctx) 175 lw $sp,OFFSET_SP(\ctx) 184 176 .endm 185 177 186 #endif /* __ASM__ */ 178 #endif 179 187 180 188 181 #endif
Note:
See TracChangeset
for help on using the changeset viewer.