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

Memory namespace dispatch handler. More...

import std;
import arch.s390x.cpu.skey;
import lib.error;
import arch.s390x.cpu.lowcore;
import zxfoundation.base.types;
import zxfoundation.memory.vm;
import zxfoundation.dgp.isolation.types;
import zxfoundation.memory.objects;
import zxfoundation.dgp.domain.types;
import zxfoundation.scoms.kobject.base;
import zxfoundation.sys.printk.core;
import zxfoundation.memory.pmm;
import arch.s390x.mmu;
import zxfoundation.dgp.gate.types;
import zxfoundation.memory.pmm.types;
import zxfoundation.dgp.cap.types;
import zxfoundation.memory.vm.types;
import zxfoundation.scoms.kobject.types;
import zxfoundation.dgp.authorize;
import zxfoundation.dgp.cap.core;
Include dependency graph for nc_mem.cxxm:

Enumerations

enum class  cap_rights
 Standard access rights usable with any capability type.
enum class  cap_type
 Discriminator for the kind of resource a capability token refers to.

Functions

auto zxfoundation::dgp::gate::nc_mem::detail::current_domain () noexcept -> domain::domain *
auto zxfoundation::dgp::gate::nc_mem::dispatch (u32 op, u64 a0, u64 a1, u64 a2, u64 a3, u64 a4) noexcept -> u64
template<mem_op Op>
auto zxfoundation::dgp::gate::nc_mem::dispatch_wrap (u64 a0, u64 a1, u64 a2, u64 a3, u64 a4) noexcept -> u64
auto zxfoundation::dgp::gate::nc_mem::detail::nc_mem_alloc (u64 a0, u64, u64, u64, u64) noexcept -> u64
auto zxfoundation::dgp::gate::nc_mem::detail::nc_mem_free (u64 a0, u64 a1, u64, u64, u64) noexcept -> u64
auto zxfoundation::dgp::gate::nc_mem::detail::nc_mem_map (u64 a0, u64 a1, u64 a2, u64 a3, u64 a4) noexcept -> u64
 Map an exact subrange of a capability-bound memory extent. a0 = extent cap, a1 = VA, a2 = page-aligned extent offset, a3 = size, a4 = protection bits.
auto zxfoundation::dgp::gate::nc_mem::detail::nc_mem_protect (u64 a0, u64 a1, u64 a2, u64, u64) noexcept -> u64
auto zxfoundation::dgp::gate::nc_mem::detail::nc_mem_share (u64, u64, u64, u64, u64) noexcept -> u64
 Retired range-less sharing gate.
auto zxfoundation::dgp::gate::nc_mem::detail::nc_mem_unmap (u64 a0, u64 a1, u64, u64, u64) noexcept -> u64
auto zxfoundation::dgp::gate::nc_mem::detail::page_align_size (u64 size, u64 &aligned_size) noexcept -> bool

Variables

static constexpr u64 NC_ERROR = ~0ULL
static constexpr u64 zxfoundation::dgp::gate::nc_mem::detail::PAGE_SIZE = 4096ULL

Detailed Description

Memory namespace dispatch handler.

SPDX-License-Identifier: Apache-2.0

Function Documentation

◆ nc_mem_share()

auto zxfoundation::dgp::gate::nc_mem::detail::nc_mem_share ( u64 ,
u64 ,
u64 ,
u64 ,
u64  )->u64
noexcept

Retired range-less sharing gate.

The legacy ABI names only a target domain and cannot carry an exact source authority or range. Cross-domain sharing must use an explicit storage-object grant once the shared-key/portal model is implemented.