#include <agnix/agnix.h>#include <agnix/tasks.h>#include <agnix/memory.h>#include <agnix/linkage.h>#include <asm/segment.h>#include <asm/desc.h>#include <agnix/adi/chips/cpu.h>#include <agnix/console.h>Include dependency graph for init_task.c:

Go to the source code of this file.
Functions | |
| u32 idle_esp[0x2000] | __attribute__ ((__section__(".data.init_task"))) |
| tss_wrap_s init_tss[MAX_TASKS] | __attribute__ ((__aligned__(32))) |
| u16 | kernel_task_init (struct task_s **task, struct tss_s **tss, u32 page, u32 eip) |
| u16 __init | idle_task_init (void) |
Variables | |
| task_s * | init_task [MAX_TASKS] |
| tss_s * | idle_tss |
| task_s * | idle_task |
| tss_s * | syscall_tss |
| task_s * | syscall_task |
|
|
|
|
|
|
|
|
Definition at line 50 of file init_task.c. References kernel_task_init(). Referenced by tasks_init(). 00051 {
00052 u16 entry;
00053
00054 entry = kernel_task_init(&idle_task, &idle_tss, (u32)idle_esp, 0);
00055 load_TR(entry);
00056
00057 return entry;
00058 }
Here is the call graph for this function: ![]() |
|
||||||||||||||||||||
|
Definition at line 32 of file init_task.c. References get_free_pages(), get_free_tss(), and task_kernel_create(). Referenced by idle_task_init(). 00033 {
00034 struct tss_wrap_s *tss_wrap;
00035
00036 tss_wrap = get_free_tss();
00037 *tss = &(tss_wrap->tss);
00038
00039 if (!page)
00040 page = get_free_pages(1);
00041
00042 *task = (struct task_s *)page;
00043 (*task)->t_pid = 0;
00044 (*task)->t_state = TASK_STAT_STARTING;
00045 (*task)->tss_wrap = tss_wrap;
00046
00047 return task_kernel_create(tss_wrap, eip, page + 0x1000);
00048 }
Here is the call graph for this function: ![]() |
|
|
Definition at line 28 of file init_task.c. Referenced by schedule_task(). |
|
|
Definition at line 27 of file init_task.c. |
|
|
Definition at line 25 of file init_task.c. |
|
|
Definition at line 30 of file init_task.c. |
|
|
Definition at line 29 of file init_task.c. |