Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 9432f08 in mainline


Ignore:
Timestamp:
2012-07-01T16:29:32Z (8 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
master
Children:
0d8269b
Parents:
e6a78b9
Message:

Process all TLB messages or until TLB_INVL_ALL is reached.

  • Previously the first message was processed multiple times while all other messages were not processed at all.
  • TLB_INVL_ALL did not reset the number of messages in the queue.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/mm/tlb.c

    re6a78b9 r9432f08  
    162162       
    163163        size_t i;
    164         for (i = 0; i < CPU->tlb_messages_count; CPU->tlb_messages_count--) {
     164        for (i = 0; i < CPU->tlb_messages_count; i++) {
    165165                tlb_invalidate_type_t type = CPU->tlb_messages[i].type;
    166166                asid_t asid = CPU->tlb_messages[i].asid;
     
    188188        }
    189189       
     190        CPU->tlb_messages_count = 0;
    190191        irq_spinlock_unlock(&CPU->lock, false);
    191192        CPU->tlb_active = true;
Note: See TracChangeset for help on using the changeset viewer.