Changes in kernel/arch/sparc64/include/arch/trap/sun4v/mmu.h [cade9c1:730ff63] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/include/arch/trap/sun4v/mmu.h
rcade9c1 r730ff63 73 73 74 74 .macro FAST_INSTRUCTION_ACCESS_MMU_MISS_HANDLER 75 mov TT_FAST_INSTRUCTION_ACCESS_MMU_MISS, %g2 76 clr %g5 ! XXX 77 PREEMPTIBLE_HANDLER exc_dispatch 75 PREEMPTIBLE_HANDLER fast_instruction_access_mmu_miss 78 76 .endm 79 77 … … 125 123 * mapped. In such a case, this handler will be called from TL = 1. 126 124 * We handle the situation by pretending that the MMU miss occurred 127 * on TL = 0. Once the MMU miss trap is service d, the instruction which125 * on TL = 0. Once the MMU miss trap is services, the instruction which 128 126 * caused the spill/fill trap is restarted, the spill/fill trap occurs, 129 * but this time its handler accesse s memory which ismapped.127 * but this time its handler accesse memory which IS mapped. 130 128 */ 131 129 .if (\tl > 0) … … 133 131 .endif 134 132 135 mov TT_FAST_DATA_ACCESS_MMU_MISS, %g2 133 /* 134 * Save the faulting virtual page and faulting context to the %g2 135 * register. The most significant 51 bits of the %g2 register will 136 * contain the virtual address which caused the fault truncated to the 137 * page boundary. The least significant 13 bits of the %g2 register 138 * will contain the number of the context in which the fault occurred. 139 * The value of the %g2 register will be passed as a parameter to the 140 * higher level service routine. 141 */ 142 or %g1, %g3, %g2 136 143 137 /* 138 * Save the faulting virtual page and faulting context to the %g5 139 * register. The most significant 51 bits of the %g5 register will 140 * contain the virtual address which caused the fault truncated to the 141 * page boundary. The least significant 13 bits of the %g5 register 142 * will contain the number of the context in which the fault occurred. 143 * The value of the %g5 register will be stored in the istate structure 144 * for inspeciton by the higher level service routine. 145 */ 146 or %g1, %g3, %g5 147 148 PREEMPTIBLE_HANDLER exc_dispatch 144 PREEMPTIBLE_HANDLER fast_data_access_mmu_miss 149 145 .endm 150 146 … … 174 170 sllx %g1, TTE_DATA_TADDR_OFFSET, %g1 175 171 176 mov TT_FAST_DATA_ACCESS_PROTECTION, %g2 172 /* the same as for FAST_DATA_ACCESS_MMU_MISS_HANDLER */ 173 or %g1, %g3, %g2 177 174 178 /* the same as for FAST_DATA_ACCESS_MMU_MISS_HANDLER */ 179 or %g1, %g3, %g5 180 181 PREEMPTIBLE_HANDLER exc_dispatch 175 PREEMPTIBLE_HANDLER fast_data_access_protection 182 176 .endm 183 177 #endif /* __ASM__ */
Note:
See TracChangeset
for help on using the changeset viewer.