Changeset e1e4192 in mainline for kernel/generic/src
- Timestamp:
- 2012-06-03T20:45:58Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 90478727
- Parents:
- f7e69f5 (diff), 3123d2a (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- kernel/generic/src
- Files:
-
- 5 edited
-
ipc/sysipc.c (modified) (3 diffs)
-
lib/rd.c (modified) (2 diffs)
-
main/kinit.c (modified) (2 diffs)
-
proc/program.c (modified) (5 diffs)
-
synch/spinlock.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/ipc/sysipc.c
rf7e69f5 re1e4192 597 597 if (IPC_GET_IMETHOD(call->data) == IPC_M_CONNECT_TO_ME) { 598 598 int phoneid = phone_alloc(TASK); 599 if (phoneid < 0) { /* Failed to allocate phone */599 if (phoneid < 0) { /* Failed to allocate phone */ 600 600 IPC_SET_RETVAL(call->data, ELIMIT); 601 601 ipc_answer(box, call); … … 883 883 884 884 /* 885 * User space is not allowed to change interface and method of system885 * User space is not allowed to change interface and method of system 886 886 * methods on forward, allow changing ARG1, ARG2, ARG3 and ARG4 by 887 * means of method, arg1, arg2 and arg3.887 * means of imethod, arg1, arg2 and arg3. 888 888 * If the interface and method is immutable, don't change anything. 889 889 */ … … 897 897 IPC_SET_ARG3(call->data, arg2); 898 898 899 if (slow) {899 if (slow) 900 900 IPC_SET_ARG4(call->data, arg3); 901 /*902 * For system methods we deliberately don't903 * overwrite ARG5.904 */905 }901 902 /* 903 * For system methods we deliberately don't 904 * overwrite ARG5. 905 */ 906 906 } else { 907 907 IPC_SET_IMETHOD(call->data, imethod); -
kernel/generic/src/lib/rd.c
rf7e69f5 re1e4192 38 38 */ 39 39 40 #include <print.h> 40 41 #include <lib/rd.h> 41 42 #include <mm/frame.h> … … 66 67 sysinfo_set_item_val("rd.size", NULL, size); 67 68 sysinfo_set_item_val("rd.address.physical", NULL, (sysarg_t) base); 69 70 printf("RAM disk at %p (size %zu bytes)\n", (void *) base, size); 68 71 } 69 72 -
kernel/generic/src/main/kinit.c
rf7e69f5 re1e4192 201 201 str_cpy(namebuf + INIT_PREFIX_LEN, 202 202 TASK_NAME_BUFLEN - INIT_PREFIX_LEN, name); 203 203 204 204 /* 205 205 * Create virtual memory mappings for init task images. … … 236 236 init_rd((void *) init.tasks[i].paddr, init.tasks[i].size); 237 237 } else 238 printf("init[%zu]: Init binary load failed (error %d)\n", i, rc); 238 printf("init[%zu]: Init binary load failed " 239 "(error %d, loader status %u)\n", i, rc, 240 programs[i].loader_status); 239 241 } 240 242 -
kernel/generic/src/proc/program.c
rf7e69f5 re1e4192 80 80 kernel_uarg->uspace_uarg = NULL; 81 81 82 prg->loader_status = EE_OK; 82 83 prg->task = task_create(as, name); 83 84 if (!prg->task) … … 111 112 * executable image. The task is returned in *task. 112 113 * 113 * @param image_addr Address of an executable program image. 114 * @param name Name to set for the program's task. 115 * @param prg Buffer for storing program info. If image_addr 116 * points to a loader image, p->task will be set to 117 * NULL and EOK will be returned. 114 * @param[in] image_addr Address of an executable program image. 115 * @param[in] name Name to set for the program's task. 116 * @param[out] prg Buffer for storing program info. 117 * If image_addr points to a loader image, 118 * prg->task will be set to NULL and EOK 119 * will be returned. 118 120 * 119 121 * @return EOK on success or negative error code. … … 126 128 return ENOMEM; 127 129 128 unsigned int rc= elf_load((elf_header_t *) image_addr, as, 0);129 if ( rc!= EE_OK) {130 prg->loader_status = elf_load((elf_header_t *) image_addr, as, 0); 131 if (prg->loader_status != EE_OK) { 130 132 as_destroy(as); 131 133 prg->task = NULL; 132 134 prg->main_thread = NULL; 133 135 134 if ( rc!= EE_LOADER)136 if (prg->loader_status != EE_LOADER) 135 137 return ENOTSUP; 136 138 … … 140 142 141 143 program_loader = image_addr; 142 LOG("Registered program loader at %p", 143 (void *) image_addr); 144 printf("Program loader at %p\n", (void *) image_addr); 144 145 145 146 return EOK; … … 171 172 } 172 173 173 unsigned int rc= elf_load((elf_header_t *) program_loader, as,174 prg->loader_status = elf_load((elf_header_t *) program_loader, as, 174 175 ELD_F_LOADER); 175 if ( rc!= EE_OK) {176 if (prg->loader_status != EE_OK) { 176 177 as_destroy(as); 177 printf("Cannot spawn loader (%s)\n", elf_error(rc)); 178 printf("Cannot spawn loader (%s)\n", 179 elf_error(prg->loader_status)); 178 180 return ENOENT; 179 181 } -
kernel/generic/src/synch/spinlock.c
rf7e69f5 re1e4192 262 262 int rc = spinlock_trylock(&(lock->lock)); 263 263 264 ASSERT_IRQ_SPINLOCK( !rc || !lock->guard, lock);264 ASSERT_IRQ_SPINLOCK((!rc) || (!lock->guard), lock); 265 265 return rc; 266 266 }
Note:
See TracChangeset
for help on using the changeset viewer.
