Zephyr API Documentation  3.5.0
A Scalable Open Source RTOS
3.5.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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_DYNAMIC_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_DYNAMIC_OBJ_K_THREAD_ALIGNMENT

#define ARCH_DYNAMIC_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