use core::fmt;
#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
pub struct Cpuid {
pub leaf: u32,
pub sub_leaf: Option<u32>,
pub register: u8,
pub bit: u64,
}
impl fmt::Display for Cpuid {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self.sub_leaf {
Some(sub_leaf) => write!(
f,
"leaf: {:#x} sub-leaf: {:#x} register: {} bit to test: {:#x}",
self.leaf, sub_leaf, self.register, self.bit
),
None => write!(
f,
"leaf: {:#x} sub-leaf: - register: {} bit to test: {:#x}",
self.leaf, self.register, self.bit
),
}
}
}