Changeset 6df41418 in mainline
- Timestamp:
- 2018-03-11T07:35:05Z (7 years ago)
- Children:
- 4428d62
- Parents:
- 414e09d
- git-author:
- Jakub Jermar <jakub@…> (2018-02-20 21:29:28)
- git-committer:
- Jakub Jermar <jakub@…> (2018-03-11 07:35:05)
- Location:
- kernel/generic
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/ipc/ipc.h
r414e09d r6df41418 177 177 extern slab_cache_t *phone_cache; 178 178 179 extern answerbox_t *ipc_ phone_0;179 extern answerbox_t *ipc_box_0; 180 180 181 181 extern void ipc_init(void); -
kernel/generic/src/ipc/ipc.c
r414e09d r6df41418 63 63 static void ipc_forget_call(call_t *); 64 64 65 /** Open channel that is assigned automatically to new tasks*/66 answerbox_t *ipc_ phone_0 = NULL;65 /** Answerbox that new tasks are automatically connected to */ 66 answerbox_t *ipc_box_0 = NULL; 67 67 68 68 static slab_cache_t *call_cache; -
kernel/generic/src/main/kinit.c
r414e09d r6df41418 265 265 PERM_IO_MANAGER | PERM_IRQ_REG); 266 266 267 if (!ipc_ phone_0) {268 ipc_ phone_0 = &programs[i].task->answerbox;267 if (!ipc_box_0) { 268 ipc_box_0 = &programs[i].task->answerbox; 269 269 /* 270 * Hold the first task so that the271 * ipc_ phone_0 remains a valid pointer270 * Hold the first task so that 271 * ipc_box_0 remains a valid pointer 272 272 * even if the first task exits for 273 273 * whatever reason. -
kernel/generic/src/proc/task.c
r414e09d r6df41418 129 129 size_t tasks_left; 130 130 131 if (ipc_ phone_0) {132 task_t *task_0 = ipc_ phone_0->task;133 ipc_ phone_0 = NULL;131 if (ipc_box_0) { 132 task_t *task_0 = ipc_box_0->task; 133 ipc_box_0 = NULL; 134 134 /* 135 135 * The first task is held by kinit(), we need to release it or … … 243 243 #endif 244 244 245 if ((ipc_ phone_0) &&246 (container_check(ipc_ phone_0->task->container, task->container))) {245 if ((ipc_box_0) && 246 (container_check(ipc_box_0->task->container, task->container))) { 247 247 cap_handle_t phone_handle; 248 248 errno_t rc = phone_alloc(task, &phone_handle); … … 256 256 kobject_t *phone_obj = kobject_get(task, phone_handle, 257 257 KOBJECT_TYPE_PHONE); 258 (void) ipc_phone_connect(phone_obj->phone, ipc_ phone_0);258 (void) ipc_phone_connect(phone_obj->phone, ipc_box_0); 259 259 } 260 260
Note:
See TracChangeset
for help on using the changeset viewer.