Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
arch.h File Reference

Go to the source code of this file.

Data Structures

struct  x86_esf
 
struct  x86_ssf
 

Macros

#define ARCH_EXCEPT(reason_p)
 
#define X86_RESERVE_IRQ(irq_p, name)
 
#define ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p)
 
#define ARCH_DYMANIC_OBJ_K_THREAD_ALIGNMENT   16
 

Functions

static ALWAYS_INLINE void sys_write64 (uint64_t data, mm_reg_t addr)
 
static ALWAYS_INLINE uint64_t sys_read64 (mm_reg_t addr)
 
static ALWAYS_INLINE unsigned int arch_irq_lock (void)
 

Macro Definition Documentation

◆ ARCH_DYMANIC_OBJ_K_THREAD_ALIGNMENT

#define ARCH_DYMANIC_OBJ_K_THREAD_ALIGNMENT   16

◆ ARCH_EXCEPT

#define ARCH_EXCEPT (   reason_p)
Value:
do { \
__asm__ volatile( \
"movq %[reason], %%rax\n\t" \
"int $32\n\t" \
: \
: [reason] "i" (reason_p)); \
CODE_UNREACHABLE; /* LCOV_EXCL_LINE */ \
} while (false)

◆ ARCH_IRQ_CONNECT

#define ARCH_IRQ_CONNECT (   irq_p,
  priority_p,
  isr_p,
  isr_param_p,
  flags_p 
)
Value:
X86_RESERVE_IRQ(irq_p, _CONCAT(_irq_alloc_fixed, __COUNTER__)); \
arch_irq_connect_dynamic(irq_p, priority_p, \
(void (*)(const void *))isr_p, \
isr_param_p, flags_p)
#define X86_RESERVE_IRQ(irq_p, name)
Definition: arch.h:123

◆ X86_RESERVE_IRQ

#define X86_RESERVE_IRQ (   irq_p,
  name 
)

Function Documentation

◆ arch_irq_lock()

static ALWAYS_INLINE unsigned int arch_irq_lock ( void  )
static

◆ sys_read64()

static ALWAYS_INLINE uint64_t sys_read64 ( mm_reg_t  addr)
static

◆ sys_write64()

static ALWAYS_INLINE void sys_write64 ( uint64_t  data,
mm_reg_t  addr 
)
static