class DevicetreeCpuTopologyItem
Defined at line 606 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
Parses '/cpus' node to generate |ZBI_TYPE_CPU_TOPOLOGY| item. This involves both parsing CPU
nodes and the '/cpus/cpu-map' node when present. Lack of a 'cpu-map' means all nodes are
considered siblings which is reflected with none of them having a parent.
A cluster's performance class is the normalized capacity of a cluster based on the maximum
capacity of all clusters.
cluster-performance-class[i] = cluster-capacity[i] * 255 / max(cluster-capacity[0]....N)
When a cluster-capacity is not able to be determined because no property in the node provides
this value then all clusters are given a performance class of 1. Its important to realize that
the actual value of the performance class is only a representative of the relative difference
between difference clusters.
See:
https://www.kernel.org/doc/Documentation/devicetree/bindings/arm/cpu-capacity.txt
https://www.kernel.org/doc/Documentation/devicetree/bindings/cpu/cpu-topology.txt
Public Methods
devicetree::ScanState OnNode (const devicetree::NodePath & path, const devicetree::PropertyDecoder & decoder)
Matcher API.
Defined at line 25 of file ../../zircon/kernel/phys/lib/boot-shim/devicetree-cpu-topology-item.cc
devicetree::ScanState OnSubtree (const devicetree::NodePath & path)
Defined at line 68 of file ../../zircon/kernel/phys/lib/boot-shim/devicetree-cpu-topology-item.cc
void OnDone ()
Finalizes cpu_entries() (excluding skipped entries due to malformed
fields) and sorts them by ID for normalization's sake, which
is convenient at the very least for test purposes.
Defined at line 144 of file ../../zircon/kernel/phys/lib/boot-shim/devicetree-cpu-topology-item.cc
fit::result<DataZbi::Error> AppendItems (DataZbi & zbi)
Defined at line 498 of file ../../zircon/kernel/phys/lib/boot-shim/devicetree-cpu-topology-item.cc
fit::result<DataZbi::Error> AppendItems (DataZbi & zbi)
Defined at line 498 of file ../../zircon/kernel/phys/lib/boot-shim/devicetree-cpu-topology-item.cc
fit::result<DataZbi::Error> AppendItems (DataZbi & zbi)
Defined at line 498 of file ../../zircon/kernel/phys/lib/boot-shim/devicetree-cpu-topology-item.cc
fit::result<DataZbi::Error> AppendItems (DataZbi & zbi)
Defined at line 498 of file ../../zircon/kernel/phys/lib/boot-shim/devicetree-cpu-topology-item.cc
devicetree::ScanState OnScan ()
Defined at line 613 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
size_t size_bytes ()
Defined at line 622 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
Protected Methods
std::span<const CpuEntry> cpu_entries ()
Defined at line 634 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
template <typename Shim>
void Init (const Shim & shim, CheckArchCpuInfo arch_info_checker, SetArchCpuInfo arch_info_setter)
Defined at line 650 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
template <typename Shim>
void Init (const Shim & shim, CheckArchCpuInfo arch_info_checker, SetArchCpuInfo arch_info_setter)
Defined at line 650 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
template <typename Shim>
void Init (const Shim & shim, CheckArchCpuInfo arch_info_checker, SetArchCpuInfo arch_info_setter)
Defined at line 650 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
template <typename Shim>
void Init (const Shim & shim, CheckArchCpuInfo arch_info_checker, SetArchCpuInfo arch_info_setter)
Defined at line 650 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
template <typename T>
std::span<T> Allocate (size_t count, fbl::AllocChecker & ac, std::source_location location)
Defined at line 658 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
template <typename T>
std::span<T> Allocate (size_t count, fbl::AllocChecker & ac, std::source_location location)
Defined at line 658 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
template <typename T>
std::span<T> Allocate (size_t count, fbl::AllocChecker & ac, std::source_location location)
Defined at line 658 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
template <typename T>
std::span<T> Allocate (size_t count, fbl::AllocChecker & ac, std::source_location location)
Defined at line 658 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
template <typename T>
T * Allocate (fbl::AllocChecker & ac, std::source_location location)
Defined at line 675 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h
template <typename T>
T * Allocate (fbl::AllocChecker & ac, std::source_location location)
Defined at line 675 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h