Files | |
file | kinit.h |
file | uinit.h |
file | version.h |
file | kinit.c |
Kernel initialization thread. | |
file | main.c |
Main initialization kernel function for all processors. | |
file | uinit.c |
Userspace bootstrap thread. | |
file | version.c |
Defines | |
#define | CONFIG_STACK_SIZE ((1<<STACK_FRAMES)*STACK_SIZE) |
Functions | |
void | kinit (void *arg) |
void | uinit (void *arg) |
void | version_print (void) |
void | main_bsp (void) |
void | main_ap (void) |
static void | main_bsp_separated_stack (void) |
static void | main_ap_separated_stack (void) |
Variables | |
config_t | config |
init_t | init |
context_t | ctx |
__address | hardcoded_load_address = 0 |
size_t | hardcoded_ktext_size = 0 |
size_t | hardcoded_kdata_size = 0 |
char * | project = "SPARTAN kernel" |
char * | copyright = "Copyright (C) 2001-2006 HelenOS project" |
char * | release = RELEASE |
char * | name = NAME |
char * | arch = ARCH |
char * | revision = "" |
char * | timestamp = "" |
|
Definition at line 124 of file main.c. Referenced by main_bsp(). |
|
Kernel initialization thread. kinit takes care of higher level kernel initialization (i.e. thread creation, userspace initialization etc.).
Definition at line 84 of file kinit.c. References config, thread::cpu, config_t::cpu_count, cpu_list(), cpus, thread::flags, interrupts_disable(), kcpulb(), kmp(), NULL, panic, spinlock_lock, spinlock_unlock(), TASK, THREAD, thread_create(), thread_detach(), thread_join, thread_ready(), and X_WIRED. Referenced by main_bsp_separated_stack(). Here is the call graph for this function: ![]() |
|
Main kernel routine for application CPUs. Executed by application processors, temporary stack is at ctx.sp which was set during BP boot. This function passes control directly to main_ap_separated_stack(). Assuming interrupts_disable()'d. Definition at line 268 of file main.c. References arch_post_mm_init(), arch_pre_mm_init(), calibrate_delay_loop(), config, context_restore(), context_set, CPU, config_t::cpu_active, cpu_init(), CPU_STACK_SIZE, FADDR, frame_init(), l_apic_debug(), l_apic_init(), main_ap_separated_stack(), page_init(), THE, the_copy(), the_initialize(), and tlb_init(). Here is the call graph for this function: ![]() |
|
Main kernel routine for application CPUs using new stack. Second part of main_ap(). Definition at line 314 of file main.c. References ap_completion_wq, scheduler(), timeout_init(), waitq_wakeup(), and WAKEUP_FIRST. Referenced by main_ap(). Here is the call graph for this function: ![]() |
|
Main kernel routine for bootstrap CPU. Initializes the kernel by bootstrap CPU. This function passes control directly to main_bsp_separated_stack(). Assuming interrupts_disable(). Definition at line 135 of file main.c. References init_task_t::addr, ALIGN_UP, config_t::base, init_t::cnt, config, CONFIG_STACK_SIZE, config_t::cpu_active, config_t::cpu_count, get_memory_size(), hardcoded_kdata_size, hardcoded_ktext_size, hardcoded_load_address, init, config_t::kernel_size, config_t::memory_size, PA_overlaps, PAGE_SIZE, init_task_t::size, and init_t::tasks. Here is the call graph for this function: ![]() |
|
Main kernel routine for bootstrap CPU using new stack. Second part of main_bsp(). Definition at line 173 of file main.c. References init_task_t::addr, arch_post_mm_init(), arch_pre_mm_init(), arch_pre_smp_init(), as_init(), AS_KERNEL, config_t::base, btree_init(), calibrate_delay_loop(), clock_counter_init(), init_t::cnt, config, config_t::cpu_count, cpu_init(), exc_init(), frame_init(), futex_init(), hardcoded_kdata_size, hardcoded_ktext_size, init, ipc_init(), kconsole_init(), kinit(), klog_init(), config_t::memory_size, config_t::mm_initialized, NULL, page_init(), panic, printf(), scheduler(), scheduler_init(), init_task_t::size, slab_cache_init(), slab_enable_cpucache(), smp_init(), task_create(), task_init(), init_t::tasks, THE, the_initialize(), thread_create(), thread_init(), thread_ready(), timeout_init(), tlb_init(), and version_print(). Here is the call graph for this function: ![]() |
|
Thread used to bring up userspace thread.
Definition at line 53 of file uinit.c. References free(), NULL, userspace(), uspace_arg::uspace_entry, uspace_arg::uspace_stack, uspace_arg::uspace_thread_arg, uspace_arg::uspace_thread_function, and uspace_arg::uspace_uarg. Referenced by sys_thread_create(), and task_run_program(). Here is the call graph for this function: ![]() |
|
Print version information. Definition at line 57 of file version.c. References arch, copyright, name, printf(), project, release, revision, and timestamp. Referenced by cmd_version(), and main_bsp_separated_stack(). Here is the call graph for this function: ![]() |
|
Definition at line 42 of file version.c. Referenced by version_print(). |
|
Initial value: {
.mm_initialized = false
}
Definition at line 90 of file main.c. Referenced by _slab_reclaim(), arch_post_mm_init(), arch_pre_mm_init(), arch_pre_smp_init(), calibrate_delay_loop(), cpu_init(), cpu_list(), frame_arch_init(), frame_init(), ipi_broadcast(), kcpulb(), kinit(), main_ap(), main_bsp(), main_bsp_separated_stack(), make_magcache(), page_arch_init(), pm_init(), sched_print_list(), smp_init(), thread_ready(), tlb_shootdown_start(), and zone_create(). |
|
Definition at line 39 of file version.c. Referenced by version_print(). |
|
|
|
Definition at line 108 of file main.c. Referenced by main_bsp(), and main_bsp_separated_stack(). |
|
Definition at line 107 of file main.c. Referenced by main_bsp(), and main_bsp_separated_stack(). |
|
These 'hardcoded' variables will be intialized by the linker or the low level assembler code with appropriate sizes and addresses. Definition at line 106 of file main.c. Referenced by main_bsp(). |
|
Initial value: { 0 } Definition at line 95 of file main.c. Referenced by frame_init(), main_bsp(), main_bsp_separated_stack(), and zone_create(). |
|
|
|
Definition at line 38 of file version.c. Referenced by version_print(). |
|
Definition at line 40 of file version.c. Referenced by version_print(). |
|
Definition at line 47 of file version.c. Referenced by version_print(). |
|
Definition at line 53 of file version.c. Referenced by version_print(). |