Rev 2131 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2131 | Rev 2307 | ||
|---|---|---|---|
| Line 127... | Line 127... | ||
| 127 | 0: |
127 | 0: |
| 128 | .if (\tl > 0) |
128 | .if (\tl > 0) |
| 129 | wrpr %g0, 1, %tl |
129 | wrpr %g0, 1, %tl |
| 130 | .endif |
130 | .endif |
| 131 | 131 | ||
| - | 132 | /* |
|
| - | 133 | * Switch from the MM globals. |
|
| - | 134 | */ |
|
| 132 | wrpr %g0, PSTATE_PRIV_BIT | PSTATE_AG_BIT, %pstate |
135 | wrpr %g0, PSTATE_PRIV_BIT | PSTATE_AG_BIT, %pstate |
| - | 136 | ||
| - | 137 | /* |
|
| - | 138 | * Read the Tag Access register for the higher-level handler. |
|
| - | 139 | * This is necessary to survive nested DTLB misses. |
|
| - | 140 | */ |
|
| - | 141 | mov VA_DMMU_TAG_ACCESS, %g2 |
|
| - | 142 | ldxa [%g2] ASI_DMMU, %g2 |
|
| - | 143 | ||
| - | 144 | /* |
|
| - | 145 | * g2 will be passed as an argument to fast_data_access_mmu_miss(). |
|
| - | 146 | */ |
|
| 133 | PREEMPTIBLE_HANDLER fast_data_access_mmu_miss |
147 | PREEMPTIBLE_HANDLER fast_data_access_mmu_miss |
| 134 | .endm |
148 | .endm |
| 135 | 149 | ||
| 136 | .macro FAST_DATA_ACCESS_PROTECTION_HANDLER tl |
150 | .macro FAST_DATA_ACCESS_PROTECTION_HANDLER tl |
| 137 | /* |
151 | /* |
| Line 140... | Line 154... | ||
| 140 | 154 | ||
| 141 | .if (\tl > 0) |
155 | .if (\tl > 0) |
| 142 | wrpr %g0, 1, %tl |
156 | wrpr %g0, 1, %tl |
| 143 | .endif |
157 | .endif |
| 144 | 158 | ||
| - | 159 | /* |
|
| - | 160 | * Switch from the MM globals. |
|
| - | 161 | */ |
|
| 145 | wrpr %g0, PSTATE_PRIV_BIT | PSTATE_AG_BIT, %pstate |
162 | wrpr %g0, PSTATE_PRIV_BIT | PSTATE_AG_BIT, %pstate |
| - | 163 | ||
| - | 164 | /* |
|
| - | 165 | * Read the Tag Access register for the higher-level handler. |
|
| - | 166 | * This is necessary to survive nested DTLB misses. |
|
| - | 167 | */ |
|
| - | 168 | mov VA_DMMU_TAG_ACCESS, %g2 |
|
| - | 169 | ldxa [%g2] ASI_DMMU, %g2 |
|
| - | 170 | ||
| - | 171 | /* |
|
| - | 172 | * g2 will be passed as an argument to fast_data_access_mmu_miss(). |
|
| - | 173 | */ |
|
| 146 | PREEMPTIBLE_HANDLER fast_data_access_protection |
174 | PREEMPTIBLE_HANDLER fast_data_access_protection |
| 147 | .endm |
175 | .endm |
| 148 | 176 | ||
| 149 | #endif /* __ASM__ */ |
177 | #endif /* __ASM__ */ |
| 150 | 178 | ||