Changeset a796127 in mainline for kernel/arch/sparc64/src/start.S
- Timestamp:
- 2006-08-26T18:42:11Z (18 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c8ea4a8b
- Parents:
- f47fd19
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/src/start.S
rf47fd19 ra796127 36 36 .register %g2, #scratch 37 37 .register %g3, #scratch 38 .register %g6, #scratch39 .register %g7, #scratch40 38 41 39 .section K_TEXT_START, "ax" … … 154 152 */ 155 153 156 set kernel_image_start, %g 7154 set kernel_image_start, %g5 157 155 158 156 ! write ITLB tag of context 1 … … 160 158 set VA_DMMU_TAG_ACCESS, %g2 161 159 stxa %g1, [%g2] ASI_IMMU 162 flush %g 7160 flush %g5 163 161 164 162 ! write ITLB data and install the temporary mapping in context 1 165 163 SET_TLB_DATA(g1, g2, 0) ! use non-global mapping 166 164 stxa %g1, [%g0] ASI_ITLB_DATA_IN_REG 167 flush %g 7165 flush %g5 168 166 169 167 ! switch to context 1 170 168 set MEM_CONTEXT_TEMP, %g1 171 169 stxa %g1, [VA_PRIMARY_CONTEXT_REG] %asi ! ASI_DMMU is correct here !!! 172 flush %g 7170 flush %g5 173 171 174 172 ! demap context 0 175 173 SET_TLB_DEMAP_CMD(g1, TLB_DEMAP_NUCLEUS) 176 174 stxa %g0, [%g1] ASI_IMMU_DEMAP 177 flush %g 7175 flush %g5 178 176 179 177 ! write ITLB tag of context 0 … … 181 179 set VA_DMMU_TAG_ACCESS, %g2 182 180 stxa %g1, [%g2] ASI_IMMU 183 flush %g 7181 flush %g5 184 182 185 183 ! write ITLB data and install the permanent kernel mapping in context 0 186 184 SET_TLB_DATA(g1, g2, 0) ! use non-global mapping 187 185 stxa %g1, [%g0] ASI_ITLB_DATA_IN_REG 188 flush %g 7186 flush %g5 189 187 190 188 ! switch to context 0 191 189 stxa %g0, [VA_PRIMARY_CONTEXT_REG] %asi ! ASI_DMMU is correct here !!! 192 flush %g 7190 flush %g5 193 191 194 192 ! ensure nucleus mapping … … 198 196 set MEM_CONTEXT_TEMP, %g1 199 197 stxa %g1, [VA_PRIMARY_CONTEXT_REG] %asi ! ASI_DMMU is correct here !!! 200 flush %g 7198 flush %g5 201 199 202 200 ! demap context 1 203 201 SET_TLB_DEMAP_CMD(g1, TLB_DEMAP_PRIMARY) 204 202 stxa %g0, [%g1] ASI_IMMU_DEMAP 205 flush %g 7203 flush %g5 206 204 207 205 ! set context 0 in the primary context register 208 206 stxa %g0, [VA_PRIMARY_CONTEXT_REG] %asi ! ASI_DMMU is correct here !!! 209 flush %g 7207 flush %g5 210 208 211 209 ! set TL back to 0
Note:
See TracChangeset
for help on using the changeset viewer.