Changeset 9bda3af6 in mainline
- Timestamp:
- 2006-03-13T10:17:27Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0967877
- Parents:
- d3dfa42
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia64/src/mm/tlb.c
rd3dfa42 r9bda3af6 95 95 96 96 97 void tlb_invalidate_pages(asid_t asid, __address va, count_t cnt)97 void tlb_invalidate_pages(asid_t asid, __address page, count_t cnt) 98 98 { 99 99 … … 103 103 int b=0; 104 104 int c=cnt; 105 int i; 105 106 __address va; 107 va=page; 106 108 107 109 rr.word = rr_read(VA2VRN(va)); … … 133 135 case 1: /*cnt 4-15*/ 134 136 { 135 cnt=(cnt/4)+1;137 /*cnt=((cnt-1)/4)+1;*/ 136 138 ps=PAGE_WIDTH+2; 137 139 va&=~((1<<ps)-1); … … 140 142 case 2: /*cnt 16-63*/ 141 143 { 142 cnt=(cnt/16)+1;144 /*cnt=((cnt-1)/16)+1;*/ 143 145 ps=PAGE_WIDTH+4; 144 146 va&=~((1<<ps)-1); … … 147 149 case 3: /*cnt 64-255*/ 148 150 { 149 cnt=(cnt/64)+1;151 /*cnt=((cnt-1)/64)+1;*/ 150 152 ps=PAGE_WIDTH+6; 151 153 va&=~((1<<ps)-1); … … 154 156 case 4: /*cnt 256-1023*/ 155 157 { 156 cnt=(cnt/256)+1;158 /*cnt=((cnt-1)/256)+1;*/ 157 159 ps=PAGE_WIDTH+8; 158 160 va&=~((1<<ps)-1); … … 161 163 case 5: /*cnt 1024-4095*/ 162 164 { 163 cnt=(cnt/1024)+1;165 /*cnt=((cnt-1)/1024)+1;*/ 164 166 ps=PAGE_WIDTH+10; 165 167 va&=~((1<<ps)-1); … … 168 170 case 6: /*cnt 4096-16383*/ 169 171 { 170 cnt=(cnt/4096)+1;172 /*cnt=((cnt-1)/4096)+1;*/ 171 173 ps=PAGE_WIDTH+12; 172 174 va&=~((1<<ps)-1); … … 176 178 case 8: /*cnt 65536-(256K-1)*/ 177 179 { 178 cnt=(cnt/16384)+1;180 /*cnt=((cnt-1)/16384)+1;*/ 179 181 ps=PAGE_WIDTH+14; 180 182 va&=~((1<<ps)-1); … … 183 185 default: 184 186 { 185 cnt=(cnt/(16384*16))+1;187 /*cnt=((cnt-1)/(16384*16))+1;*/ 186 188 ps=PAGE_WIDTH+18; 187 189 va&=~((1<<ps)-1); 188 190 break; 189 191 } 190 191 } 192 for(i=0;i<cnt;i++) { 193 __asm__ volatile 194 ( 195 "ptc.l %0,%1;;" 196 : 197 : "r"(va), "r"(ps<<2) 198 ); 199 va+=(1<<ps); 192 } 193 /*cnt+=(page!=va);*/ 194 for(;va<(page+cnt*(PAGE_SIZE));va+=(1<<ps)) { 195 __asm__ volatile 196 ( 197 "ptc.l %0,%1;;" 198 : 199 : "r"(va), "r"(ps<<2) 200 ); 200 201 } 201 202 srlz_d(); -
test/mm/purge1/test.c
rd3dfa42 r9bda3af6 79 79 80 80 81 tlb_invalidate_pages(8,0x 18000,13);81 tlb_invalidate_pages(8,0x0c000,14); 82 82 83 83 /*tlb_invalidate_all();*/
Note:
See TracChangeset
for help on using the changeset viewer.