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