Vystem 0.2

This commit is contained in:
2026-05-27 19:34:54 +02:00
parent a43c08b893
commit d238606b75
372 changed files with 51320 additions and 83217 deletions

View File

@@ -0,0 +1,18 @@
# EFI framebuffer
## Introduction
This subsystem aims to provide a simple way to indicate the boot process state using a progress bar displayed on the EFI GOP framebuffer. For the moment, only framebuffers using 32 bits pixel format are supported. It's defined in `shelter/lib/include/kernel/efifb.h` and implemented in `shelter/lib/src/kernel/efifb.c`.
## Overview
To avoid any complex colors encoding, pixel values for the colors white and gray must be provided through the framebuffer configuration.
The framebuffer parameters are loaded using the `sh_efifb_init_fb(sh_conf_FB_CONFIG *fb_conf,sh_page_PAGE_TABLE_POOL *ptp)` function. This function will:
1) Load framebuffers dimensions
2) Identity map the whole framebuffers
3) Erase the previous texts on the framebuffer, based on the information provided in the framebuffer configuration
The progress bar is initialized using `sh_efifb_init_bar()`. It will draw an empty progress bar.
Finally, to update the progress bar, the `sh_efifb_set_bar(sh_uint8 percent)` function is used.