|
| static void * | rsdp_locate (EFI_SYSTEM_TABLE *systemTable) |
| | Locates the ACPI RSDP from the EFI configuration table.
|
| |
| static UINT32 | gop_find_best_mode (EFI_GRAPHICS_OUTPUT_PROTOCOL *gop, int64_t requestedWidth, int64_t requestedHeight) |
| | Finds the best matching graphics mode for the requested resolution.
|
| |
| static EFI_STATUS | gop_set_mode (EFI_GRAPHICS_OUTPUT_PROTOCOL *gop, int64_t requestedWidth, int64_t requestedHeight) |
| | Sets the graphics mode to best match the requested resolution.
|
| |
| static EFI_STATUS | gop_init (boot_gop_t *buffer) |
| | Initializes the GOP buffer structure with framebuffer information.
|
| |
| static _NORETURN void | panic_halt (panic_code_t code) |
| | Halts the system with a colored screen indicating the error.
|
| |
| static EFI_STATUS | mem_map_init (boot_memory_map_t *map) |
| | Initializes the EFI memory map structure.
|
| |
| static void | mem_map_cleanup (boot_memory_map_t *map) |
| | Free the memory map structure.
|
| |
| static size_t | mem_count_available_pages (boot_memory_map_t *map) |
| | Calculates the total available conventional memory.
|
| |
| static EFI_STATUS | mem_allocator_init (void) |
| | Initializes the basic page allocator.
|
| |
| static uint64_t | basic_allocator_alloc_pages (pfn_t *pfns, size_t amount) |
| | Allocate pages from the basic allocator.
|
| |
| static void | mem_page_table_init (page_table_t *table, boot_memory_map_t *map, boot_gop_t *gop, boot_kernel_t *kernel) |
| | Initializes the kernel page table with all required mappings.
|
| |
| static bool | wstr_to_str (char *dest, size_t destSize, const CHAR16 *src) |
| | Copies a wide character string to a narrow character buffer.
|
| |
| static void | boot_file_free (boot_file_t *file) |
| | Frees a boot file structure and its data.
|
| |
| static void | boot_dir_free (boot_dir_t *dir) |
| | Recursively frees a directory tree.
|
| |
| static boot_file_t * | disk_load_file (EFI_FILE *parentDir, const CHAR16 *fileName) |
| | Loads a single file from an EFI file handle.
|
| |
| static boot_dir_t * | disk_load_dir (EFI_FILE *dirHandle, const CHAR16 *dirName) |
| | Recursively loads a directory and its contents.
|
| |
| static EFI_STATUS | disk_init (boot_disk_t *disk, EFI_FILE *rootHandle) |
| | Loads the initial RAM disk from the boot volume.
|
| |
| static EFI_STATUS | kernel_load (boot_kernel_t *kernel, EFI_FILE *rootHandle) |
| | Loads and validates the kernel ELF file.
|
| |
| static void | splash_screen_display (void) |
| | Displays the bootloader splash screen.
|
| |
| static EFI_STATUS | volume_open_root (EFI_FILE **rootFile, EFI_HANDLE imageHandle) |
| | Opens the root volume of the boot device.
|
| |
| static EFI_STATUS | boot_info_populate (EFI_HANDLE imageHandle, EFI_SYSTEM_TABLE *systemTable, boot_info_t *bootInfo) |
| | Populates the boot information structure.
|
| |
| static EFI_STATUS | boot_services_exit (EFI_HANDLE imageHandle, boot_info_t *bootInfo) |
| | Exits UEFI boot services and prepares for kernel handoff.
|
| |
| EFI_STATUS | efi_main (EFI_HANDLE imageHandle, EFI_SYSTEM_TABLE *systemTable) |
| | UEFI entry point.
|
| |