akern-gkgoat-fork/ableos/src/scratchpad.rs

59 lines
1.2 KiB
Rust
Raw Normal View History

use acpi::AcpiTables;
2022-03-16 09:38:47 -05:00
use kernel::device_interface::character::CharacterDevice;
2022-03-16 09:38:47 -05:00
use crate::devices::DEVICE_TABLE;
2022-03-11 17:13:41 -06:00
use crate::rhai_shell::shell;
2022-02-08 03:01:29 -06:00
use crate::stdio::StdIO;
2022-03-16 09:38:47 -05:00
use crate::devices::Device::Vterm;
2022-02-08 03:01:29 -06:00
/// Experimental scratchpad for testing.
pub fn scratchpad() {
2022-03-26 06:35:33 -05:00
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);
}
2022-03-11 17:13:41 -06:00
shell();
2022-02-08 04:13:53 -06:00
}
2022-02-12 03:25:02 -06:00
use core::fmt::Write;
pub fn pci_fun() {}
2022-02-12 03:25:02 -06:00
pub fn acpi() {
let acpi_handler = AcpiStruct {};
let _table;
unsafe {
_table = AcpiTables::search_for_rsdp_bios(acpi_handler);
2022-02-12 03:25:02 -06:00
}
}
2022-03-11 14:16:15 -06:00
// 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<T>(
&self,
physical_address: usize,
size: usize,
) -> acpi::PhysicalMapping<Self, T> {
info!("PHYS ADDR: {:?}", physical_address);
info!("Size: {:?}", size);
todo!("map_physical_region");
}
fn unmap_physical_region<T>(_region: &acpi::PhysicalMapping<Self, T>) {
todo!("unmap_physical_region");
2022-02-12 03:25:02 -06:00
}
}