class DevicetreeCpuTopologyItem

Defined at line 608 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 615 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h

size_t size_bytes ()

Defined at line 624 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 636 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 652 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 652 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 652 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 652 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 660 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 660 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 660 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 660 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 677 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 677 of file ../../zircon/kernel/phys/lib/boot-shim/include/lib/boot-shim/devicetree.h

Records