gem5  v21.0.1.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Macros | Functions
atomicio.hh File Reference
#include <unistd.h>

Go to the source code of this file.

Macros

#define STATIC_MSG(fd, m)
 Statically allocate a string and write it to a file descriptor. More...
 
#define STATIC_ERR(m)   STATIC_MSG(STDERR_FILENO, m)
 Statically allocate a string and write it to STDERR. More...
 

Functions

ssize_t atomic_read (int fd, void *s, size_t n)
 
ssize_t atomic_write (int fd, const void *s, size_t n)
 

Macro Definition Documentation

◆ STATIC_ERR

#define STATIC_ERR (   m)    STATIC_MSG(STDERR_FILENO, m)

Statically allocate a string and write it to STDERR.

Warning
The return value will from atomic_write will be ignored which means that errors will be ignored. This is normally fine as this macro is intended to be used in fatal signal handlers where error handling might not be feasible.

Definition at line 64 of file atomicio.hh.

◆ STATIC_MSG

#define STATIC_MSG (   fd,
 
)
Value:
do { \
static const char msg[] = m; \
atomic_write(fd, msg, sizeof(msg) - 1); \
} while (0)

Statically allocate a string and write it to a file descriptor.

Warning
The return value will from atomic_write will be ignored which means that errors will be ignored. This is normally fine as this macro is intended to be used in fatal signal handlers where error handling might not be feasible.

Definition at line 50 of file atomicio.hh.

Function Documentation

◆ atomic_read()

ssize_t atomic_read ( int  fd,
void *  s,
size_t  n 
)

Definition at line 35 of file atomicio.cc.

References ArmISA::fd, ArmISA::n, MipsISA::p, and ArmISA::s.

Referenced by TEST().

◆ atomic_write()

ssize_t atomic_write ( int  fd,
const void *  s,
size_t  n 
)
ArmISA::fd
Bitfield< 14, 12 > fd
Definition: types.hh:159
ArmISA::m
Bitfield< 0 > m
Definition: miscregs_types.hh:389

Generated on Tue Jun 22 2021 15:28:33 for gem5 by doxygen 1.8.17