LF OS
Hobby operating system for amd64 with high ambitions
|
#include <config.h>
#include <loader.h>
#include <panic.h>
#include <mm.h>
#include <vm.h>
#include <fbconsole.h>
#include <sd.h>
#include <sc.h>
#include <elf.h>
#include <scheduler.h>
#include <string.h>
#include <pic.h>
#include <pit.h>
#include <slab.h>
#include <log.h>
#include <efi.h>
#include <mq.h>
#include "../../bootlogo.c"
Go to the source code of this file.
Macros | |
#define | INIT_STEP(message, code) |
Functions | |
void | nyi (int loop) |
void | bootstrap_globals (void) |
void | init_console (struct LoaderStruct *loaderStruct) |
void | init_mm (struct LoaderStruct *loaderStruct) |
void | init_symbols (struct LoaderStruct *loaderStruct) |
void | init_init (struct LoaderStruct *loaderStruct) |
__attribute__ ((force_align_arg_pointer)) | |
__attribute__ ((noinline)) | |
Variables | |
char * | LAST_INIT_STEP |
char | build_id [] |
#define INIT_STEP | ( | message, | |
code | |||
) |
__attribute__ | ( | (force_align_arg_pointer) | ) |
Definition at line 36 of file main.c.
References bootstrap_globals(), build_id, cleanup_boot_vm(), fbconsole_init_backbuffer(), init_condvar(), init_console(), init_efi(), init_gdt(), init_init(), init_mm(), init_mq(), init_mutex(), init_pic(), init_pit(), init_sc(), init_scheduler(), init_sd(), INIT_STEP, init_symbols(), init_vm(), kernel_alloc, LAST_INIT_STEP, logd, and logi.
__attribute__ | ( | (noinline) | ) |
Definition at line 219 of file main.c.
References fbconsole_write(), and panic_message().
void bootstrap_globals | ( | void | ) |
Definition at line 214 of file main.c.
References vm_current_context(), and VM_KERNEL_CONTEXT.
void init_console | ( | struct LoaderStruct * | loaderStruct | ) |
Definition at line 121 of file main.c.
References LoaderStruct::fb_height, LoaderStruct::fb_location, LoaderStruct::fb_stride, LoaderStruct::fb_width, fbconsole_blt(), fbconsole_init(), and lf_os_bootlogo.
void init_init | ( | struct LoaderStruct * | loaderStruct | ) |
Definition at line 187 of file main.c.
References data_end, entrypoint, load_elf(), logd, FileDescriptor::name, LoaderStruct::num_files, LoaderStruct::num_mem_desc, FileDescriptor::offset, LoaderStruct::size, start_task(), strcasecmp(), and vm_context_new().
void init_mm | ( | struct LoaderStruct * | loaderStruct | ) |
Definition at line 128 of file main.c.
References ALLOCATOR_REGION_SCRATCHPAD, MemoryRegion::flags, init_slab(), logd, logi, MEMORY_REGION_FIRMWARE, MEMORY_REGION_USABLE, memset(), mm_bootstrap(), MM_FREE, mm_mark_physical_pages(), LoaderStruct::num_mem_desc, MemoryRegion::num_pages, LoaderStruct::size, slab_alloc(), and MemoryRegion::start_address.
void init_symbols | ( | struct LoaderStruct * | loaderStruct | ) |
Definition at line 174 of file main.c.
References elf_load_symbols(), kernel_alloc, kernel_symbols, FileDescriptor::name, LoaderStruct::num_files, LoaderStruct::num_mem_desc, FileDescriptor::offset, LoaderStruct::size, and strcasecmp().
void nyi | ( | int | loop | ) |