Gate subsystem core — gate lifecycle and the SCOMS-managed gate table. More...
import std;import lib.error;import zxfoundation.sys.printk.core;import zxfoundation.scoms.table;import zxfoundation.dgp.cap.types;import zxfoundation.scoms.kobject.types;import zxfoundation.base.types;import zxfoundation.dgp.domain.types;import zxfoundation.dgp.gate.types;import zxfoundation.base.typestate;import zxfoundation.dgp.cap.core;import zxfoundation.scoms.kobject.ref;import zxfoundation.dgp.authorize;import zxfoundation.dgp.domain.core;import zxfoundation.dgp.isolation.types;import arch.s390x.cpu.lowcore;import zxfoundation.scoms.kobject.base;import zxfoundation.scoms.metadata.core;Data Structures | |
| struct | gate_desc |
Enumerations | |
| enum class | gate_auth |
| enum class | gate_type |
| enum class | zxfoundation::dgp::gate::detail::lifecycle_state |
| Unified lifecycle states for ALL typestate-tracked resources. More... | |
Functions | |
| auto | zxfoundation::dgp::gate::destroy_for_domain (u32 domain_id) noexcept -> void |
| Destroy all gates owned by a specific domain. | |
| auto | zxfoundation::dgp::gate::gate_count () noexcept -> u32 |
| Return the current number of active gates. | |
| auto | zxfoundation::dgp::gate::gate_create (gate_type type, gate_auth auth, u32 target_domain_id, u64 entry_va, u8 target_key) noexcept -> std::expected< u32, lib::kernel_error > |
| Create a new gate descriptor. | |
| auto | zxfoundation::dgp::gate::gate_destroy (u32 id) noexcept -> std::expected< void, lib::kernel_error > |
| Destroy a gate, freeing its slot. | |
| auto | zxfoundation::dgp::gate::gate_find (u32 id) noexcept -> gate_desc * |
| Look up a gate descriptor by id. | |
| auto | zxfoundation::dgp::gate::gate_init () noexcept -> void |
| Initialize the gate subsystem. | |
| template<typename... Args> | |
| auto | perr (std::string_view fmt, Args &&... args) noexcept -> void |
| template<typename... Args> | |
| auto | pinfo (std::string_view fmt, Args &&... args) noexcept -> void |
| auto | zxfoundation::dgp::gate::register_gate_cap_lookup () noexcept -> void |
Variables | |
| no_export scoms_table< gate_desc, MAX_GATES > | zxfoundation::dgp::gate::detail::g_gate_table {} |
| SCOMS-managed gate table. | |
| constexpr u32 | MAX_GATES |
Gate subsystem core — gate lifecycle and the SCOMS-managed gate table.
SPDX-License-Identifier: Apache-2.0
|
strong |
Unified lifecycle states for ALL typestate-tracked resources.
Every SCOMS-managed object, every folio, and every slab cache uses exactly these states. No subsystem may define its own.
|
exportnoexcept |
Destroy all gates owned by a specific domain.
| domain_id | The domain whose gates should be destroyed. |
|
exportnoexcept |
Create a new gate descriptor.
| type | Gate type (nucleus or domain). |
| auth | Authorization policy. |
| target_domain_id | Target domain ID. |
| entry_va | Entry-point virtual address in the target domain. |
| target_key | Storage key of the target domain. |
|
exportnoexcept |
Destroy a gate, freeing its slot.
| id | The gate slot ID to destroy. |