Rev 2008 | Rev 2049 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2008 | Rev 2009 | ||
|---|---|---|---|
| Line 120... | Line 120... | ||
| 120 | ! write DTLB tag |
120 | ! write DTLB tag |
| 121 | SET_TLB_TAG(g1, MEM_CONTEXT_KERNEL) |
121 | SET_TLB_TAG(g1, MEM_CONTEXT_KERNEL) |
| 122 | stxa %g1, [VA_DMMU_TAG_ACCESS] %asi |
122 | stxa %g1, [VA_DMMU_TAG_ACCESS] %asi |
| 123 | membar #Sync |
123 | membar #Sync |
| 124 | 124 | ||
| 125 | #ifdef CONFIG_VIRT_IDX_CACHE |
125 | #ifdef CONFIG_VIRT_IDX_DCACHE |
| 126 | #define TTE_LOW_DATA(imm) (TTE_CP | TTE_CV | TTE_P | LMA | (imm)) |
126 | #define TTE_LOW_DATA(imm) (TTE_CP | TTE_CV | TTE_P | LMA | (imm)) |
| 127 | #else /* CONFIG_VIRT_IDX_CACHE */ |
127 | #else /* CONFIG_VIRT_IDX_DCACHE */ |
| 128 | #define TTE_LOW_DATA(imm) (TTE_CP | TTE_P | LMA | (imm)) |
128 | #define TTE_LOW_DATA(imm) (TTE_CP | TTE_P | LMA | (imm)) |
| 129 | #endif /* CONFIG_VIRT_IDX_CACHE */ |
129 | #endif /* CONFIG_VIRT_IDX_DCACHE */ |
| 130 | 130 | ||
| 131 | #define SET_TLB_DATA(r1, r2, imm) \ |
131 | #define SET_TLB_DATA(r1, r2, imm) \ |
| 132 | set TTE_LOW_DATA(imm), %r1; \ |
132 | set TTE_LOW_DATA(imm), %r1; \ |
| 133 | or %r1, %l5, %r1; \ |
133 | or %r1, %l5, %r1; \ |
| 134 | mov PAGESIZE_4M, %r2; \ |
134 | mov PAGESIZE_4M, %r2; \ |
| Line 358... | Line 358... | ||
| 358 | * In runtime, it is further modified to reflect the starting address of |
358 | * In runtime, it is further modified to reflect the starting address of |
| 359 | * physical memory. |
359 | * physical memory. |
| 360 | */ |
360 | */ |
| 361 | .global kernel_8k_tlb_data_template |
361 | .global kernel_8k_tlb_data_template |
| 362 | kernel_8k_tlb_data_template: |
362 | kernel_8k_tlb_data_template: |
| 363 | #ifdef CONFIG_VIRT_IDX_CACHE |
363 | #ifdef CONFIG_VIRT_IDX_DCACHE |
| 364 | .quad ((1 << TTE_V_SHIFT) | (PAGESIZE_8K << TTE_SIZE_SHIFT) | TTE_CP | TTE_CV | TTE_P | TTE_W) |
364 | .quad ((1 << TTE_V_SHIFT) | (PAGESIZE_8K << TTE_SIZE_SHIFT) | TTE_CP | TTE_CV | TTE_P | TTE_W) |
| 365 | #else /* CONFIG_VIRT_IDX_CACHE */ |
365 | #else /* CONFIG_VIRT_IDX_DCACHE */ |
| 366 | .quad ((1 << TTE_V_SHIFT) | (PAGESIZE_8K << TTE_SIZE_SHIFT) | TTE_CP | TTE_P | TTE_W) |
366 | .quad ((1 << TTE_V_SHIFT) | (PAGESIZE_8K << TTE_SIZE_SHIFT) | TTE_CP | TTE_P | TTE_W) |
| 367 | #endif /* CONFIG_VIRT_IDX_CACHE */ |
367 | #endif /* CONFIG_VIRT_IDX_DCACHE */ |