use acpi::AcpiTables; use kernel::device_interface::character::CharacterDevice; use crate::devices::DEVICE_TABLE; use crate::rhai_shell::shell; use crate::stdio::StdIO; use crate::devices::Device::Vterm; /// Experimental scratchpad for testing. pub fn scratchpad() { shell(); } use core::fmt::Write; pub fn pci_fun() {} pub fn acpi() { let acpi_handler = AcpiStruct {}; let _table; unsafe { _table = AcpiTables::search_for_rsdp_bios(acpi_handler); } } // TODO: move to a better place #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub struct AcpiStruct {} impl acpi::AcpiHandler for AcpiStruct { unsafe fn map_physical_region( &self, physical_address: usize, size: usize, ) -> acpi::PhysicalMapping { info!("PHYS ADDR: {:?}", physical_address); info!("Size: {:?}", size); todo!("map_physical_region"); } fn unmap_physical_region(_region: &acpi::PhysicalMapping) { todo!("unmap_physical_region"); } }