roxy-loader 0.1.2

Lightweight Rust bootloader for kernel development.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use anyhow::Result;
use roxy_loader_api::framebuffer::Framebuffer;
use uefi::proto::console::gop::GraphicsOutput;

use crate::utils::get_and_open_protocol;

pub fn new_framebuffer() -> Result<Framebuffer> {
    let mut gop = get_and_open_protocol::<GraphicsOutput>()?;

    let mode = gop.current_mode_info();
    let mut fb = gop.frame_buffer();

    Ok(Framebuffer::new(fb.as_mut_ptr(), fb.size(), mode.stride()))
}