Print GOP framebuffer info

This commit is contained in:
Philipp Oppermann
2021-04-06 17:52:11 +02:00
parent fb315be37b
commit 0e0d94ca92

View File

@@ -7,7 +7,7 @@ extern crate alloc;
use alloc::vec::Vec; use alloc::vec::Vec;
use core::{alloc::Layout, fmt::Write, panic::PanicInfo}; use core::{alloc::Layout, fmt::Write, panic::PanicInfo};
use uefi::{prelude::entry, table::cfg}; use uefi::{prelude::entry, proto::console::gop::GraphicsOutput, table::cfg};
#[entry] #[entry]
fn efi_main( fn efi_main(
@@ -34,6 +34,20 @@ fn efi_main(
.map(|entry| entry.address); .map(|entry| entry.address);
writeln!(stdout, "rsdp addr: {:?}", rsdp_addr).unwrap(); writeln!(stdout, "rsdp addr: {:?}", rsdp_addr).unwrap();
let protocol = system_table
.boot_services()
.locate_protocol::<GraphicsOutput>()
.unwrap()
.unwrap();
let gop = unsafe { &mut *protocol.get() };
writeln!(stdout, "current gop mode: {:?}", gop.current_mode_info()).unwrap();
writeln!(
stdout,
"framebuffer at: {:#p}",
gop.frame_buffer().as_mut_ptr()
)
.unwrap();
loop {} loop {}
} }