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

FreeBSD Manual Pages

  
 
  

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
       operations

       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
       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.

       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
       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.

       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 Jun	11 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