Rev 612 | Rev 687 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 612 | Rev 618 | ||
---|---|---|---|
Line 392... | Line 392... | ||
392 | i, hi.asid, hi.vpn2, mask.mask, lo0.g, lo0.v, lo0.d, lo0.c, lo0.pfn, |
392 | i, hi.asid, hi.vpn2, mask.mask, lo0.g, lo0.v, lo0.d, lo0.c, lo0.pfn, |
393 | lo1.g, lo1.v, lo1.d, lo1.c, lo1.pfn); |
393 | lo1.g, lo1.v, lo1.d, lo1.c, lo1.pfn); |
394 | } |
394 | } |
395 | } |
395 | } |
396 | 396 | ||
397 | /** Invalidate all TLB entries. */ |
397 | /** Invalidate all not wired TLB entries. */ |
398 | void tlb_invalidate_all(void) |
398 | void tlb_invalidate_all(void) |
399 | { |
399 | { |
400 | ipl_t ipl; |
400 | ipl_t ipl; |
401 | entry_lo_t lo0, lo1; |
401 | entry_lo_t lo0, lo1; |
402 | int i; |
402 | int i; |
403 | 403 | ||
404 | ipl = interrupts_disable(); |
404 | ipl = interrupts_disable(); |
405 | 405 | ||
406 | for (i = 0; i < TLB_ENTRY_COUNT; i++) { |
406 | for (i = TLB_WIRED; i < TLB_ENTRY_COUNT; i++) { |
407 | cp0_index_write(i); |
407 | cp0_index_write(i); |
408 | tlbr(); |
408 | tlbr(); |
409 | 409 | ||
410 | lo0.value = cp0_entry_lo0_read(); |
410 | lo0.value = cp0_entry_lo0_read(); |
411 | lo1.value = cp0_entry_lo1_read(); |
411 | lo1.value = cp0_entry_lo1_read(); |