diff --git a/src/main.rs b/src/main.rs index 0b4dec4f..ba70d4f2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -7,7 +7,7 @@ extern crate alloc; use alloc::vec::Vec; 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] fn efi_main( @@ -34,6 +34,20 @@ fn efi_main( .map(|entry| entry.address); writeln!(stdout, "rsdp addr: {:?}", rsdp_addr).unwrap(); + let protocol = system_table + .boot_services() + .locate_protocol::() + .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 {} }