Subversion Repositories HelenOS

Rev

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 */