Remote memory

openenoc_endpoint_status_t openenoc_endpoint_rmem_get_region(volatile const csr__endpoint_interface_t *endpoint, openenoc_endpoint_rmem_region_t *region)

Return the one mapped RMEM memory window.

Parameters:
  • endpoint – In; required mapped, word-aligned endpoint-interface pointer.

  • region – Out; required mapped words pointer and capacity in 32-bit words.

Returns:

OK; INVALID_ARGUMENT for invalid endpoint pointer/output; UNSUPPORTED when RMEM is absent.

Preconditions:

Configure peer mappings before using the pointed-to region. Accessors select the peer in hardware; callers check subregion alignment/capacity and follow platform MMIO rules.

Side effects:

Uses generated capability information and returns an existing mapping; performs no MMIO access, remote transaction or allocation.

Public declarations

The maintained header below provides the exact public type and enum definitions.

RMEM region type
1typedef struct {
2    volatile uint32_t *words;
3    uint32_t word_count;
4} openenoc_endpoint_rmem_region_t;
5