class BootCpuidIo
Defined at line 59 of file ../../zircon/kernel/lib/arch/x86/include/lib/arch/x86/boot-cpuid.h
A "CPUID I/O provider", BootCpuidIo's methods are expected to be
instantiated by "CPUID value types", defined in
<lib
/arch/x86/cpuid.h>.
`BootCpuidIo
<T
>{}.Get()` returns a `const arch::CpuidIo*` that can be used
with the `hwreg` objects from `T::Get()`. InitializeBootCpuid() fills in
the data for all the instantiations linked in.
This template can be used as a parameter for template functions, e.g.
`arch::GetVendor(BootCpuidIo{})`.
Public Methods
template <typename CpuidValue>
const CpuidIo * Get ()
Most often just Get
<Type
> is used instead to reach a particular (sub)leaf.
Multiple different CpuidValue types reach the same (sub)leaf, usually one
type for each of the four registers.
Defined at line 65 of file ../../zircon/kernel/lib/arch/x86/include/lib/arch/x86/boot-cpuid.h
template <typename CpuidValue>
auto Read ()
Convenience accessor for the common case.
Defined at line 71 of file ../../zircon/kernel/lib/arch/x86/include/lib/arch/x86/boot-cpuid.h