Changes in kernel/generic/src/proc/program.c [5a5269d:ca21f1e2] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/proc/program.c
r5a5269d rca21f1e2 48 48 #include <security/perm.h> 49 49 #include <lib/elf_load.h> 50 #include < str.h>50 #include <errno.h> 51 51 #include <log.h> 52 52 #include <syscall/copy.h> … … 69 69 * 70 70 */ 71 errno_t program_create(as_t *as, u space_addr_t entry_addr, char *name, program_t *prg)71 errno_t program_create(as_t *as, uintptr_t entry_addr, char *name, program_t *prg) 72 72 { 73 73 uspace_arg_t *kernel_uarg = (uspace_arg_t *) … … 76 76 return ENOMEM; 77 77 78 prg->loader_status = E OK;78 prg->loader_status = EE_OK; 79 79 prg->task = task_create(as, name); 80 80 if (!prg->task) { … … 86 86 * Create the stack address space area. 87 87 */ 88 uintptr_t virt = (uintptr_t) AS_AREA_ANY;88 uintptr_t virt = (uintptr_t) -1; 89 89 uintptr_t bound = USER_ADDRESS_SPACE_END - (STACK_SIZE_USER - 1); 90 90 … … 103 103 } 104 104 105 kernel_uarg->uspace_entry = entry_addr;106 kernel_uarg->uspace_stack = virt;105 kernel_uarg->uspace_entry = (void *) entry_addr; 106 kernel_uarg->uspace_stack = (void *) virt; 107 107 kernel_uarg->uspace_stack_size = STACK_SIZE_USER; 108 kernel_uarg->uspace_thread_function = USPACE_NULL;109 kernel_uarg->uspace_thread_arg = USPACE_NULL;110 kernel_uarg->uspace_uarg = USPACE_NULL;108 kernel_uarg->uspace_thread_function = NULL; 109 kernel_uarg->uspace_thread_arg = NULL; 110 kernel_uarg->uspace_uarg = NULL; 111 111 112 112 /* … … 149 149 150 150 prg->loader_status = elf_load((elf_header_t *) image_addr, as); 151 if (prg->loader_status != E OK) {151 if (prg->loader_status != EE_OK) { 152 152 as_release(as); 153 153 prg->task = NULL; … … 183 183 184 184 prg->loader_status = elf_load((elf_header_t *) program_loader, as); 185 if (prg->loader_status != E OK) {185 if (prg->loader_status != EE_OK) { 186 186 as_release(as); 187 187 log(LF_OTHER, LVL_ERROR, "Cannot spawn loader (%s)", 188 str_error(prg->loader_status));188 elf_error(prg->loader_status)); 189 189 return ENOENT; 190 190 } … … 218 218 * 219 219 */ 220 sys_errno_t sys_program_spawn_loader( uspace_ptr_charuspace_name, size_t name_len)220 sys_errno_t sys_program_spawn_loader(char *uspace_name, size_t name_len) 221 221 { 222 222 /* Cap length of name and copy it from userspace. */
Note:
See TracChangeset
for help on using the changeset viewer.