ZXFoundation™ 26h2
Loading...
Searching...
No Matches
arch.s390x.cpu.cpumask Module Reference

Exported Modules

module  zxfoundation.base.types
module  std
module  lib.cpumask

Functions

auto arch::s390x::cpu::cpumask::cpu_clear_online (u16 id) noexcept -> void
 Remove a CPU from the online set (halt / teardown).
auto arch::s390x::cpu::cpumask::cpu_online (u16 id) noexcept -> bool
 Test whether a CPU is currently online.
auto arch::s390x::cpu::cpumask::cpu_possible (u16 id) noexcept -> bool
 Test whether a CPU is possible (physically present).
auto arch::s390x::cpu::cpumask::cpu_set_online (u16 id) noexcept -> void
 Publish a CPU as online (fully initialized, safe to target).
auto arch::s390x::cpu::cpumask::cpu_set_possible (u16 id) noexcept -> void
 Mark a CPU as possible (physically present).
template<typename Fn>
requires std::is_invocable_r_v<void, Fn&, u16>
auto arch::s390x::cpu::cpumask::for_each_online_cpu (Fn &&fn) noexcept -> void
 Invoke fn for every online CPU, in ascending id order.
template<typename Fn>
auto arch::s390x::cpu::cpumask::for_each_possible_cpu (Fn &&fn) noexcept -> void
 Invoke fn for every possible CPU, in ascending id order.
auto arch::s390x::cpu::cpumask::num_online_cpus () noexcept -> u32
 Number of CPUs currently online.
auto arch::s390x::cpu::cpumask::num_possible_cpus () noexcept -> u32
 Number of CPUs that physically exist.

Variables

lib::cpumask detail::g_possible_mask {}
 CPUs that physically exist in this configuration (set at boot, stable thereafter). Populated from the loader cpu_map.
lib::cpumask detail::g_online_mask {}
 CPUs that are fully initialized and may be targeted by any cross-CPU operation. A CPU's online bit is the single source of truth for "is this slot safe to touch.".

Files

file  arch/s390x/cpu/cpumask.zcomponent/cpumask.cxxm
file  arch/s390x/cpu/cpumask.zcomponent/storage.cxxm
file  arch/s390x/cpu/cpumask.zcomponent/cpumask.cxx