Changeset 2299914 in mainline for genarch/src/mm/as_ht.c
- Timestamp:
- 2006-03-16T12:57:31Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e898a8d7
- Parents:
- b7dcabb
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
genarch/src/mm/as_ht.c
rb7dcabb r2299914 35 35 #include <memstr.h> 36 36 #include <adt/hash_table.h> 37 #include <synch/spinlock.h> 37 38 38 39 static pte_t *ht_create(int flags); 39 40 41 static void ht_lock(as_t *as, bool lock); 42 static void ht_unlock(as_t *as, bool unlock); 43 40 44 as_operations_t as_ht_operations = { 41 .page_table_create = ht_create 45 .page_table_create = ht_create, 46 .page_table_lock = ht_lock, 47 .page_table_unlock = ht_unlock, 42 48 }; 43 49 … … 59 65 return NULL; 60 66 } 67 68 /** Lock page table. 69 * 70 * Lock address space and page hash table. 71 * Interrupts must be disabled. 72 * 73 * @param as Address space. 74 * @param lock If false, do not attempt to lock the address space. 75 */ 76 void ht_lock(as_t *as, bool lock) 77 { 78 if (lock) 79 spinlock_lock(&as->lock); 80 spinlock_lock(&page_ht_lock); 81 } 82 83 /** Unlock page table. 84 * 85 * Unlock address space and page hash table. 86 * Interrupts must be disabled. 87 * 88 * @param as Address space. 89 * @param unlock If false, do not attempt to lock the address space. 90 */ 91 void ht_unlock(as_t *as, bool unlock) 92 { 93 spinlock_unlock(&page_ht_lock); 94 if (unlock) 95 spinlock_unlock(&as->lock); 96 }
Note:
See TracChangeset
for help on using the changeset viewer.