Changeset 5be1923 in mainline for generic/src/main
- Timestamp:
- 2006-03-14T12:11:28Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- d3e7ff4
- Parents:
- 4bb4836d
- File:
-
- 1 edited
-
generic/src/main/kinit.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
generic/src/main/kinit.c
r4bb4836d r5be1923 28 28 29 29 #include <main/kinit.h> 30 #include <main/uinit.h>31 30 #include <config.h> 32 31 #include <arch.h> … … 47 46 #include <interrupt.h> 48 47 #include <console/kconsole.h> 49 #include <elf.h>50 48 #include <ipc/ns.h> 51 49 … … 72 70 { 73 71 thread_t *t; 74 as_t *as;75 as_area_t *a;76 int rc;77 task_t *u;78 72 79 73 interrupts_disable(); … … 150 144 if (config.init_addr % FRAME_SIZE) 151 145 panic("config.init_addr is not frame aligned"); 152 153 as = as_create(0);154 if (!as)155 panic("as_create\n");156 146 157 rc = elf_load((elf_header_t *) config.init_addr, as); 158 if (rc != EE_OK) { 159 printf("elf_load failed: %s\n", elf_error(rc)); 160 } else { 161 u = task_create(as); 162 if (!u) 163 panic("task_create\n"); 164 t = thread_create(uinit, (void *)((elf_header_t *) config.init_addr)->e_entry, u, THREAD_USER_STACK); 165 if (!t) 166 panic("thread_create\n"); 167 168 /* 169 * Create the data as_area. 170 */ 171 a = as_area_create(as, AS_AREA_STACK, 1, USTACK_ADDRESS); 172 if (!a) 173 panic("as_area_create: stack\n"); 174 175 thread_ready(t); 147 if (!task_run_program((void *)config.init_addr)) { 148 printf("Userspace not started.\n"); 176 149 } 177 150 }
Note:
See TracChangeset
for help on using the changeset viewer.
