Changeset 1433ecda in mainline for kernel/arch/ia64/src/mm/tlb.c
- Timestamp:
- 2018-04-04T15:42:37Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2c4e1cc
- Parents:
- 47b2d7e3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/src/mm/tlb.c
r47b2d7e3 r1433ecda 75 75 for (j = 0; j < count2; j++) { 76 76 asm volatile ( 77 78 77 "ptc.e %[adr] ;;" 78 :: [adr] "r" (adr) 79 79 ); 80 80 adr += stride2; … … 175 175 for (; va < (page + cnt * PAGE_SIZE); va += (1UL << ps)) 176 176 asm volatile ( 177 178 :: [va]"r" (va),179 177 "ptc.l %[va], %[ps] ;;" 178 :: [va] "r" (va), 179 [ps] "r" (ps << 2) 180 180 ); 181 181 … … 246 246 247 247 asm volatile ( 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 248 "mov r8 = psr ;;\n" 249 "rsm %[mask] ;;\n" /* PSR_IC_MASK */ 250 "srlz.d ;;\n" 251 "srlz.i ;;\n" 252 "mov cr.ifa = %[va]\n" /* va */ 253 "mov cr.itir = %[word1] ;;\n" /* entry.word[1] */ 254 "cmp.eq p6, p7 = %[dtc], r0 ;;\n" /* decide between itc and dtc */ 255 "(p6) itc.i %[word0] ;;\n" 256 "(p7) itc.d %[word0] ;;\n" 257 "mov psr.l = r8 ;;\n" 258 "srlz.d ;;\n" 259 :: [mask] "i" (PSR_IC_MASK), 260 [va] "r" (va), 261 [word0] "r" (entry.word[0]), 262 [word1] "r" (entry.word[1]), 263 [dtc] "r" (dtc) 264 : "p6", "p7", "r8" 265 265 ); 266 266 … … 333 333 334 334 asm volatile ( 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 335 "mov r8 = psr ;;\n" 336 "rsm %[mask] ;;\n" /* PSR_IC_MASK */ 337 "srlz.d ;;\n" 338 "srlz.i ;;\n" 339 "mov cr.ifa = %[va]\n" /* va */ 340 "mov cr.itir = %[word1] ;;\n" /* entry.word[1] */ 341 "cmp.eq p6, p7 = %[dtr], r0 ;;\n" /* decide between itr and dtr */ 342 "(p6) itr.i itr[%[tr]] = %[word0] ;;\n" 343 "(p7) itr.d dtr[%[tr]] = %[word0] ;;\n" 344 "mov psr.l = r8 ;;\n" 345 "srlz.d ;;\n" 346 :: [mask] "i" (PSR_IC_MASK), 347 [va] "r" (va), 348 [word1] "r" (entry.word[1]), 349 [word0] "r" (entry.word[0]), 350 [tr] "r" (tr), 351 [dtr] "r" (dtr) 352 : "p6", "p7", "r8" 353 353 ); 354 354 … … 403 403 { 404 404 asm volatile ( 405 406 407 405 "ptr.d %[page], %[width]\n" 406 :: [page] "r" (page), 407 [width] "r" (width << 2) 408 408 ); 409 409 }
Note:
See TracChangeset
for help on using the changeset viewer.