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