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. |