Changeset 563c2dd in mainline


Ignore:
Timestamp:
2007-03-29T19:26:16Z (17 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
879585a3
Parents:
7e2432b
Message:

Fix TSB bug during TSB refill.
When one wants to enable a TSB entry, he or she should set the
entry invalid bit to false, as opposed to setting it to true.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/src/mm/tsb.c

    r7e2432b r563c2dd  
    6262       
    6363        i0 = (page >> MMU_PAGE_WIDTH) & TSB_INDEX_MASK;
    64         cnt = min(pages * MMU_PAGES_PER_PAGE, ITSB_ENTRY_COUNT);
     64        if (pages == (count_t) -1 || (pages * 2) > ITSB_ENTRY_COUNT)
     65                cnt = ITSB_ENTRY_COUNT;
     66        else
     67                cnt = pages * 2;
    6568       
    6669        for (i = 0; i < cnt; i++) {
     
    158161        write_barrier();
    159162       
    160         tsb->tag.invalid = true;        /* mark the entry as valid */
     163        tsb->tag.invalid = false;       /* mark the entry as valid */
    161164}
    162165
Note: See TracChangeset for help on using the changeset viewer.