Subversion Repositories HelenOS

Rev

Rev 3582 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3582 Rev 3863
Line 105... Line 105...
105
	 * 1. Make sure that the code we have moved has drained to main memory.
105
	 * 1. Make sure that the code we have moved has drained to main memory.
106
	 * 2. Invalidate I-cache.
106
	 * 2. Invalidate I-cache.
107
	 * 3. Flush instruction pipeline.
107
	 * 3. Flush instruction pipeline.
108
	 */
108
	 */
109
 
109
 
-
 
110
#if defined (SUN4U)
110
	/*
111
	/*
111
	 * US3 processors have a write-invalidate cache, so explicitly
112
	 * US3 processors have a write-invalidate cache, so explicitly
112
	 * invalidating it is not required. Whether to invalidate I-cache
113
	 * invalidating it is not required. Whether to invalidate I-cache
113
	 * or not is decided according to the value of the global
114
	 * or not is decided according to the value of the global
114
	 * "subarchitecture" variable (set in the bootstrap).
115
	 * "subarchitecture" variable (set in the bootstrap).
115
	 */
116
	 */
-
 
117
 
116
	set subarchitecture, %g2
118
	set subarchitecture, %g2
117
	ldub [%g2], %g2
119
	ldub [%g2], %g2
118
	cmp %g2, 3
120
	cmp %g2, 3
119
	be 1f
121
	be 1f
120
	nop
122
	nop
121
0:
123
0:
122
	call icache_flush
124
	call icache_flush
123
	nop
125
	nop
-
 
126
#endif
-
 
127
 
124
1:
128
1:
125
	membar #StoreStore
129
	membar #StoreStore
126
	
130
	
127
	/*
131
	/*
128
	 * Flush the instruction pipeline.
132
	 * Flush the instruction pipeline.