feat: add cpu
This commit is contained in:
72
__cpu/x86/Cargo.lock
generated
Normal file
72
__cpu/x86/Cargo.lock
generated
Normal file
@@ -0,0 +1,72 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
[[package]]
|
||||
name = "bit_field"
|
||||
version = "0.10.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dcb6dd1c2376d2e096796e234a70e17e94cc2d5d54ff8ce42b28cef1d0d359a4"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "1.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.62"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f1770ced377336a88a67c473594ccc14eca6f4559217c34f64aac8f83d641b40"
|
||||
|
||||
[[package]]
|
||||
name = "raw-cpuid"
|
||||
version = "8.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1fdf7d9dbd43f3d81d94a49c1c3df73cc2b3827995147e6cf7f89d4ec5483e73"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cc",
|
||||
"rustc_version",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustc_version"
|
||||
version = "0.2.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
|
||||
dependencies = [
|
||||
"semver",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "semver"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
|
||||
dependencies = [
|
||||
"semver-parser",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "semver-parser"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
|
||||
|
||||
[[package]]
|
||||
name = "x86"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"x86 0.34.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "x86"
|
||||
version = "0.34.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c146cbc47471e076987378c159a7aa8fa434680c6fbddca59fe6f40f1591c819"
|
||||
dependencies = [
|
||||
"bit_field",
|
||||
"bitflags",
|
||||
"raw-cpuid",
|
||||
]
|
||||
11
__cpu/x86/Cargo.toml
Normal file
11
__cpu/x86/Cargo.toml
Normal file
@@ -0,0 +1,11 @@
|
||||
[package]
|
||||
name = "x86"
|
||||
version = "0.1.0"
|
||||
authors = ["Hatter Jiang <jht5945@gmail.com>"]
|
||||
edition = "2018"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
x86 = "0.34"
|
||||
|
||||
4
__cpu/x86/README.md
Normal file
4
__cpu/x86/README.md
Normal file
@@ -0,0 +1,4 @@
|
||||
crate:
|
||||
https://github.com/gz/rust-x86
|
||||
|
||||
|
||||
1
__cpu/x86/rust-toolchain
Normal file
1
__cpu/x86/rust-toolchain
Normal file
@@ -0,0 +1 @@
|
||||
nightly
|
||||
20
__cpu/x86/src/main.rs
Normal file
20
__cpu/x86/src/main.rs
Normal file
@@ -0,0 +1,20 @@
|
||||
use x86::cpuid::CpuId;
|
||||
|
||||
fn main() {
|
||||
let cpu_id = CpuId::new();
|
||||
println!("Vendor: {:?}", cpu_id.get_vendor_info().map(|v| v.as_string().to_owned()));
|
||||
println!("Feature: {:?}", cpu_id.get_feature_info());
|
||||
println!("Cache: {:?}", cpu_id.get_cache_info());
|
||||
cpu_id.get_cache_info().map(|c| {
|
||||
for i in c {
|
||||
println!("- {}", i.desc());
|
||||
}
|
||||
});
|
||||
println!("Processor: {:?}", cpu_id.get_processor_serial());
|
||||
println!("Cache parameters: {:?}", cpu_id.get_cache_parameters());
|
||||
println!("Performace monitoring: {:?}", cpu_id.get_performance_monitoring_info());
|
||||
println!("Performace monitoring, number of counters: {:?}", cpu_id.get_performance_monitoring_info().unwrap().number_of_counters());
|
||||
println!("SGX: {:?}", cpu_id.get_sgx_info());
|
||||
println!("SoC vendor: {:?}", cpu_id.get_soc_vendor_info());
|
||||
println!("Extended function: {:?}", cpu_id.get_extended_function_info());
|
||||
}
|
||||
Reference in New Issue
Block a user