Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
rte_io.h(3)			      DPDK			     rte_io.h(3)

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)

Detailed Description
     I/O device memory operations

     This  file  defines the generic API for I/O device memory read/write opera-
     tions

     Definition in file rte_io.h.

Function Documentation
   static __rte_always_inline uint8_t rte_read8_relaxed (const volatile  void  *
     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.

     Parameters
	 addr I/O memory address to read the value from

     Returns
	 read value

     Definition at line 276 of file rte_io.h.

   static __rte_always_inline uint16_t rte_read16_relaxed (const volatile void *
     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.

     Parameters
	 addr I/O memory address to read the value from

     Returns
	 read value

     Definition at line 282 of file rte_io.h.

   static __rte_always_inline uint32_t rte_read32_relaxed (const volatile void *
     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.

     Parameters
	 addr I/O memory address to read the value from

     Returns
	 read value

     Definition at line 288 of file rte_io.h.

   static __rte_always_inline uint64_t rte_read64_relaxed (const volatile void *
     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.

     Parameters
	 addr I/O memory address to read the value from

     Returns
	 read value

     Definition at line 294 of file rte_io.h.

   static  __rte_always_inline	void rte_write8_relaxed (uint8_t value, volatile
     void * 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.

     Parameters
	 value 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_inline void rte_write16_relaxed (uint16_t value, volatile
     void * 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.

     Parameters
	 value 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_inline void rte_write32_relaxed (uint32_t value, volatile
     void * 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.

     Parameters
	 value 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_inline void rte_write64_relaxed (uint64_t value, volatile
     void * 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.

     Parameters
	 value 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_inline uint8_t rte_read8 (const	volatile  void	*  addr)
     [inline],	[static]
     Read a 8-bit value from I/O device memory address addr.

     Parameters
	 addr I/O memory address to read the value from

     Returns
	 read value

     Definition at line 324 of file rte_io.h.

   static  __rte_always_inline	uint16_t rte_read16 (const volatile void * addr)
     [inline],	[static]
     Read a 16-bit value from I/O device memory address addr.

     Parameters
	 addr I/O memory address to read the value from

     Returns
	 read value

     Definition at line 333 of file rte_io.h.

   static __rte_always_inline uint32_t rte_read32 (const volatile void	*  addr)
     [inline],	[static]
     Read a 32-bit value from I/O device memory address addr.

     Parameters
	 addr I/O memory address to read the value from

     Returns
	 read value

     Definition at line 342 of file rte_io.h.

   static  __rte_always_inline	uint64_t rte_read64 (const volatile void * addr)
     [inline],	[static]
     Read a 64-bit value from I/O device memory address addr.

     Parameters
	 addr I/O memory address to read the value from

     Returns
	 read value

     Definition at line 351 of file rte_io.h.

   static __rte_always_inline void rte_write8 (uint8_t value,  volatile  void  *
     addr) [inline],  [static]
     Write a 8-bit value to I/O device memory address addr.

     Parameters
	 value 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_inline void rte_write16 (uint16_t value, volatile void *
     addr) [inline],  [static]
     Write a 16-bit value to I/O device memory address addr.

     Parameters
	 value 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_inline void rte_write32 (uint32_t value, volatile void  *
     addr) [inline],  [static]
     Write a 32-bit value to I/O device memory address addr.

     Parameters
	 value 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_inline void rte_write64 (uint64_t value, volatile void *
     addr) [inline],  [static]
     Write a 64-bit value to I/O device memory address addr.

     Parameters
	 value 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_inline void rte_write32_wc (uint32_t value, volatile void
     * addr) [inline],	[static]
     Write a 32-bit value to I/O device memory address addr using write  combin-
     ing  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 fall-
     back to a regular store.

     Parameters
	 value 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_inline	void  rte_write32_wc_relaxed  (uint32_t   value,
     volatile void * addr) [inline],  [static]
     Write  a 32-bit value to I/O device memory address addr using write combin-
     ing 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 fall-
     back 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.

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

     Definition at line 395 of file rte_io.h.

Author
     Generated automatically by Doxygen for DPDK from the source code.

Version 25.11.0 		 Thu Aug 27 2026		     rte_io.h(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rte_io.h&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help