LF OS
Hobby operating system for amd64 with high ambitions
Loading...
Searching...
No Matches
main.c File Reference

(29312b1 fbconsole, panic: render panic after framebuffer was given to userspace - without clearing screen contents)

#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"
+ Include dependency graph for main.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 []
 

Macro Definition Documentation

◆ INIT_STEP

#define INIT_STEP (   message,
  code 
)
Value:
code \
logi("kernel", message);
char * LAST_INIT_STEP
Definition main.c:21
static bool struct Message * message
Definition syscalls.h:338

Definition at line 24 of file main.c.

Function Documentation

◆ __attribute__() [1/2]

__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.

+ Here is the call graph for this function:

◆ __attribute__() [2/2]

__attribute__ ( (noinline)  )

Definition at line 219 of file main.c.

References fbconsole_write(), and panic_message().

+ Here is the call graph for this function:

◆ bootstrap_globals()

void bootstrap_globals ( void  )

Definition at line 214 of file main.c.

References vm_current_context(), and VM_KERNEL_CONTEXT.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ init_console()

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.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ init_init()

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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ init_mm()

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.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ init_symbols()

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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nyi()

void nyi ( int  loop)

Variable Documentation

◆ build_id

char build_id[]
extern

Definition at line 3 of file version.c.

◆ LAST_INIT_STEP

char* LAST_INIT_STEP

Definition at line 21 of file main.c.