Rev 755 | Rev 757 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 755 | Rev 756 | ||
---|---|---|---|
Line 136... | Line 136... | ||
136 | * Second part of main_bsp(). |
136 | * Second part of main_bsp(). |
137 | * |
137 | * |
138 | */ |
138 | */ |
139 | void main_bsp_separated_stack(void) |
139 | void main_bsp_separated_stack(void) |
140 | { |
140 | { |
141 | as_t *as; |
- | |
142 | task_t *k; |
141 | task_t *k; |
143 | thread_t *t; |
142 | thread_t *t; |
144 | 143 | ||
145 | the_initialize(THE); |
144 | the_initialize(THE); |
146 | 145 | ||
Line 149... | Line 148... | ||
149 | * because other subsystems will register their respective |
148 | * because other subsystems will register their respective |
150 | * commands. |
149 | * commands. |
151 | */ |
150 | */ |
152 | kconsole_init(); |
151 | kconsole_init(); |
153 | 152 | ||
- | 153 | /* |
|
154 | /* Exception handler initialization, before architecture |
154 | * Exception handler initialization, before architecture |
155 | * starts adding its own handlers |
155 | * starts adding its own handlers |
156 | */ |
156 | */ |
157 | exc_init(); |
157 | exc_init(); |
158 | 158 | ||
159 | /* |
159 | /* |
160 | * Memory management subsystems initialization. |
160 | * Memory management subsystems initialization. |
161 | */ |
161 | */ |
162 | arch_pre_mm_init(); |
162 | arch_pre_mm_init(); |
163 | early_heap_init(config.heap_addr, config.heap_size + config.heap_delta); |
163 | early_heap_init(config.heap_addr, config.heap_size + config.heap_delta); |
164 | frame_init(); |
164 | frame_init(); |
- | 165 | as_init(); |
|
165 | page_init(); |
166 | page_init(); |
166 | tlb_init(); |
167 | tlb_init(); |
167 | arch_post_mm_init(); |
168 | arch_post_mm_init(); |
168 | 169 | ||
169 | version_print(); |
170 | version_print(); |
Line 187... | Line 188... | ||
187 | 188 | ||
188 | if (config.init_size > 0) |
189 | if (config.init_size > 0) |
189 | printf("config.init_addr=%X, config.init_size=%d\n", config.init_addr, config.init_size); |
190 | printf("config.init_addr=%X, config.init_size=%d\n", config.init_addr, config.init_size); |
190 | 191 | ||
191 | /* |
192 | /* |
192 | * Create kernel address space. |
- | |
193 | */ |
- | |
194 | as = as_create(GET_PTL0_ADDRESS(), FLAG_AS_KERNEL); |
- | |
195 | if (!as) |
- | |
196 | panic("can't create kernel address space\n"); |
- | |
197 | - | ||
198 | /* |
- | |
199 | * Create kernel task. |
193 | * Create kernel task. |
200 | */ |
194 | */ |
201 | k = task_create(as); |
195 | k = task_create(AS_KERNEL); |
202 | if (!k) |
196 | if (!k) |
203 | panic("can't create kernel task\n"); |
197 | panic("can't create kernel task\n"); |
204 | 198 | ||
205 | /* |
199 | /* |
206 | * Create the first thread. |
200 | * Create the first thread. |