use crate::rhai_shell::shell; use acpi::AcpiTables; // 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"); } } /// Experimental scratchpad for testing. pub fn scratchpad() { let axel_raw = "kernel{ vals= time: 123 fn| print: (None) -> (None); foo: (None) -> (Num); }"; let axel = axel::parse(axel_raw.to_string()); for node in axel { info!("{:?}", node); } shell(); } pub fn pci_fun() {} pub fn acpi() { let acpi_handler = AcpiStruct {}; let _table; unsafe { _table = AcpiTables::search_for_rsdp_bios(acpi_handler); } }