ZXFoundation™ 26h2
Loading...
Searching...
No Matches
core.cxxm File Reference

Gate subsystem core — gate lifecycle declarations. More...

Include dependency graph for core.cxxm:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

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.
auto zxfoundation::dgp::gate::register_gate_cap_lookup () noexcept -> void

Detailed Description

Gate subsystem core — gate lifecycle declarations.

SPDX-License-Identifier: Apache-2.0

Function Documentation

◆ destroy_for_domain()

auto zxfoundation::dgp::gate::destroy_for_domain ( u32 domain_id) ->void
exportnoexcept

Destroy all gates owned by a specific domain.

Parameters
domain_idThe domain whose gates should be destroyed.

◆ gate_create()

auto zxfoundation::dgp::gate::gate_create ( gate_type type,
gate_auth auth,
u32 target_domain_id,
u64 entry_va,
u8 target_key )->std::expected< u32, lib::kernel_error >
exportnoexcept

Create a new gate descriptor.

Parameters
typeGate type (nucleus or domain).
authAuthorization policy.
target_domain_idTarget domain ID.
entry_vaEntry-point virtual address in the target domain.
target_keyStorage key of the target domain.
Returns
The allocated slot ID, or an error if the table is full.

◆ gate_destroy()

auto zxfoundation::dgp::gate::gate_destroy ( u32 id) ->std::expected< void, lib::kernel_error >
exportnoexcept

Destroy a gate, freeing its slot.

Parameters
idThe gate slot ID to destroy.
Returns
Success, or an error if the id is invalid or already free.

◆ gate_find()

auto zxfoundation::dgp::gate::gate_find ( u32 id) ->gate_desc *
exportnoexcept

Look up a gate descriptor by id.

Parameters
idThe gate slot ID to look up.
Returns
Pointer to the gate_desc, or nullptr if the id is invalid or the slot is unused.