]>
Commit | Line | Data |
---|---|---|
74bf4312 DM |
1 | /* ITLB ** ICACHE line 1: Context 0 check and TSB load */ |
2 | ldxa [%g0] ASI_IMMU_TSB_8KB_PTR, %g1 ! Get TSB 8K pointer | |
3 | ldxa [%g0] ASI_IMMU, %g6 ! Get TAG TARGET | |
4 | srlx %g6, 48, %g5 ! Get context | |
5 | brz,pn %g5, kvmap_itlb ! Context 0 processing | |
6 | nop ! Delay slot (fill me) | |
7 | ldda [%g1] ASI_NUCLEUS_QUAD_LDD, %g4 ! Load TSB entry | |
8 | cmp %g4, %g6 ! Compare TAG | |
9 | sethi %hi(_PAGE_EXEC), %g4 ! Setup exec check | |
10 | ||
11 | /* ITLB ** ICACHE line 2: TSB compare and TLB load */ | |
12 | bne,pn %xcc, tsb_miss_itlb ! Miss | |
13 | mov FAULT_CODE_ITLB, %g3 | |
14 | andcc %g5, %g4, %g0 ! Executable? | |
15 | be,pn %xcc, tsb_do_fault | |
16 | nop ! Delay slot, fill me | |
17 | stxa %g5, [%g0] ASI_ITLB_DATA_IN ! Load TLB | |
18 | retry ! Trap done | |
19 | nop | |
20 | ||
21 | /* ITLB ** ICACHE line 3: */ | |
22 | nop | |
23 | nop | |
24 | nop | |
25 | nop | |
26 | nop | |
27 | nop | |
28 | nop | |
29 | nop | |
30 | ||
31 | /* ITLB ** ICACHE line 4: */ | |
32 | nop | |
33 | nop | |
34 | nop | |
35 | nop | |
36 | nop | |
37 | nop | |
38 | nop | |
39 | nop |