Changeset b4ca0a9c in mainline for kernel/genarch/src
- Timestamp:
- 2012-07-10T11:53:50Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1e01a35
- Parents:
- a33706e (diff), 33fc3ae (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- kernel/genarch/src
- Files:
-
- 5 edited
-
kbrd/kbrd.c (modified) (1 diff)
-
mm/as_ht.c (modified) (1 diff)
-
mm/page_ht.c (modified) (2 diffs)
-
mm/page_pt.c (modified) (7 diffs)
-
srln/srln.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
kernel/genarch/src/kbrd/kbrd.c
ra33706e rb4ca0a9c 158 158 = malloc(sizeof(kbrd_instance_t), FRAME_ATOMIC); 159 159 if (instance) { 160 instance->thread 161 = thread_create(kkbrd, (void *) instance, TASK, 0, "kkbrd", false);160 instance->thread = thread_create(kkbrd, (void *) instance, 161 TASK, THREAD_FLAG_NONE, "kkbrd"); 162 162 163 163 if (!instance->thread) { -
kernel/genarch/src/mm/as_ht.c
ra33706e rb4ca0a9c 78 78 hash_table_create(&page_ht, PAGE_HT_ENTRIES, 2, &ht_operations); 79 79 mutex_initialize(&page_ht_lock, MUTEX_PASSIVE); 80 pte_cache = slab_cache_create("pte_ cache", sizeof(pte_t), 0, NULL, NULL,81 SLAB_CACHE_MAGDEFERRED);80 pte_cache = slab_cache_create("pte_t", sizeof(pte_t), 0, 81 NULL, NULL, SLAB_CACHE_MAGDEFERRED); 82 82 } 83 83 -
kernel/genarch/src/mm/page_ht.c
ra33706e rb4ca0a9c 45 45 #include <typedefs.h> 46 46 #include <arch/asm.h> 47 #include <arch/barrier.h> 47 48 #include <synch/spinlock.h> 48 49 #include <arch.h> … … 207 208 pte->page = ALIGN_DOWN(page, PAGE_SIZE); 208 209 pte->frame = ALIGN_DOWN(frame, FRAME_SIZE); 210 211 write_barrier(); 209 212 210 213 hash_table_insert(&page_ht, key, &pte->link); -
kernel/genarch/src/mm/page_pt.c
ra33706e rb4ca0a9c 43 43 #include <arch/mm/page.h> 44 44 #include <arch/mm/as.h> 45 #include <arch/barrier.h> 45 46 #include <typedefs.h> 46 47 #include <arch/asm.h> … … 86 87 SET_PTL1_ADDRESS(ptl0, PTL0_INDEX(page), KA2PA(newpt)); 87 88 SET_PTL1_FLAGS(ptl0, PTL0_INDEX(page), 88 PAGE_ PRESENT | PAGE_USER | PAGE_EXEC | PAGE_CACHEABLE |89 PAGE_NOT_PRESENT | PAGE_USER | PAGE_EXEC | PAGE_CACHEABLE | 89 90 PAGE_WRITE); 91 write_barrier(); 92 SET_PTL1_PRESENT(ptl0, PTL0_INDEX(page)); 90 93 } 91 94 … … 98 101 SET_PTL2_ADDRESS(ptl1, PTL1_INDEX(page), KA2PA(newpt)); 99 102 SET_PTL2_FLAGS(ptl1, PTL1_INDEX(page), 100 PAGE_ PRESENT | PAGE_USER | PAGE_EXEC | PAGE_CACHEABLE |103 PAGE_NOT_PRESENT | PAGE_USER | PAGE_EXEC | PAGE_CACHEABLE | 101 104 PAGE_WRITE); 105 write_barrier(); 106 SET_PTL2_PRESENT(ptl1, PTL1_INDEX(page)); 102 107 } 103 108 … … 110 115 SET_PTL3_ADDRESS(ptl2, PTL2_INDEX(page), KA2PA(newpt)); 111 116 SET_PTL3_FLAGS(ptl2, PTL2_INDEX(page), 112 PAGE_ PRESENT | PAGE_USER | PAGE_EXEC | PAGE_CACHEABLE |117 PAGE_NOT_PRESENT | PAGE_USER | PAGE_EXEC | PAGE_CACHEABLE | 113 118 PAGE_WRITE); 119 write_barrier(); 120 SET_PTL3_PRESENT(ptl2, PTL2_INDEX(page)); 114 121 } 115 122 … … 117 124 118 125 SET_FRAME_ADDRESS(ptl3, PTL3_INDEX(page), frame); 119 SET_FRAME_FLAGS(ptl3, PTL3_INDEX(page), flags); 126 SET_FRAME_FLAGS(ptl3, PTL3_INDEX(page), flags | PAGE_NOT_PRESENT); 127 write_barrier(); 128 SET_FRAME_PRESENT(ptl3, PTL3_INDEX(page)); 120 129 } 121 130 … … 279 288 if (GET_PTL1_FLAGS(ptl0, PTL0_INDEX(page)) & PAGE_NOT_PRESENT) 280 289 return NULL; 290 291 read_barrier(); 281 292 282 293 pte_t *ptl1 = (pte_t *) PA2KA(GET_PTL1_ADDRESS(ptl0, PTL0_INDEX(page))); 283 294 if (GET_PTL2_FLAGS(ptl1, PTL1_INDEX(page)) & PAGE_NOT_PRESENT) 284 295 return NULL; 296 297 #if (PTL1_ENTRIES != 0) 298 read_barrier(); 299 #endif 285 300 286 301 pte_t *ptl2 = (pte_t *) PA2KA(GET_PTL2_ADDRESS(ptl1, PTL1_INDEX(page))); 287 302 if (GET_PTL3_FLAGS(ptl2, PTL2_INDEX(page)) & PAGE_NOT_PRESENT) 288 303 return NULL; 304 305 #if (PTL2_ENTRIES != 0) 306 read_barrier(); 307 #endif 289 308 290 309 pte_t *ptl3 = (pte_t *) PA2KA(GET_PTL3_ADDRESS(ptl2, PTL2_INDEX(page))); … … 346 365 SET_PTL1_ADDRESS(ptl0, PTL0_INDEX(addr), KA2PA(l1)); 347 366 SET_PTL1_FLAGS(ptl0, PTL0_INDEX(addr), 348 PAGE_PRESENT | PAGE_USER | PAGE_ EXEC | PAGE_CACHEABLE |349 PAGE_ WRITE);367 PAGE_PRESENT | PAGE_USER | PAGE_CACHEABLE | 368 PAGE_EXEC | PAGE_WRITE | PAGE_READ); 350 369 } 351 370 } -
kernel/genarch/src/srln/srln.c
ra33706e rb4ca0a9c 130 130 = malloc(sizeof(srln_instance_t), FRAME_ATOMIC); 131 131 if (instance) { 132 instance->thread 133 = thread_create(ksrln, (void *) instance, TASK, 0, "ksrln", false);132 instance->thread = thread_create(ksrln, (void *) instance, 133 TASK, THREAD_FLAG_NONE, "ksrln"); 134 134 135 135 if (!instance->thread) {
Note:
See TracChangeset
for help on using the changeset viewer.
