ZXFoundation™ 26h2
Loading...
Searching...
No Matches
processor.cxxm File Reference

cpu synchronization More...

import lib.bit;
import arch.s390x.cpu.diag;
import arch.s390x.cpu.ctlreg;
import zxfoundation.base.types;
import arch.s390x.cpu.types;
Include dependency graph for processor.cxxm:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  arch::s390x::cpu::processor::cpuid
 cpuid structure (STIDP result). More...

Functions

auto arch::s390x::cpu::processor::cpu_addr () noexcept -> u16
 Store CPU Address (STAP) — returns the hardware CPU address.
auto arch::s390x::cpu::processor::get_cpuid (cpuid *id) -> void
auto arch::s390x::cpu::processor::get_current_sp () noexcept -> u64
 Read the current stack pointer (r15).
auto arch::s390x::cpu::processor::get_prefix () noexcept -> u32
 Store Prefix (STPX) — returns the physical address in the Prefix Register.
auto arch::s390x::cpu::processor::is_hypervisor () noexcept -> bool
 Probe whether the kernel is running under a hypervisor.
auto arch::s390x::cpu::processor::set_prefix (const u32 prefix) noexcept -> void
 Set Prefix (SPX) — loads a new value into the Prefix Register.

Detailed Description

cpu synchronization

some miscellaneous srtuff

SPDX-License-Identifier: Apache-2.0

Function Documentation

◆ cpu_addr()

auto arch::s390x::cpu::processor::cpu_addr ( ) ->u16
exportnoexcept

Store CPU Address (STAP) — returns the hardware CPU address.

Returns
The hardware CPU address used with SIGP instructions.

◆ get_prefix()

auto arch::s390x::cpu::processor::get_prefix ( ) ->u32
exportnoexcept

Store Prefix (STPX) — returns the physical address in the Prefix Register.

Returns
Physical base address of the current CPU's lowcore.

◆ is_hypervisor()

auto arch::s390x::cpu::processor::is_hypervisor ( ) ->bool
exportnoexcept

Probe whether the kernel is running under a hypervisor.

Returns
true if the kernel is running under a hypervisor.

◆ set_prefix()

auto arch::s390x::cpu::processor::set_prefix ( const u32 prefix) ->void
exportnoexcept

Set Prefix (SPX) — loads a new value into the Prefix Register.

Parameters
prefixNew physical base address (must be 4 KB aligned).