Changeset e2bf639 in mainline for kernel/arch/sparc64/include/trap/mmu.h
- Timestamp:
- 2006-09-05T21:06:59Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- d7e3f1ad
- Parents:
- 5035eeb7
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/include/trap/mmu.h
r5035eeb7 re2bf639 63 63 .endm 64 64 65 .macro FAST_DATA_ACCESS_MMU_MISS_HANDLER 65 .macro FAST_DATA_ACCESS_MMU_MISS_HANDLER tl 66 66 /* 67 67 * First, try to refill TLB from TSB. … … 101 101 */ 102 102 0: 103 HANDLE_MMU_TRAPS_FROM_SPILL_OR_FILL 103 .if (\tl > 0) 104 wrpr %g0, 1, %tl 105 .endif 104 106 105 107 wrpr %g0, PSTATE_PRIV_BIT | PSTATE_AG_BIT, %pstate … … 107 109 .endm 108 110 109 .macro FAST_DATA_ACCESS_PROTECTION_HANDLER 111 .macro FAST_DATA_ACCESS_PROTECTION_HANDLER tl 110 112 /* 111 113 * First, try to refill TLB from TSB. … … 116 118 * The same special case as in FAST_DATA_ACCESS_MMU_MISS_HANDLER. 117 119 */ 118 HANDLE_MMU_TRAPS_FROM_SPILL_OR_FILL 120 .if (\tl > 0) 121 wrpr %g0, 1, %tl 122 .endif 119 123 120 124 wrpr %g0, PSTATE_PRIV_BIT | PSTATE_AG_BIT, %pstate 121 125 PREEMPTIBLE_HANDLER fast_data_access_protection 122 .endm123 124 .macro MEM_ADDRESS_NOT_ALIGNED_HANDLER125 ba mem_address_not_aligned_handler126 nop127 .endm128 129 /*130 * Macro used to lower TL when a MMU trap is caused by131 * the userspace register window spill or fill handler.132 */133 .macro HANDLE_MMU_TRAPS_FROM_SPILL_OR_FILL134 rdpr %tl, %g1135 sub %g1, 1, %g2136 brz %g2, 0f ! if TL was 1, skip137 nop138 wrpr %g2, 0, %tl ! TL--139 rdpr %tt, %g3140 cmp %g3, TT_SPILL_1_NORMAL141 be 0f ! trap from spill_1_normal?142 cmp %g3, TT_FILL_1_NORMAL143 bne,a 0f ! trap from fill_1_normal? (negated condition)144 wrpr %g1, 0, %tl ! TL++145 0:146 126 .endm 147 127
Note:
See TracChangeset
for help on using the changeset viewer.