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 ¤t, 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. | |