From fb315be37b28f64ad07aaa348f5ab31552c33c76 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Tue, 6 Apr 2021 17:41:57 +0200 Subject: [PATCH] Query RSDP address --- src/main.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 2e1e01cf..0b4dec4f 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; +use uefi::{prelude::entry, table::cfg}; #[entry] fn efi_main( @@ -28,6 +28,12 @@ fn efi_main( v.push(2); writeln!(stdout, "v = {:?}", v).unwrap(); + let mut config_entries = system_table.config_table().iter(); + let rsdp_addr = config_entries + .find(|entry| matches!(entry.guid, cfg::ACPI_GUID | cfg::ACPI2_GUID)) + .map(|entry| entry.address); + writeln!(stdout, "rsdp addr: {:?}", rsdp_addr).unwrap(); + loop {} }