Rev 4420 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4420 | Rev 4537 | ||
---|---|---|---|
Line 125... | Line 125... | ||
125 | thread_join(thread); |
125 | thread_join(thread); |
126 | thread_detach(thread); |
126 | thread_detach(thread); |
127 | } |
127 | } |
128 | 128 | ||
129 | if (config.cpu_count > 1) { |
129 | if (config.cpu_count > 1) { |
130 | count_t i; |
130 | size_t i; |
131 | 131 | ||
132 | /* |
132 | /* |
133 | * For each CPU, create its load balancing thread. |
133 | * For each CPU, create its load balancing thread. |
134 | */ |
134 | */ |
135 | for (i = 0; i < config.cpu_count; i++) { |
135 | for (i = 0; i < config.cpu_count; i++) { |
Line 138... | Line 138... | ||
138 | spinlock_lock(&thread->lock); |
138 | spinlock_lock(&thread->lock); |
139 | thread->cpu = &cpus[i]; |
139 | thread->cpu = &cpus[i]; |
140 | spinlock_unlock(&thread->lock); |
140 | spinlock_unlock(&thread->lock); |
141 | thread_ready(thread); |
141 | thread_ready(thread); |
142 | } else |
142 | } else |
143 | printf("Unable to create kcpulb thread for cpu" PRIc "\n", i); |
143 | printf("Unable to create kcpulb thread for cpu" PRIs "\n", i); |
144 | } |
144 | } |
145 | } |
145 | } |
146 | #endif /* CONFIG_SMP */ |
146 | #endif /* CONFIG_SMP */ |
147 | 147 | ||
148 | /* |
148 | /* |
Line 166... | Line 166... | ||
166 | interrupts_enable(); |
166 | interrupts_enable(); |
167 | 167 | ||
168 | /* |
168 | /* |
169 | * Create user tasks, load RAM disk images. |
169 | * Create user tasks, load RAM disk images. |
170 | */ |
170 | */ |
171 | count_t i; |
171 | size_t i; |
172 | program_t programs[CONFIG_INIT_TASKS]; |
172 | program_t programs[CONFIG_INIT_TASKS]; |
173 | 173 | ||
174 | for (i = 0; i < init.cnt; i++) { |
174 | for (i = 0; i < init.cnt; i++) { |
175 | if (init.tasks[i].addr % FRAME_SIZE) { |
175 | if (init.tasks[i].addr % FRAME_SIZE) { |
176 | printf("init[%" PRIc "].addr is not frame aligned\n", i); |
176 | printf("init[%" PRIs "].addr is not frame aligned\n", i); |
177 | continue; |
177 | continue; |
178 | } |
178 | } |
179 | 179 | ||
180 | /* |
180 | /* |
181 | * Construct task name from the 'init:' prefix and the |
181 | * Construct task name from the 'init:' prefix and the |
Line 211... | Line 211... | ||
211 | } else { |
211 | } else { |
212 | /* RAM disk image */ |
212 | /* RAM disk image */ |
213 | int rd = init_rd((rd_header_t *) init.tasks[i].addr, init.tasks[i].size); |
213 | int rd = init_rd((rd_header_t *) init.tasks[i].addr, init.tasks[i].size); |
214 | 214 | ||
215 | if (rd != RE_OK) |
215 | if (rd != RE_OK) |
216 | printf("Init binary %" PRIc " not used (error %d)\n", i, rd); |
216 | printf("Init binary %" PRIs " not used (error %d)\n", i, rd); |
217 | } |
217 | } |
218 | } |
218 | } |
219 | 219 | ||
220 | /* |
220 | /* |
221 | * Run user tasks. |
221 | * Run user tasks. |