- Timestamp:
- 2005-12-15T16:10:19Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b4cad8b2
- Parents:
- 7dd2561
- Location:
- generic
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
generic/include/cpu.h
r7dd2561 r80d2bdb 54 54 55 55 #ifdef CONFIG_SMP 56 int kcpulbstarted;56 atomic_t kcpulbstarted; 57 57 waitq_t kcpulb_wq; 58 58 #endif /* CONFIG_SMP */ -
generic/include/debug.h
r7dd2561 r80d2bdb 34 34 #include <arch.h> 35 35 36 #define CALLER ((__address *)__builtin_return_address(0))36 #define CALLER ((__address)__builtin_return_address(0)) 37 37 38 38 #ifndef HERE -
generic/include/synch/spinlock.h
r7dd2561 r80d2bdb 33 33 #include <typedefs.h> 34 34 #include <preemption.h> 35 #include <arch/atomic.h> 35 36 36 37 #ifdef CONFIG_SMP … … 39 40 char *name; 40 41 #endif 41 int val;42 atomic_t val; 42 43 }; 43 44 … … 56 57 spinlock_t slname = { \ 57 58 .name = #slname, \ 58 .val = 0\59 .val = { 0 } \ 59 60 } 60 61 #else 61 62 #define SPINLOCK_INITIALIZE(slname) \ 62 63 spinlock_t slname = { \ 63 .val = 0\64 .val = { 0 } \ 64 65 } 65 66 #endif -
generic/src/console/cmd.c
r7dd2561 r80d2bdb 311 311 { 312 312 link_t *cur; 313 ipl_t ipl;314 313 315 314 spinlock_lock(&cmd_lock); … … 340 339 { 341 340 link_t *cur; 342 ipl_t ipl;343 341 344 342 spinlock_lock(&cmd_lock); … … 369 367 int cmd_symaddr(cmd_arg_t *argv) 370 368 { 371 __address symaddr;372 char *symbol;373 374 369 symtab_print_search(argv->buffer); 375 370 … … 511 506 int cmd_set4(cmd_arg_t *argv) 512 507 { 513 char *symbol;514 508 __u32 *addr ; 515 509 __u32 arg1 = argv[1].intval; -
generic/src/console/kconsole.c
r7dd2561 r80d2bdb 92 92 int cmd_register(cmd_info_t *cmd) 93 93 { 94 ipl_t ipl;95 94 link_t *cur; 96 95 … … 161 160 int namelen = strlen(name); 162 161 const char *curname; 163 char *foundsym = NULL;164 int foundpos = 0;165 162 166 163 spinlock_lock(&cmd_lock); … … 470 467 cmd_info_t *cmd = NULL; 471 468 link_t *cur; 472 ipl_t ipl;473 469 int i; 474 470 -
generic/src/debug/symtab.c
r7dd2561 r80d2bdb 67 67 char *curname; 68 68 int i,j; 69 char *foundsym = NULL;70 int foundpos = 0;71 69 int colonoffset = -1; 72 70 -
generic/src/main/kinit.c
r7dd2561 r80d2bdb 69 69 void kinit(void *arg) 70 70 { 71 thread_t *t; 72 int i; 73 #ifdef CONFIG_USERSPACE 71 74 vm_t *m; 72 75 vm_area_t *a; 73 76 task_t *u; 74 thread_t *t; 75 int i; 77 #endif 76 78 77 79 interrupts_disable(); -
generic/src/main/main.c
r7dd2561 r80d2bdb 126 126 */ 127 127 static void main_bsp_separated_stack(void); 128 #ifdef CONFIG_SMP 128 129 static void main_ap_separated_stack(void); 130 #endif 129 131 130 132 /** Bootstrap CPU main kernel routine -
generic/src/mm/vm.c
r7dd2561 r80d2bdb 189 189 void vm_install(vm_t *m) 190 190 { 191 link_t *l;192 191 ipl_t ipl; 193 192 -
generic/src/proc/scheduler.c
r7dd2561 r80d2bdb 491 491 ipl = interrupts_disable(); 492 492 spinlock_lock(&CPU->lock); 493 count = nrdy/ config.cpu_active;493 count = atomic_get(&nrdy) / config.cpu_active; 494 494 count -= CPU->nrdy; 495 495 spinlock_unlock(&CPU->lock); … … 619 619 * Tell find_best_thread() to wake us up later again. 620 620 */ 621 CPU->kcpulbstarted = 0;621 atomic_set(&CPU->kcpulbstarted,0); 622 622 goto loop; 623 623 } -
generic/src/proc/thread.c
r7dd2561 r80d2bdb 96 96 { 97 97 THREAD = NULL; 98 nrdy = 0;98 atomic_set(&nrdy,0); 99 99 } 100 100 … … 112 112 runq_t *r; 113 113 ipl_t ipl; 114 int i, avg , send_ipi = 0;114 int i, avg; 115 115 116 116 ipl = interrupts_disable(); … … 136 136 137 137 atomic_inc(&nrdy); 138 avg = nrdy/ config.cpu_active;138 avg = atomic_get(&nrdy) / config.cpu_active; 139 139 140 140 spinlock_lock(&cpu->lock); -
generic/src/synch/rwlock.c
r7dd2561 r80d2bdb 226 226 panic("_mutex_lock_timeout()==ESYNCH_OK_ATOMIC\n"); 227 227 break; 228 d afault:228 default: 229 229 panic("invalid ESYNCH\n"); 230 230 break; -
generic/src/synch/spinlock.c
r7dd2561 r80d2bdb 46 46 void spinlock_initialize(spinlock_t *sl, char *name) 47 47 { 48 sl->val = 0;48 atomic_set(&sl->val, 0); 49 49 #ifdef CONFIG_DEBUG_SPINLOCK 50 50 sl->name = name; … … 152 152 void spinlock_unlock(spinlock_t *sl) 153 153 { 154 ASSERT( sl->val!= 0);154 ASSERT(atomic_get(&sl->val) != 0); 155 155 156 156 /* … … 159 159 CS_LEAVE_BARRIER(); 160 160 161 sl->val = 0;161 atomic_set(&sl->val,0); 162 162 preemption_enable(); 163 163 }
Note:
See TracChangeset
for help on using the changeset viewer.