Subversion Repositories HelenOS

Rev

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

Rev 1864 Rev 1868
Line 123... Line 123...
123
	set 1, %r2; \
123
	set 1, %r2; \
124
	sllx %r2, TTE_V_SHIFT, %r2; \
124
	sllx %r2, TTE_V_SHIFT, %r2; \
125
	or %r1, %r2, %r1;
125
	or %r1, %r2, %r1;
126
	
126
	
127
	! write DTLB data and install the kernel mapping
127
	! write DTLB data and install the kernel mapping
-
 
128
	SET_TLB_DATA(g1, g2, 0)			! use non-global mapping
-
 
129
	stxa %g1, [%g0] ASI_DTLB_DATA_IN_REG		
-
 
130
	membar #Sync
-
 
131
 
-
 
132
	/*
-
 
133
	 * Because we cannot use global mappings (because we want to
-
 
134
	 * have separate 64-bit address spaces for both the kernel
-
 
135
	 * and the userspace), we prepare the identity mapping also in
-
 
136
	 * context 1. This step is required by the
-
 
137
	 * code installing the ITLB mapping.
-
 
138
	 */
-
 
139
	! write DTLB tag of context 1 (i.e. MEM_CONTEXT_TEMP)
128
	SET_TLB_DATA(g1, g2, TTE_G)
140
	SET_TLB_TAG(g1, MEM_CONTEXT_TEMP)
-
 
141
	stxa %g1, [VA_DMMU_TAG_ACCESS] %asi			
-
 
142
	membar #Sync
-
 
143
 
-
 
144
	! write DTLB data and install the kernel mapping in context 1
-
 
145
	SET_TLB_DATA(g1, g2, 0)			! use non-global mapping
129
	stxa %g1, [%g0] ASI_DTLB_DATA_IN_REG		
146
	stxa %g1, [%g0] ASI_DTLB_DATA_IN_REG		
130
	membar #Sync
147
	membar #Sync
131
	
148
	
132
	/*
149
	/*
133
	 * Now is time to take over the IMMU.
150
	 * Now is time to take over the IMMU.