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

STHYI (Store Hypervisor Information) types and constants. IBM z/VM 7.3 CP Programming (chapter 29. STHYI - STORE HYPERVISOR INFORMATION). More...

import std;
import lib.charconv;
import lib.bit;
import arch.s390x.cpu.features;
import lib.cstring;
import arch.s390x.cpu.types;
import lib.error;
import zxfoundation.base.types;
Include dependency graph for sthyi.cxxm:

Data Structures

class  arch::s390x::cpu::sthyi::hv_view< LayoutT, MacT, ParT, HypT, GstT >
struct  arch::s390x::cpu::sthyi::hvg_leveled_traits< inf0hdr >
struct  arch::s390x::cpu::sthyi::hvg_leveled_traits< inf1hdr >
struct  arch::s390x::cpu::sthyi::hvg_pair
struct  arch::s390x::cpu::sthyi::inf0gst
struct  arch::s390x::cpu::sthyi::inf0hdr
struct  arch::s390x::cpu::sthyi::inf0hdyg
struct  arch::s390x::cpu::sthyi::inf0hyp
union  arch::s390x::cpu::sthyi::inf0hyp_infyaut
union  arch::s390x::cpu::sthyi::inf0hyp_infyins
struct  arch::s390x::cpu::sthyi::inf0mac
struct  arch::s390x::cpu::sthyi::inf0par
struct  arch::s390x::cpu::sthyi::inf1hdr
struct  arch::s390x::cpu::sthyi::inf1hyp
struct  arch::s390x::cpu::sthyi::inf1mac
struct  arch::s390x::cpu::sthyi::inf1par
struct  arch::s390x::cpu::sthyi::inf1yghd
struct  arch::s390x::cpu::sthyi::inf2gst
struct  arch::s390x::cpu::sthyi::inf3gst
struct  arch::s390x::cpu::sthyi::inf4pool
struct  arch::s390x::cpu::sthyi::inf5hdr
struct  arch::s390x::cpu::sthyi::inf6hdr
struct  arch::s390x::cpu::sthyi::inf6mem
struct  arch::s390x::cpu::sthyi::infchdr
struct  arch::s390x::cpu::sthyi::infhdr_layout< Base, Ext >
class  arch::s390x::cpu::sthyi::infhdr_view< L >
class  arch::s390x::cpu::sthyi::list_view< LayoutT, EntryT >::iterator
struct  arch::s390x::cpu::sthyi::hv_view< LayoutT, MacT, ParT, HypT, GstT >::level
class  arch::s390x::cpu::sthyi::hv_view< LayoutT, MacT, ParT, HypT, GstT >::level_iterator
class  arch::s390x::cpu::sthyi::list_view< LayoutT, EntryT >
struct  arch::s390x::cpu::sthyi::machine_pair
struct  arch::s390x::cpu::sthyi::machine_traits< inf0hdr >
struct  arch::s390x::cpu::sthyi::machine_traits< inf1hdr >
struct  arch::s390x::cpu::sthyi::NoBase
struct  arch::s390x::cpu::sthyi::NoExt
struct  arch::s390x::cpu::sthyi::partition_pair
struct  arch::s390x::cpu::sthyi::partition_traits< inf0hdr >
struct  arch::s390x::cpu::sthyi::partition_traits< inf1hdr >
struct  arch::s390x::cpu::sthyi::sthyi_key
struct  arch::s390x::cpu::sthyi::sthyi_result
struct  arch::s390x::cpu::sthyi::sthyi_traits< sthyi_fc::designated_guest_info >
struct  arch::s390x::cpu::sthyi::sthyi_traits< sthyi_fc::designated_resource_pool_info >
struct  arch::s390x::cpu::sthyi::sthyi_traits< sthyi_fc::guest_list >
struct  arch::s390x::cpu::sthyi::sthyi_traits< sthyi_fc::hypervisor_environment_info >
struct  arch::s390x::cpu::sthyi::sthyi_traits< sthyi_fc::processor_capability_function >
struct  arch::s390x::cpu::sthyi::sthyi_traits< sthyi_fc::resource_pool_list >
struct  arch::s390x::cpu::sthyi::sthyi_traits< sthyi_fc::resource_pool_member_list >

Concepts

concept  arch::s390x::cpu::sthyi::has_base_hdr
concept  arch::s390x::cpu::sthyi::has_ext_hdr

Typedefs

using arch::s390x::cpu::sthyi::inf0hdr_layout = infhdr_layout<NoBase, inf0hdr>
using arch::s390x::cpu::sthyi::inf0view = hv_view<inf0hdr_layout, inf0mac, inf0par, inf0hyp, inf0gst>
using arch::s390x::cpu::sthyi::inf1gst = inf3gst
using arch::s390x::cpu::sthyi::inf1hdr_layout = infhdr_layout<infchdr, inf1hdr>
using arch::s390x::cpu::sthyi::inf1view = hv_view<inf1hdr_layout, inf1mac, inf1par, inf1hyp, inf1gst>
using arch::s390x::cpu::sthyi::inf2hdr_layout = infhdr_layout<infchdr>
using arch::s390x::cpu::sthyi::inf2view = list_view<inf2hdr_layout, inf2gst>
using arch::s390x::cpu::sthyi::inf4hdr_layout = infhdr_layout<infchdr>
using arch::s390x::cpu::sthyi::inf4view = list_view<inf4hdr_layout, inf4pool>
using arch::s390x::cpu::sthyi::inf5hdr_layout = infhdr_layout<infchdr, inf5hdr>
using arch::s390x::cpu::sthyi::inf5view = infhdr_view<inf5hdr_layout>
using arch::s390x::cpu::sthyi::inf6hdr_layout = infhdr_layout<infchdr, inf6hdr>
using arch::s390x::cpu::sthyi::inf6view = list_view<inf6hdr_layout, inf6hdr_layout>

Enumerations

enum class  inf0gst_infgcpdt : u8 { infgpuccp = 0x00 , infgpucifl = 0x03 , infgpuczip = 0x05 , infgpuczcp = 0xff }
enum class  inf0gst_infgifdt : u8 { infgpuccp = 0x00 , infgpucifl = 0x03 , infgpuczip = 0x05 , infgpuczcp = 0xff }
enum class  inf0gst_infgziipdt : u8 { infgpuccp = 0x00 , infgpucifl = 0x03 , infgpuczip = 0x05 , infgpuczcp = 0xff }
enum class  inf0hyp_infytype : u8 { infytvm = 0x1 , infytkvm = 0x2 , infytzcx = 0x3 }
enum class  inf1hyp_inf1ypkf : u8 { inf1yplg = 0x00 , inf1ypmd = 0x01 , inf1ypsm = 0x02 }
enum class  inf1hyp_inf1yxusc : u8 { inf1yxhi = 0x10 , inf1yxmd = 0x08 , inf1yxlo = 0x01 , inf1yxno = 0x02 }
enum class  inf1hyp_inf1yxusi : u8 { inf1yxhi = 0x10 , inf1yxmd = 0x08 , inf1yxlo = 0x01 , inf1yxno = 0x02 }
enum class  inf1par_inf1pcmod : u8 { inf1pcmgn = 0x80 , inf1pcmli = 0x40 , inf1pcmvn = 0x20 , inf1puvifl = 0x10 }
enum class  inf1par_inf1prcpu : u8 { inf1puccp = 0x00 , inf1pucifl = 0x03 }
enum class  inf3dst_inf3ccdt : u8 { inf3puccp = 0x00 , inf3pucifl = 0x03 }
enum class  inf3dst_inf3cidt : u8 { inf3puccp = 0x00 , inf3pucifl = 0x03 }
enum class  inf3dst_inf3gcmod : u8 { inf3gcmgn = 0x80 , inf3gcmli = 0x40 , inf3gcmvn = 0x20 , inf3gcmcf = 0x10 }
enum class  inf3dst_inf3gprtp : u8 { inf3puccp = 0x00 , inf3pucifl = 0x03 }
enum class  sthyi_fc : u8 {
  processor_capability_function = 0x0 , hypervisor_environment_info = 0x1 , guest_list = 0x2 , designated_guest_info = 0x3 ,
  resource_pool_list = 0x4 , designated_resource_pool_info = 0x5 , resource_pool_member_list = 0x6
}
enum class  sthyi_rc : u32 {
  ok = 0x00 , unsupported_fc = 0x04 , not_authorized = 0x08 , invalid_name = 0x0c ,
  unknown_none = 0x10 , response_buffer_too_small = 0x14 , unknown = 0xff
}

Functions

 __endian__ (BIG)
 arch::s390x::cpu::sthyi::assert_size (inf0gst, 0x48)
 arch::s390x::cpu::sthyi::assert_size (inf0hdr, 0x30)
 arch::s390x::cpu::sthyi::assert_size (inf0hdyg, 0x8)
 arch::s390x::cpu::sthyi::assert_size (inf0hyp, 0x38)
 arch::s390x::cpu::sthyi::assert_size (inf0hyp_infyaut, 1)
 arch::s390x::cpu::sthyi::assert_size (inf0hyp_infyins, 1)
 arch::s390x::cpu::sthyi::assert_size (inf0mac, 0x50)
 arch::s390x::cpu::sthyi::assert_size (inf0par, 0x50)
 arch::s390x::cpu::sthyi::assert_size (inf1hdr, 0x40)
 arch::s390x::cpu::sthyi::assert_size (inf1hyp, 0x90)
 arch::s390x::cpu::sthyi::assert_size (inf1mac, 0x48)
 arch::s390x::cpu::sthyi::assert_size (inf1par, 0xe8)
 arch::s390x::cpu::sthyi::assert_size (inf1yghd, 0x10)
 arch::s390x::cpu::sthyi::assert_size (inf2gst, 0x20)
 arch::s390x::cpu::sthyi::assert_size (inf3gst, 0x140)
 arch::s390x::cpu::sthyi::assert_size (inf4pool, 0x10)
 arch::s390x::cpu::sthyi::assert_size (inf5hdr, 0x40)
 arch::s390x::cpu::sthyi::assert_size (infchdr, 0x40)
template<typename T>
auto arch::s390x::cpu::sthyi::bounded_section (std::span< const std::byte > buf, u16 off, u16 len) -> std::optional< T >
template<sthyi_fc Fc>
auto arch::s390x::cpu::sthyi::detail::invoke (void *buf, u16 num_pages, u64 key) -> std::expected< sthyi_result, lib::kernel_error >
template<sthyi_fc Fc>
requires (!sthyi_traits<Fc>::fixed_size && !sthyi_traits<Fc>::requires_key)
auto arch::s390x::cpu::sthyi::invoke (typename sthyi_traits< Fc >::pb_type &pb) -> std::expected< sthyi_result, lib::kernel_error >
template<sthyi_fc Fc>
requires (sthyi_traits<Fc>::fixed_size && !sthyi_traits<Fc>::requires_key)
auto arch::s390x::cpu::sthyi::invoke (typename sthyi_traits< Fc >::pb_type &pb) -> std::expected< sthyi_result, lib::kernel_error >
template<sthyi_fc Fc>
requires (!sthyi_traits<Fc>::fixed_size && sthyi_traits<Fc>::requires_key)
auto arch::s390x::cpu::sthyi::invoke (typename sthyi_traits< Fc >::pb_type &pb, sthyi_key key) -> std::expected< sthyi_result, lib::kernel_error >
template<sthyi_fc Fc>
requires (sthyi_traits<Fc>::fixed_size && sthyi_traits<Fc>::requires_key)
auto arch::s390x::cpu::sthyi::invoke (typename sthyi_traits< Fc >::pb_type &pb, sthyi_key key) -> std::expected< sthyi_result, lib::kernel_error >

Variables

constexpr u8 arch::s390x::cpu::sthyi::INF0YGMX = 3

Detailed Description

STHYI (Store Hypervisor Information) types and constants. IBM z/VM 7.3 CP Programming (chapter 29. STHYI - STORE HYPERVISOR INFORMATION).

SPDX-License-Identifier: Apache-2.0