ZXFoundation™ 26h2
Loading...
Searching...
No Matches
zxfoundation.dgp.sync_contract.core Module Reference

Data Structures

struct  zxfoundation::dgp::sync_contract::contract_state
 Snapshot of synchronization state supplied to a DGP contract check. More...

Enumerations

enum class  zxfoundation::dgp::sync_contract::irq_contract : u8 { unchanged = 0 , must_be_enabled = 1 , must_be_disabled = 2 }
 Interrupt-state contract for an operation.
enum class  zxfoundation::dgp::sync_contract::lock_context : u8 {
  boot_single_cpu = 0 , thread = 1 , irq_disabled = 2 , rcu_read_side = 3 ,
  teardown = 4
}
 Execution context in which a DGP synchronization-sensitive operation occurs.
enum class  zxfoundation::dgp::sync_contract::teardown_phase : u8 {
  none = 0 , deny_new_entries = 1 , drain_gates = 2 , drain_portals = 3 ,
  release_memory = 4 , release_identity = 5
}
 Domain teardown phase used by lock-order documentation and checks.

Functions

auto zxfoundation::dgp::sync_contract::advance_teardown_phase (teardown_phase &current, teardown_phase expected, teardown_phase requested) noexcept -> std::expected< void, lib::kernel_error >
 Advance a domain-owned teardown phase by exactly one stage.
auto zxfoundation::dgp::sync_contract::contract_snapshot (lock_context context, teardown_phase phase, u32 domain_id) noexcept -> contract_state
 Capture the current CPU synchronization state for a DGP call-site check.
auto zxfoundation::dgp::sync_contract::validate_authority_lookup (const contract_state &state) noexcept -> std::expected< void, lib::kernel_error >
 Validate that a DGP authority lookup may run in the supplied context.
auto zxfoundation::dgp::sync_contract::validate_irq_state (const contract_state &state, irq_contract contract) noexcept -> std::expected< void, lib::kernel_error >
 Validate an IRQ-state precondition.
auto zxfoundation::dgp::sync_contract::validate_teardown_phase (teardown_phase current, teardown_phase requested) noexcept -> std::expected< void, lib::kernel_error >
 Validate one exact teardown-phase transition.

Variables

lock_context context {lock_context::boot_single_cpu}
u16 cpu_id {0}
u32 domain_id {0}
bool irqs_disabled {false}
u16 lock_depth {0}
teardown_phase phase {teardown_phase::none}
bool rcu_read_side {false}

Files

file  zxfoundation/dgp/sync_contract.zcomponent/core.cxxm
 DGP synchronization-contract typestate and validation interface.
file  zxfoundation/dgp/sync_contract.zcomponent/core.cxx
 DGP synchronization-contract typestate and validation implementation.