|
|
u8 | _pad0 [3] {} |
|
u8 | _pad0 [3] {} |
|
u16 | _pad_art {0} |
|
u8 | _pad_dgp_rev {0} |
|
u8 | _pad_pi [1] {} |
|
u64 | absolute_deadline_ns {0} |
| | Runtime consumed during current deadline period.
|
|
u64 | admin_token {0} |
|
zxfoundation::sched::sched_mask | allowed_cpus {} |
|
zxfoundation::sched::sched_mask | allowed_numa_nodes {} |
|
void * | arg {nullptr} |
| | Opaque argument passed to entry (kthread mode only).
|
|
arch::s390x::cpu::aste::art_context | art {} |
|
arch::s390x::mmu::typed_asce< arch::s390x::mmu::dat_level::region_1 > | asce {} |
|
void * | blocked_on {nullptr} |
|
strand_body * | body {nullptr} |
| | allocated cold-fields body.
|
|
u8 | boosted_prio {0} |
|
sched::cbs::cbs_replen | cbs {} |
|
u16 | cpu {0} |
|
u16 | cpu {0} |
| | Initial CPU affinity; zero is the deterministic bootstrap CPU.
|
|
u64 | deadline_budget_ns {10'000'000ULL} |
|
u64 | deadline_period_ns {100'000'000ULL} |
|
u64 | deadline_reserved_ns {0} |
|
u64 | deadline_runtime_used_ns {0} |
| | RT accounting period start.
|
|
constexpr domain_id | zxfoundation::dgp::domain::DOMAIN_ID_INVALID = 0xFFFF'FFFFU |
| | Sentinel value: no domain.
|
|
constexpr domain_id | zxfoundation::dgp::domain::DOMAIN_ID_NUCLEUS = 0U |
| | The nucleus itself is always domain 0.
|
|
lib::list_node | domain_list {} |
|
bool | enqueue {true} |
| | True when the scheduler should admit the strand immediately. Must be false in bare mode.
|
|
strand_entry_fn | entry {nullptr} |
| | Kernel entry fn (kthread mode); null + non-null uregs selects user mode. null + null uregs selects bare mode.
|
|
domain_flags | flags {domain_flags::none} |
|
strand_flags | flags {strand_flags::none} |
|
u32 | gate_count {0} |
|
zxfoundation::dgp::isolation::isolation_rights | granted_rights {zxfoundation::dgp::isolation::isolation_rights::none} |
|
scoms::kobject::bobject | ko {} |
|
scoms::kobject::bobject | ko {} |
|
u64 | ksp {0} |
| | Current kernel stack pointer (offset 120).
|
|
u64 | kstack_base {0} |
| | Base VA of the kernel stack.
|
|
u64 | kstack_top {0} |
| | Virtual kernel stack top (offset 112).
|
|
constexpr u32 | zxfoundation::dgp::domain::MAX_DOMAINS = 256U |
| | Maximum number of domains in the system.
|
|
constexpr u32 | zxfoundation::dgp::domain::MAX_STRANDS_PER_DOMAIN = 64U |
| | Maximum strands per domain.
|
|
const char * | name {nullptr} |
|
char | name_storage [64] {} |
|
u8 | numa_node {0} |
|
bool | on_rq {false} |
|
void * | owner {nullptr} |
|
u32 | owner_domain {0xFFFF'FFFFU} |
| | Owning domain identifier.
|
|
sched::sched_avg | pelt_avg {} |
| | Conservative absolute deadline key.
|
|
u32 | pending_rights_revoke_raw {0} |
|
lib::list_node | pi_waiters {} |
|
u16 | portal_ar_mask {0} |
|
u32 | portal_count {0} |
|
strand | primary_strand {} |
|
std::atomic< u16 > | revocation_epoch {0} |
|
u64 | root_phys {0} |
|
u64 | rt_budget_ns {20'000'000ULL} |
|
u64 | rt_capability_token {0} |
|
u64 | rt_period_ns {100'000'000ULL} |
|
u64 | rt_period_start_ns {0} |
| | Runtime consumed during current RT period.
|
|
u64 | rt_reserved_ns {0} |
|
u64 | rt_runtime_used_ns {0} |
|
sched::sched_class_id | saved_class {zxfoundation::sched::sched_class_id::fair} |
|
u8 | saved_prio {0} |
|
zxfoundation::sched::sched_admission_result | sched_admission {} |
|
lib::list_node | sched_link {} |
|
zxfoundation::sched::sched_policy | sched_policy {} |
|
zxfoundation::sched::sched_entity | se {} |
|
signal::signal_queue | signal_queue {} |
|
constexpr u8 | zxfoundation::dgp::domain::SKEY_NUCLEUS = 0U |
| | Key 0 = nucleus.
|
|
constexpr u8 | zxfoundation::dgp::domain::SKEY_USER_BASE = 8U |
| | First user-assignable storage key.
|
|
constexpr u8 | zxfoundation::dgp::domain::SKEY_USER_MAX = 15U |
| | Last user-assignable storage key.
|
|
u32 | stack_order {2U} |
| | Kernel stack allocation order; currently constrained to the domain stack order.
|
|
u8 | storage_key {0} |
|
u32 | storage_key_generation {0} |
|
zxfoundation::dgp::isolation::skey_revocation_state | storage_key_state {zxfoundation::dgp::isolation::skey_revocation_state::none} |
|
constexpr strand_id | zxfoundation::dgp::domain::STRAND_ID_INVALID = 0xFFFF'FFFFU |
| | Sentinel value: no strand.
|
|
lib::list_node | strand_list {} |
| | Link into domain's strand list.
|
|
lib::list_head | strands {} |
|
sched::sched_substate | substate {sched::sched_substate::idle} |
|
zxfoundation::dgp::sync_contract::teardown_phase | teardown_phase {zxfoundation::dgp::sync_contract::teardown_phase::none} |
|
arch::s390x::sched::user_regs | uregs {} |
| | User-mode register save area.
|
|
arch::s390x::sched::user_regs * | uregs {nullptr} |
| | User register snapshot (user mode only). Required when entry is null and the strand is to be runnable. Must have psw_addr != 0.
|
|
memory::vm::vm_space | vm_space {} |