Changeset 1d432f9 in mainline for kernel/genarch


Ignore:
Timestamp:
2010-05-31T22:33:44Z (15 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
179d052
Parents:
3a2b636
Message:

Reflect assumptions about lock and interrupt state in functions themselves.

Location:
kernel/genarch/src/mm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/src/mm/asid.c

    r3a2b636 r1d432f9  
    7070/** Allocate free address space identifier.
    7171 *
    72  * Interrupts must be disabled and inactive_as_with_asid_lock must be held
    73  * prior to this call
     72 * Interrupts must be disabled and asidlock must be held prior to this call
    7473 *
    7574 * @return New ASID.
     
    8079        link_t *tmp;
    8180        as_t *as;
     81
     82        ASSERT(interrupts_disabled());
     83        ASSERT(spinlock_locked(&asidlock));
    8284
    8385        /*
  • kernel/genarch/src/mm/page_ht.c

    r3a2b636 r1d432f9  
    186186                page = ALIGN_DOWN(page, PAGE_SIZE)
    187187        };
     188
     189        ASSERT(interrupts_disabled());
     190        ASSERT(page_table_locked(as));
    188191       
    189192        if (!hash_table_find(&page_ht, key)) {
     
    226229                page = ALIGN_DOWN(page, PAGE_SIZE)
    227230        };
     231
     232        ASSERT(interrupts_disabled());
     233        ASSERT(page_table_locked(as));
    228234       
    229235        /*
     
    253259                page = ALIGN_DOWN(page, PAGE_SIZE)
    254260        };
     261
     262        ASSERT(interrupts_disabled());
     263        ASSERT(page_table_locked(as));
    255264       
    256265        link_t *cur = hash_table_find(&page_ht, key);
  • kernel/genarch/src/mm/page_pt.c

    r3a2b636 r1d432f9  
    7373{
    7474        pte_t *ptl0 = (pte_t *) PA2KA((uintptr_t) as->genarch.page_table);
     75
     76        ASSERT(interrupts_disabled());
     77        ASSERT(page_table_locked(as));
    7578       
    7679        if (GET_PTL1_FLAGS(ptl0, PTL0_INDEX(page)) & PAGE_NOT_PRESENT) {
     
    121124void pt_mapping_remove(as_t *as, uintptr_t page)
    122125{
     126        ASSERT(interrupts_disabled());
     127        ASSERT(page_table_locked(as));
     128
    123129        /*
    124130         * First, remove the mapping, if it exists.
     
    251257pte_t *pt_mapping_find(as_t *as, uintptr_t page)
    252258{
     259        ASSERT(interrupts_disabled());
     260        ASSERT(page_table_locked(as));
     261
    253262        pte_t *ptl0 = (pte_t *) PA2KA((uintptr_t) as->genarch.page_table);
    254263        if (GET_PTL1_FLAGS(ptl0, PTL0_INDEX(page)) & PAGE_NOT_PRESENT)
Note: See TracChangeset for help on using the changeset viewer.