Changeset f56e897f in mainline for kernel/generic/src/mm
- Timestamp:
- 2010-06-29T17:43:38Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/fix-logger-deadlock, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 6473d41
- Parents:
- e4a4b44 (diff), 793cf029 (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/generic/src/mm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/frame.c
re4a4b44 rf56e897f 1234 1234 { 1235 1235 #ifdef __32_BITS__ 1236 printf("[nr] [base addr ] [frames ] [flags ] [free frames ] [busy frames ]\n");1236 printf("[nr] [base addr] [frames ] [flags ] [free frames ] [busy frames ]\n"); 1237 1237 #endif 1238 1238 1239 1239 #ifdef __64_BITS__ 1240 printf("[nr] [base address ] [frames ] [flags ] [free frames ] [busy frames ]\n");1240 printf("[nr] [base address ] [frames ] [flags ] [free frames ] [busy frames ]\n"); 1241 1241 #endif 1242 1242 … … 1274 1274 1275 1275 #ifdef __32_BITS__ 1276 printf(" %10p", base);1276 printf(" %10p", base); 1277 1277 #endif 1278 1278 1279 1279 #ifdef __64_BITS__ 1280 printf(" %18p", base);1280 printf(" %18p", base); 1281 1281 #endif 1282 1282 -
kernel/generic/src/mm/tlb.c
re4a4b44 rf56e897f 73 73 * to all other processors. 74 74 * 75 * @param type Type describing scope of shootdown.76 * @param asid Address space, if required by type.77 * @param page Virtual page address, if required by type.78 * @param count Number of pages, if required by type.75 * @param type Type describing scope of shootdown. 76 * @param asid Address space, if required by type. 77 * @param page Virtual page address, if required by type. 78 * @param count Number of pages, if required by type. 79 79 * 80 80 * @return The interrupt priority level as it existed prior to this call. 81 * 81 82 */ 82 83 ipl_t tlb_shootdown_start(tlb_invalidate_type_t type, asid_t asid, 83 84 uintptr_t page, size_t count) 84 85 { 85 ipl_t ipl; 86 87 ipl = interrupts_disable(); 86 ipl_t ipl = interrupts_disable(); 88 87 CPU->tlb_active = false; 89 88 irq_spinlock_lock(&tlblock, false); … … 91 90 size_t i; 92 91 for (i = 0; i < config.cpu_count; i++) { 93 cpu_t *cpu;94 95 92 if (i == CPU->id) 96 93 continue; 97 94 98 cpu = &cpus[i]; 95 cpu_t *cpu = &cpus[i]; 96 99 97 irq_spinlock_lock(&cpu->lock, false); 100 98 if (cpu->tlb_messages_count == TLB_MESSAGE_QUEUE_LEN) { … … 124 122 125 123 busy_wait: 126 for (i = 0; i < config.cpu_count; i++) 124 for (i = 0; i < config.cpu_count; i++) { 127 125 if (cpus[i].tlb_active) 128 126 goto busy_wait; 129 127 } 128 130 129 return ipl; 131 130 } … … 133 132 /** Finish TLB shootdown sequence. 134 133 * 135 * @param ipl Previous interrupt priority level. 134 * @param ipl Previous interrupt priority level. 135 * 136 136 */ 137 137 void tlb_shootdown_finalize(ipl_t ipl)
Note:
See TracChangeset
for help on using the changeset viewer.
