Changeset 58775d30 in mainline for kernel/arch/sparc64/include/arch/trap/sun4v/mmu.h
- Timestamp:
- 2015-03-16T16:07:21Z (10 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2003739
- Parents:
- 6069061 (diff), 795e2bf (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/include/arch/trap/sun4v/mmu.h
r6069061 r58775d30 73 73 74 74 .macro FAST_INSTRUCTION_ACCESS_MMU_MISS_HANDLER 75 PREEMPTIBLE_HANDLER fast_instruction_access_mmu_miss 75 mov TT_FAST_INSTRUCTION_ACCESS_MMU_MISS, %g2 76 clr %g5 ! XXX 77 PREEMPTIBLE_HANDLER exc_dispatch 76 78 .endm 77 79 … … 123 125 * mapped. In such a case, this handler will be called from TL = 1. 124 126 * We handle the situation by pretending that the MMU miss occurred 125 * on TL = 0. Once the MMU miss trap is service s, the instruction which127 * on TL = 0. Once the MMU miss trap is serviced, the instruction which 126 128 * caused the spill/fill trap is restarted, the spill/fill trap occurs, 127 * but this time its handler accesse memory which ISmapped.129 * but this time its handler accesses memory which is mapped. 128 130 */ 129 131 .if (\tl > 0) … … 131 133 .endif 132 134 135 mov TT_FAST_DATA_ACCESS_MMU_MISS, %g2 136 133 137 /* 134 * Save the faulting virtual page and faulting context to the %g 2135 * register. The most significant 51 bits of the %g 2register will138 * Save the faulting virtual page and faulting context to the %g5 139 * register. The most significant 51 bits of the %g5 register will 136 140 * contain the virtual address which caused the fault truncated to the 137 * page boundary. The least significant 13 bits of the %g 2register141 * page boundary. The least significant 13 bits of the %g5 register 138 142 * will contain the number of the context in which the fault occurred. 139 * The value of the %g 2 register will be passed as a parameter to the140 * higher level service routine.143 * The value of the %g5 register will be stored in the istate structure 144 * for inspeciton by the higher level service routine. 141 145 */ 142 or %g1, %g3, %g 2146 or %g1, %g3, %g5 143 147 144 PREEMPTIBLE_HANDLER fast_data_access_mmu_miss148 PREEMPTIBLE_HANDLER exc_dispatch 145 149 .endm 146 150 … … 170 174 sllx %g1, TTE_DATA_TADDR_OFFSET, %g1 171 175 176 mov TT_FAST_DATA_ACCESS_PROTECTION, %g2 177 172 178 /* the same as for FAST_DATA_ACCESS_MMU_MISS_HANDLER */ 173 or %g1, %g3, %g 2179 or %g1, %g3, %g5 174 180 175 PREEMPTIBLE_HANDLER fast_data_access_protection181 PREEMPTIBLE_HANDLER exc_dispatch 176 182 .endm 177 183 #endif /* __ASM__ */
Note:
See TracChangeset
for help on using the changeset viewer.