libcpuid_dump/
lib.rs

1#![doc = include_str!("./README.md")]
2#![cfg_attr(not(feature = "std"), no_std)]
3
4use core::arch::x86_64::CpuidResult;
5
6// pub const _AX: u32 = 0x8000_0000;
7
8#[macro_export]
9macro_rules! cpuid {
10    ($leaf: expr) => {
11        unsafe { core::arch::x86_64::__cpuid_count($leaf, 0x0) }
12    };
13    ($leaf: expr, $sub_leaf: expr) => {
14        unsafe { core::arch::x86_64::__cpuid_count($leaf, $sub_leaf) }
15    };
16}
17
18#[macro_use]
19pub mod util;
20// pub use util::*;
21
22mod codename;
23pub use codename::*;
24
25mod vendor;
26pub use vendor::*;
27
28mod micro_arch_level;
29pub use micro_arch_level::*;
30
31#[cfg(feature = "std")]
32mod proc_name;
33#[cfg(feature = "std")]
34pub use proc_name::*;
35
36mod cache_prop;
37pub use cache_prop::*;
38
39mod info_01h_ebx;
40pub use info_01h_ebx::*;
41
42mod monitor_mwait_00_05h;
43pub use monitor_mwait_00_05h::*;
44
45mod intel_ext_topo_0bh_1fh;
46pub use intel_ext_topo_0bh_1fh::*;
47
48mod amd_tlb_info;
49pub use amd_tlb_info::*;
50
51mod intel_tlb_param_00_18h;
52pub use intel_tlb_param_00_18h::*;
53
54mod hybrid_info_00_1ah;
55pub use hybrid_info_00_1ah::*;
56
57mod topo_info;
58pub use topo_info::*;
59
60#[cfg(feature = "std")]
61mod hybrid_topology;
62#[cfg(feature = "std")]
63pub use hybrid_topology::*;
64
65mod addr_size_80_08h_eax;
66pub use addr_size_80_08h_eax::*;
67
68mod amd_size_id_80_08h_ecx;
69pub use amd_size_id_80_08h_ecx::*;
70
71mod amd_pkg_type_80_01h;
72pub use amd_pkg_type_80_01h::*;
73
74mod amd_proc_topo_80_1eh;
75pub use amd_proc_topo_80_1eh::*;
76
77mod amd_ext_topo_80_26h;
78pub use amd_ext_topo_80_26h::*;