|
|
auto | arch::s390x::cpu::sigp::default_backoff (u64 timeout_tod) noexcept -> sigp_backoff |
| | Build a sigp_backoff with default parameters.
|
|
auto | expired () const noexcept -> bool |
| | Check whether the deadline has passed.
|
|
auto | arch::s390x::cpu::sigp::issue (u16 addr, u8 order, u64 parm) -> sigp_result |
| | Issue a SIGP (Signal Processor) instruction.
|
|
auto | arch::s390x::cpu::sigp::issue_bounded (u16 cpu_addr, u8 order, u32 parm) noexcept -> sigp_result |
| | Issue SIGP with exponential backoff until the target CPU is no longer busy (CC != 2) or the deadline expires.
|
|
auto | arch::s390x::cpu::sigp::issue_bounded (u16 cpu_addr, u8 order, u32 parm, sigp_backoff &backoff) noexcept -> sigp_result |
| | Issue SIGP with exponential backoff until the target CPU is no longer busy (CC != 2) or the deadline expires.
|
| auto | next_delay () noexcept -> u64 |
| | Compute the next backoff delay.
|
|
auto | wait () noexcept -> void |
| | Busy-wait for current_tod units.
|
|
auto | arch::s390x::cpu::sigp::wait_cpu_stopped (u16 cpu_addr) noexcept -> sigp_result |
| | Wait until a CPU is stopped, with check-stop recovery.
|
|
|
condition_code | cc {} |
|
u64 | current_tod |
| | Current delay.
|
|
u64 | deadline |
| | Absolute TOD deadline.
|
|
u64 | max_tod |
| | Cap delay.
|
|
u64 | min_tod |
| | Initial delay in TOD units (~4096 per ms).
|
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_CC_BUSY = 2 |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_CC_NOT_OPERATIONAL = 3 |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_CC_ORDER_CODE_ACCEPTED = 0 |
| | SIGP condition codes.
|
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_CC_STATUS_STORED = 1 |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_EMERGENCY_SIGNAL = 0x03U |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_EXTERNAL_CALL = 0x02U |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_INITIAL_CPU_RESET = 0x0BU |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_RESTART = 0x06U |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_SENSE = 0x01U |
| | SIGP order codes (PoP SA22-7832 Chapter 4).
|
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_SET_ARCHITECTURE = 0x12U |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_SET_MULTI_THREADING = 0x16U |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_SET_PREFIX = 0x0DU |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_START = 0x04U |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_STATUS_CHECK_STOP = 0x0000'0010U |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_STATUS_EXT_CALL_PENDING = 0x0000'0080U |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_STATUS_INCORRECT_STATE = 0x0000'0200U |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_STATUS_INVALID_ORDER = 0x0000'0002U |
| | SIGP status bits stored when the condition code is STATUS_STORED.
|
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_STATUS_INVALID_PARAMETER = 0x0000'0100U |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_STATUS_NOT_RUNNING = 0x0000'0400U |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_STATUS_STOPPED = 0x0000'0040U |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_STOP = 0x05U |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_STOP_AND_STORE_STATUS = 0x09U |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_STORE_STATUS = 0x0EU |
|
constexpr auto | arch::s390x::cpu::sigp::SIGP_STORE_STATUS_AT_ADDRESS = 0x17U |
|
u32 | status {} |