Rev 2008 | Rev 2058 | 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 */ |