Subversion Repositories HelenOS

Rev

Rev 1982 | Rev 2008 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1982 Rev 1996
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
-
 
126
#define TTE_LOW_DATA(imm) 	(TTE_CP | TTE_CV | TTE_P | LMA | (imm))
-
 
127
#else /* CONFIG_VIRT_IDX_CACHE */
-
 
128
#define TTE_LOW_DATA(imm) 	(TTE_CP | TTE_P | LMA | (imm))
-
 
129
#endif /* CONFIG_VIRT_IDX_CACHE */
-
 
130
 
125
#define SET_TLB_DATA(r1, r2, imm) \
131
#define SET_TLB_DATA(r1, r2, imm) \
126
	set TTE_CV | TTE_CP | TTE_P | LMA | imm, %r1; \
132
	set TTE_LOW_DATA(imm), %r1; \
127
	or %r1, %l5, %r1; \
133
	or %r1, %l5, %r1; \
128
	mov PAGESIZE_4M, %r2; \
134
	mov PAGESIZE_4M, %r2; \
129
	sllx %r2, TTE_SIZE_SHIFT, %r2; \
135
	sllx %r2, TTE_SIZE_SHIFT, %r2; \
130
	or %r1, %r2, %r1; \
136
	or %r1, %r2, %r1; \
131
	mov 1, %r2; \
137
	mov 1, %r2; \
Line 346... Line 352...
346
 * In runtime, it is further modified to reflect the starting address of
352
 * In runtime, it is further modified to reflect the starting address of
347
 * physical memory.
353
 * physical memory.
348
 */
354
 */
349
.global kernel_8k_tlb_data_template
355
.global kernel_8k_tlb_data_template
350
kernel_8k_tlb_data_template:
356
kernel_8k_tlb_data_template:
-
 
357
#ifdef CONFIG_VIRT_IDX_CACHE
-
 
358
	.quad ((1 << TTE_V_SHIFT) | (PAGESIZE_8K << TTE_SIZE_SHIFT) | TTE_CP | TTE_CV | TTE_P | TTE_W)
-
 
359
#else /* CONFIG_VIRT_IDX_CACHE */
351
	.quad ((1 << TTE_V_SHIFT) | TTE_CV | TTE_CP | TTE_P | TTE_W)
360
	.quad ((1 << TTE_V_SHIFT) | (PAGESIZE_8K << TTE_SIZE_SHIFT) | TTE_CP | TTE_P | TTE_W)
-
 
361
#endif /* CONFIG_VIRT_IDX_CACHE */