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

Records