Changes in kernel/generic/src/proc/task.c [be06914:dd8d5a7] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/proc/task.c
rbe06914 rdd8d5a7 151 151 atomic_set(&task->refcount, 0); 152 152 atomic_set(&task->lifecount, 0); 153 atomic_set(&task->active_calls, 0);154 153 155 154 irq_spinlock_initialize(&task->lock, "task_t_lock"); … … 291 290 } 292 291 293 /** Syscall for reading task ID from userspace. 294 * 295 * @param uspace_task_id Userspace address of 8-byte buffer 296 * where to store current task ID. 292 #ifdef __32_BITS__ 293 294 /** Syscall for reading task ID from userspace (32 bits) 295 * 296 * @param uspace_taskid Pointer to user-space buffer 297 * where to store current task ID. 297 298 * 298 299 * @return Zero on success or an error code from @ref errno.h. 299 300 * 300 301 */ 301 unative_t sys_task_get_id(task_id_t *uspace_task_id)302 sysarg_t sys_task_get_id(sysarg64_t *uspace_taskid) 302 303 { 303 304 /* … … 305 306 * the lifespan of the task. 306 307 */ 307 return ( unative_t) copy_to_uspace(uspace_task_id, &TASK->taskid,308 return (sysarg_t) copy_to_uspace(uspace_taskid, &TASK->taskid, 308 309 sizeof(TASK->taskid)); 309 310 } 311 312 #endif /* __32_BITS__ */ 313 314 #ifdef __64_BITS__ 315 316 /** Syscall for reading task ID from userspace (64 bits) 317 * 318 * @return Current task ID. 319 * 320 */ 321 sysarg_t sys_task_get_id(void) 322 { 323 /* 324 * No need to acquire lock on TASK because taskid remains constant for 325 * the lifespan of the task. 326 */ 327 return TASK->taskid; 328 } 329 330 #endif /* __64_BITS__ */ 310 331 311 332 /** Syscall for setting the task name. … … 319 340 * 320 341 */ 321 unative_t sys_task_set_name(const char *uspace_name, size_t name_len)342 sysarg_t sys_task_set_name(const char *uspace_name, size_t name_len) 322 343 { 323 344 int rc; … … 331 352 rc = copy_from_uspace(namebuf, uspace_name, name_len); 332 353 if (rc != 0) 333 return ( unative_t) rc;354 return (sysarg_t) rc; 334 355 335 356 namebuf[name_len] = '\0'; … … 478 499 #ifdef __32_BITS__ 479 500 if (*additional) 480 printf("%-8" PRIu64 " %9 lu %7lu", task->taskid,481 atomic_get(&task->refcount) , atomic_get(&task->active_calls));501 printf("%-8" PRIu64 " %9" PRIua, task->taskid, 502 atomic_get(&task->refcount)); 482 503 else 483 504 printf("%-8" PRIu64 " %-14s %-5" PRIu32 " %10p %10p" … … 489 510 #ifdef __64_BITS__ 490 511 if (*additional) 491 printf("%-8" PRIu64 " %9" PRIu64 "%c %9" PRIu64 "%c %9lu %7lu",492 task->taskid, ucycles, usuffix, kcycles, ksuffix,493 atomic_get(&task->refcount), atomic_get(&task->active_calls));512 printf("%-8" PRIu64 " %9" PRIu64 "%c %9" PRIu64 "%c " 513 "%9" PRIua, task->taskid, ucycles, usuffix, kcycles, 514 ksuffix, atomic_get(&task->refcount)); 494 515 else 495 516 printf("%-8" PRIu64 " %-14s %-5" PRIu32 " %18p %18p\n", … … 501 522 for (i = 0; i < IPC_MAX_PHONES; i++) { 502 523 if (task->phones[i].callee) 503 printf(" % " PRIs ":%p", i, task->phones[i].callee);524 printf(" %zu:%p", i, task->phones[i].callee); 504 525 } 505 526 printf("\n");
Note:
See TracChangeset
for help on using the changeset viewer.