forked from AbleOS/ableos
qprofiler integration
This commit is contained in:
parent
45acef0c97
commit
df86c272f3
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -3,3 +3,4 @@ ableos/target
|
||||||
aos_wasm_stress_test/target
|
aos_wasm_stress_test/target
|
||||||
facepalm/target
|
facepalm/target
|
||||||
shadeable/target
|
shadeable/target
|
||||||
|
qprofiler
|
21
ableos/Cargo.lock
generated
21
ableos/Cargo.lock
generated
|
@ -27,6 +27,7 @@ name = "ableos"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ab_glyph",
|
"ab_glyph",
|
||||||
|
"acpi",
|
||||||
"bootloader",
|
"bootloader",
|
||||||
"cpuio",
|
"cpuio",
|
||||||
"externc-libm",
|
"externc-libm",
|
||||||
|
@ -55,6 +56,17 @@ dependencies = [
|
||||||
"y-compositor-protocol",
|
"y-compositor-protocol",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "acpi"
|
||||||
|
version = "4.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "55237649c6e747ea67e5ed45125af5e6a35ea1250c5e44995eb6049a955bd004"
|
||||||
|
dependencies = [
|
||||||
|
"bit_field",
|
||||||
|
"log",
|
||||||
|
"rsdp",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ahash"
|
name = "ahash"
|
||||||
version = "0.7.6"
|
version = "0.7.6"
|
||||||
|
@ -477,6 +489,15 @@ dependencies = [
|
||||||
"syn",
|
"syn",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rsdp"
|
||||||
|
version = "2.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "66d3add2fc55ef37511bcf81a08ee7a09eff07b23aae38b06a29024a38c604b1"
|
||||||
|
dependencies = [
|
||||||
|
"log",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ryu"
|
name = "ryu"
|
||||||
version = "1.0.9"
|
version = "1.0.9"
|
||||||
|
|
|
@ -32,6 +32,11 @@ run-args = [
|
||||||
# A simple example of a boot image
|
# A simple example of a boot image
|
||||||
"-drive",
|
"-drive",
|
||||||
"file=disk.qcow2,if=none,id=drive0",
|
"file=disk.qcow2,if=none,id=drive0",
|
||||||
|
|
||||||
|
# "-qmp",
|
||||||
|
# "unix:../qmp-sock,server,nowait"
|
||||||
|
|
||||||
|
|
||||||
]
|
]
|
||||||
test-args = [
|
test-args = [
|
||||||
"-device",
|
"-device",
|
||||||
|
@ -53,6 +58,9 @@ picorand = "*"
|
||||||
# watson = "0.4"
|
# watson = "0.4"
|
||||||
|
|
||||||
|
|
||||||
|
acpi = "4.1.0"
|
||||||
|
|
||||||
|
|
||||||
[dependencies.rdrand]
|
[dependencies.rdrand]
|
||||||
version = "0.8.1"
|
version = "0.8.1"
|
||||||
default-features = false
|
default-features = false
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#![allow(clippy::empty_loop)]
|
#![allow(clippy::empty_loop)]
|
||||||
|
|
||||||
|
use acpi::AcpiTables;
|
||||||
|
|
||||||
use {
|
use {
|
||||||
crate::{
|
crate::{
|
||||||
arch::{init, sloop},
|
arch::{init, sloop},
|
||||||
|
@ -72,6 +74,13 @@ pub fn kernel_main() -> ! {
|
||||||
mode.copy_to_buffer();
|
mode.copy_to_buffer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if false {
|
||||||
|
// Currently not implemented
|
||||||
|
let acpi_handler = ACPI_struct {};
|
||||||
|
unsafe {
|
||||||
|
let table = AcpiTables::search_for_rsdp_bios(acpi_handler);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
start_facepalm();
|
start_facepalm();
|
||||||
|
|
||||||
|
@ -112,3 +121,24 @@ pub fn generate_process_pass() -> u128 {
|
||||||
let ret = (gen.try_next_u64().unwrap() as u128) << 64 | (gen.try_next_u64().unwrap() as u128);
|
let ret = (gen.try_next_u64().unwrap() as u128) << 64 | (gen.try_next_u64().unwrap() as u128);
|
||||||
ret
|
ret
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: move to a better place
|
||||||
|
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
|
||||||
|
pub struct ACPI_struct {}
|
||||||
|
|
||||||
|
impl acpi::AcpiHandler for ACPI_struct {
|
||||||
|
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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue