ZXFoundation™ 26h2
Loading...
Searching...
No Matches
zxfoundation.dgp.isolation.types Module Reference

Data Structures

struct  zxfoundation::dgp::isolation::isolation_domain_state
 Hardware-backed state recorded for one DGP isolation domain. More...
struct  zxfoundation::dgp::isolation::isolation_policy
 Domain policy supplied to the DGP isolation core. More...

Enumerations

enum class  zxfoundation::dgp::isolation::isolation_feature : u64 {
  none = 0ULL , dat_asce = 1ULL << 0 , storage_key = 1ULL << 1 , program_call = 1ULL << 2 ,
  access_register = 1ULL << 3 , edat_large_page = 1ULL << 4 , numa_policy = 1ULL << 5 , transactional_vm = 1ULL << 6 ,
  smp_invalidation = 1ULL << 7
}
 Hardware isolation facilities required by a DGP policy.
enum class  zxfoundation::dgp::isolation::isolation_rights : u32 {
  none = 0U , enter = 1U << 0 , map = 1U << 1 , share = 1U << 2 ,
  signal = 1U << 3 , io = 1U << 4 , lifecycle = 1U << 5 , delegate = 1U << 6 ,
  quota = 1U << 7 , debug = 1U << 8 , sched = 1U << 9 , console = 1U << 10 ,
  service = 1U << 11 , all = 0x0000'FFFFU
}
 Authority bits interpreted by the DGP policy plane. More...
enum class  zxfoundation::dgp::isolation::skey_revocation_state : u8 { none = 0 , active = 1 , draining = 2 , reusable = 3 }
 Revocation phase for a storage key held by a DGP domain.

Functions

constexpr auto zxfoundation::dgp::isolation::has_all_features (isolation_feature available, isolation_feature requested) noexcept -> bool
 Test that all requested features are present.
constexpr auto zxfoundation::dgp::isolation::has_all_rights (dgp::isolation::isolation_rights available, dgp::isolation::isolation_rights requested) noexcept -> bool
 Test that all requested rights are present.
constexpr auto zxfoundation::dgp::isolation::operator& (dgp::isolation::isolation_rights lhs, dgp::isolation::isolation_rights rhs) noexcept -> dgp::isolation::isolation_rights
 Intersect two right masks.
constexpr auto zxfoundation::dgp::isolation::operator& (isolation_feature lhs, isolation_feature rhs) noexcept -> isolation_feature
 Intersect two feature masks.
constexpr auto zxfoundation::dgp::isolation::operator| (dgp::isolation::isolation_rights lhs, dgp::isolation::isolation_rights rhs) noexcept -> dgp::isolation::isolation_rights
 Combine two right masks.
constexpr auto zxfoundation::dgp::isolation::operator| (isolation_feature lhs, isolation_feature rhs) noexcept -> isolation_feature
 Combine two feature masks.

Variables

bool allow_portals {false}
bool allow_user_execute {false}
arch::s390x::mmu::typed_asce< arch::s390x::mmu::dat_level::region_1 > asce {}
bool bootstrap_admin {false}
dgp::isolation::isolation_rights default_rights {dgp::isolation::isolation_rights::none}
u32 domain_id {0}
dgp::isolation::isolation_rights granted_rights {dgp::isolation::isolation_rights::none}
u8 numa_node {0}
u8 numa_node {0}
isolation_feature required_features {isolation_feature::none}
u16 revocation_epoch {0}
u64 root_phys {0}
u8 storage_key {0}
u8 storage_key {STORAGE_KEY_AUTO}
constexpr u8 zxfoundation::dgp::isolation::STORAGE_KEY_AUTO = 0xFFU
 Storage key value requesting automatic allocation by DGP policy.
constexpr u8 zxfoundation::dgp::isolation::STORAGE_KEY_COUNT = 16U
 Number of architected storage-key access-control values.
u32 storage_key_generation {0}
skey_revocation_state storage_key_state {skey_revocation_state::none}
constexpr u8 zxfoundation::dgp::isolation::STORAGE_KEY_USER_BASE = 8U
 First user-domain storage key retained for non-nucleus domains.
constexpr u8 zxfoundation::dgp::isolation::STORAGE_KEY_USER_MAX = 15U
 Last user-domain storage key retained for non-nucleus domains.

Files

file  zxfoundation/dgp/isolation.zcomponent/types.cxxm
 Hardware-first DGP isolation policy and lifecycle types.