logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Author

       Generated automatically by Doxygen for DPDK from the source code.

DPDK                                             Version 24.11.2                                     rte_io.h(3)

Detailed Description

       I/O device memory operations

       This file defines the generic API for I/O device memory read/write operations

       Definition in file rte_io.h.

Function Documentation

static__rte_always_inlineuint8_trte_read8_relaxed(constvolatilevoid*addr)[inline],[static]
       Read a 8-bit value from I/O device memory address addr.

       The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers
       of integrated controllers which implicitly strongly ordered with respect to memory access.

       Parametersaddr I/O memory address to read the value from

       Returns
           read value

       Definition at line 276 of file rte_io.h.

   static__rte_always_inlineuint16_trte_read16_relaxed(constvolatilevoid*addr)[inline],[static]
       Read a 16-bit value from I/O device memory address addr.

       The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers
       of integrated controllers which implicitly strongly ordered with respect to memory access.

       Parametersaddr I/O memory address to read the value from

       Returns
           read value

       Definition at line 282 of file rte_io.h.

   static__rte_always_inlineuint32_trte_read32_relaxed(constvolatilevoid*addr)[inline],[static]
       Read a 32-bit value from I/O device memory address addr.

       The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers
       of integrated controllers which implicitly strongly ordered with respect to memory access.

       Parametersaddr I/O memory address to read the value from

       Returns
           read value

       Definition at line 288 of file rte_io.h.

   static__rte_always_inlineuint64_trte_read64_relaxed(constvolatilevoid*addr)[inline],[static]
       Read a 64-bit value from I/O device memory address addr.

       The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers
       of integrated controllers which implicitly strongly ordered with respect to memory access.

       Parametersaddr I/O memory address to read the value from

       Returns
           read value

       Definition at line 294 of file rte_io.h.

   static__rte_always_inlinevoidrte_write8_relaxed(uint8_tvalue,volatilevoid*addr)[inline],[static]
       Write a 8-bit value to I/O device memory address addr.

       The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers
       of integrated controllers which implicitly strongly ordered with respect to memory access.

       Parametersvalue Value to write
           addr I/O memory address to write the value to

       Definition at line 300 of file rte_io.h.

   static__rte_always_inlinevoidrte_write16_relaxed(uint16_tvalue,volatilevoid*addr)[inline],[static]
       Write a 16-bit value to I/O device memory address addr.

       The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers
       of integrated controllers which implicitly strongly ordered with respect to memory access.

       Parametersvalue Value to write
           addr I/O memory address to write the value to

       Definition at line 306 of file rte_io.h.

   static__rte_always_inlinevoidrte_write32_relaxed(uint32_tvalue,volatilevoid*addr)[inline],[static]
       Write a 32-bit value to I/O device memory address addr.

       The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers
       of integrated controllers which implicitly strongly ordered with respect to memory access.

       Parametersvalue Value to write
           addr I/O memory address to write the value to

       Definition at line 312 of file rte_io.h.

   static__rte_always_inlinevoidrte_write64_relaxed(uint64_tvalue,volatilevoid*addr)[inline],[static]
       Write a 64-bit value to I/O device memory address addr.

       The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers
       of integrated controllers which implicitly strongly ordered with respect to memory access.

       Parametersvalue Value to write
           addr I/O memory address to write the value to

       Definition at line 318 of file rte_io.h.

   static__rte_always_inlineuint8_trte_read8(constvolatilevoid*addr)[inline],[static]
       Read a 8-bit value from I/O device memory address addr.

       Parametersaddr I/O memory address to read the value from

       Returns
           read value

       Definition at line 324 of file rte_io.h.

   static__rte_always_inlineuint16_trte_read16(constvolatilevoid*addr)[inline],[static]
       Read a 16-bit value from I/O device memory address addr.

       Parametersaddr I/O memory address to read the value from

       Returns
           read value

       Definition at line 333 of file rte_io.h.

   static__rte_always_inlineuint32_trte_read32(constvolatilevoid*addr)[inline],[static]
       Read a 32-bit value from I/O device memory address addr.

       Parametersaddr I/O memory address to read the value from

       Returns
           read value

       Definition at line 342 of file rte_io.h.

   static__rte_always_inlineuint64_trte_read64(constvolatilevoid*addr)[inline],[static]
       Read a 64-bit value from I/O device memory address addr.

       Parametersaddr I/O memory address to read the value from

       Returns
           read value

       Definition at line 351 of file rte_io.h.

   static__rte_always_inlinevoidrte_write8(uint8_tvalue,volatilevoid*addr)[inline],[static]
       Write a 8-bit value to I/O device memory address addr.

       Parametersvalue Value to write
           addr I/O memory address to write the value to

       Definition at line 360 of file rte_io.h.

   static__rte_always_inlinevoidrte_write16(uint16_tvalue,volatilevoid*addr)[inline],[static]
       Write a 16-bit value to I/O device memory address addr.

       Parametersvalue Value to write
           addr I/O memory address to write the value to

       Definition at line 367 of file rte_io.h.

   static__rte_always_inlinevoidrte_write32(uint32_tvalue,volatilevoid*addr)[inline],[static]
       Write a 32-bit value to I/O device memory address addr.

       Parametersvalue Value to write
           addr I/O memory address to write the value to

       Definition at line 374 of file rte_io.h.

   static__rte_always_inlinevoidrte_write64(uint64_tvalue,volatilevoid*addr)[inline],[static]
       Write a 64-bit value to I/O device memory address addr.

       Parametersvalue Value to write
           addr I/O memory address to write the value to

       Definition at line 381 of file rte_io.h.

   static__rte_always_inlinevoidrte_write32_wc(uint32_tvalue,volatilevoid*addr)[inline],[static]
       Write a 32-bit value to I/O device memory address addr using write combining memory write protocol.
       Depending on the platform write combining may not be available and/or may be treated as a hint and the
       behavior may fallback to a regular store.

       Parametersvalue Value to write
           addr I/O memory address to write the value to

       Definition at line 389 of file rte_io.h.

   static__rte_always_inlinevoidrte_write32_wc_relaxed(uint32_tvalue,volatilevoid*addr)[inline],[static]
       Write a 32-bit value to I/O device memory address addr using write combining memory write protocol.
       Depending on the platform write combining may not be available and/or may be treated as a hint and the
       behavior may fallback to a regular store.

       The relaxed version does not have additional I/O memory barrier, useful in accessing the device registers
       of integrated controllers which implicitly strongly ordered with respect to memory access.

       Parametersvalue Value to write
           addr I/O memory address to write the value to

       Definition at line 395 of file rte_io.h.

Name

       rte_io.h

Synopsis

       #include <stdint.h>
       #include <rte_common.h>
       #include <rte_compat.h>
       #include <rte_atomic.h>

   Functions
       static uint8_t rte_read8_relaxed (const volatile void *addr)
       static uint16_t rte_read16_relaxed (const volatile void *addr)
       static uint32_t rte_read32_relaxed (const volatile void *addr)
       static uint64_t rte_read64_relaxed (const volatile void *addr)
       static void rte_write8_relaxed (uint8_t value, volatile void *addr)
       static void rte_write16_relaxed (uint16_t value, volatile void *addr)
       static void rte_write32_relaxed (uint32_t value, volatile void *addr)
       static void rte_write64_relaxed (uint64_t value, volatile void *addr)
       static uint8_t rte_read8 (const volatile void *addr)
       static uint16_t rte_read16 (const volatile void *addr)
       static uint32_t rte_read32 (const volatile void *addr)
       static uint64_t rte_read64 (const volatile void *addr)
       static void rte_write8 (uint8_t value, volatile void *addr)
       static void rte_write16 (uint16_t value, volatile void *addr)
       static void rte_write32 (uint32_t value, volatile void *addr)
       static void rte_write64 (uint64_t value, volatile void *addr)
       static __rte_experimental void rte_write32_wc (uint32_t value, volatile void *addr)
       static __rte_experimental void rte_write32_wc_relaxed (uint32_t value, volatile void *addr)

See Also