ocxl_mmio(3) | Library Functions Manual | ocxl_mmio(3) |
ocxl_mmio - OpenCAPI MMIO Functions
- The MMIO functions map the global and per-PASID MMIO spaces of the AFU into
the address space of the process, as well as moderating access to them.
ocxl_err global_mmio_open (ocxl_afu *afu)
Open the global MMIO descriptor on an AFU. ocxl_err
ocxl_mmio_map_advanced (ocxl_afu_h afu, ocxl_mmio_type
type, size_t size, int prot, uint64_t flags, off_t offset,
ocxl_mmio_h *region)
Map an MMIO area of an AFU. ocxl_err ocxl_mmio_map
(ocxl_afu_h afu, ocxl_mmio_type type, ocxl_mmio_h
*region)
Map an MMIO area of an AFU. void ocxl_mmio_unmap (ocxl_mmio_h
region)
Unmap an MMIO region from an AFU. int ocxl_mmio_get_fd
(ocxl_afu_h afu, ocxl_mmio_type type)
Get a file descriptor for an MMIO area of an AFU. size_t ocxl_mmio_size
(ocxl_afu_h afu, ocxl_mmio_type type)
Get the size of an MMIO region for an AFU. ocxl_err
ocxl_mmio_get_info (ocxl_mmio_h region, void **address, size_t
*size)
Get the address & size of a mapped MMIO region. ocxl_err
ocxl_mmio_read32 (ocxl_mmio_h mmio, off_t offset,
ocxl_endian endian, uint32_t *out)
Read a 32-bit value from an AFU's MMIO region & convert endianness.
ocxl_err ocxl_mmio_read64 (ocxl_mmio_h mmio, off_t
offset, ocxl_endian endian, uint64_t *out)
Read a 64-bit value from an AFU's MMIO region & convert endianness.
ocxl_err ocxl_mmio_write32 (ocxl_mmio_h mmio, off_t
offset, ocxl_endian endian, uint32_t value)
Convert endianness and write a 32-bit value to an AFU's MMIO region.
ocxl_err ocxl_mmio_write64 (ocxl_mmio_h mmio, off_t
offset, ocxl_endian endian, uint64_t value)
Convert endianness and write a 64-bit value to an AFU's MMIO region.
The MMIO functions map the global and per-PASID MMIO spaces of the AFU into the address space of the process, as well as moderating access to them.
Only 32bit & 64bit accesses are supported.
Open the global MMIO descriptor on an AFU.
Parameters
Return values
Get a file descriptor for an MMIO area of an AFU. Once obtained, the descriptor may be used to manually MMAP a section of the MMIO area.
See also
Precondition
Parameters
Returns
Get the address & size of a mapped MMIO region.
Precondition
Parameters
Return values
Map an MMIO area of an AFU. Maps the entire global/per-PASID region of MMIO memory on the AFU with read/write access granted.
Precondition
See also
Parameters
Return values
Map an MMIO area of an AFU. Provides finer grain control of MMIO region mapping. Allows for protection parameters to be specified, as well as allowing partial mappings (with PAGE_SIZE granularity).
Precondition
Parameters
Return values
Read a 32-bit value from an AFU's MMIO region & convert endianness. Read the 32-bit value at offset from the address of the mapped MMIO space, and convert endianness as specified by the endian parameter. Memory barriers are inserted before and after the MMIO operation.
Precondition
Parameters
Return values
Read a 64-bit value from an AFU's MMIO region & convert endianness. Read the 64-bit value at offset from the address of the mapped MMIO space, and convert endianness as specified by the endian parameter. Memory barriers are inserted before and after the MMIO operation.
Precondition
Parameters
Return values
Get the size of an MMIO region for an AFU.
Parameters
Returns
Unmap an MMIO region from an AFU.
Precondition
Parameters
Convert endianness and write a 32-bit value to an AFU's MMIO region. Convert endianness and write the 32-bit word at offset from the address of the mapped MMIO space. Memory barriers are inserted before and after the MMIO operation.
Precondition
Parameters
Return values
Convert endianness and write a 64-bit value to an AFU's MMIO region. Convert endianness and write the 32-bit word at offset from the address of the mapped MMIO space. Memory barriers are inserted before and after the MMIO operation.
Precondition
Parameters
Return values
Generated automatically by Doxygen for libocxl from the source code.
Mon Sep 19 2022 | libocxl |