Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
arch.h File Reference

Go to the source code of this file.

Macros

#define ARCH_STACK_PTR_ALIGN   16
 
#define OP_LOADREG   lw
 
#define OP_STOREREG   sw
 
#define CP0_STATUS_DEF_RESTORE   (ST0_EXL | ST0_IE)
 
#define STACK_ROUND_UP(x)   ROUND_UP(x, ARCH_STACK_PTR_ALIGN)
 
#define ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p)
 Configure a static interrupt.
 

Functions

void arch_irq_enable (unsigned int irq)
 
void arch_irq_disable (unsigned int irq)
 
int arch_irq_is_enabled (unsigned int irq)
 
static ALWAYS_INLINE unsigned int arch_irq_lock (void)
 
static ALWAYS_INLINE void arch_irq_unlock (unsigned int key)
 
static ALWAYS_INLINE bool arch_irq_unlocked (unsigned int key)
 
static ALWAYS_INLINE void arch_nop (void)
 
uint32_t sys_clock_cycle_get_32 (void)
 
static uint32_t arch_k_cycle_get_32 (void)
 
uint64_t sys_clock_cycle_get_64 (void)
 
static uint64_t arch_k_cycle_get_64 (void)
 

Macro Definition Documentation

◆ ARCH_IRQ_CONNECT

#define ARCH_IRQ_CONNECT (   irq_p,
  priority_p,
  isr_p,
  isr_param_p,
  flags_p 
)
Value:
{ \
Z_ISR_DECLARE(irq_p, 0, isr_p, isr_param_p); \
}

Configure a static interrupt.

All arguments must be computable by the compiler at build time.

Parameters
irq_pIRQ line number
priority_pInterrupt priority
isr_pInterrupt service routine
isr_param_pISR parameter
flags_pIRQ options
Returns
The vector assigned to this interrupt

◆ ARCH_STACK_PTR_ALIGN

#define ARCH_STACK_PTR_ALIGN   16

◆ CP0_STATUS_DEF_RESTORE

#define CP0_STATUS_DEF_RESTORE   (ST0_EXL | ST0_IE)

◆ OP_LOADREG

#define OP_LOADREG   lw

◆ OP_STOREREG

#define OP_STOREREG   sw

◆ STACK_ROUND_UP

#define STACK_ROUND_UP (   x)    ROUND_UP(x, ARCH_STACK_PTR_ALIGN)

Function Documentation

◆ arch_irq_disable()

void arch_irq_disable ( unsigned int  irq)

◆ arch_irq_enable()

void arch_irq_enable ( unsigned int  irq)

◆ arch_irq_is_enabled()

int arch_irq_is_enabled ( unsigned int  irq)

◆ arch_irq_lock()

static ALWAYS_INLINE unsigned int arch_irq_lock ( void  )
static

◆ arch_irq_unlock()

static ALWAYS_INLINE void arch_irq_unlock ( unsigned int  key)
static

◆ arch_irq_unlocked()

static ALWAYS_INLINE bool arch_irq_unlocked ( unsigned int  key)
static

◆ arch_k_cycle_get_32()

static uint32_t arch_k_cycle_get_32 ( void  )
inlinestatic

◆ arch_k_cycle_get_64()

static uint64_t arch_k_cycle_get_64 ( void  )
inlinestatic

◆ arch_nop()

static ALWAYS_INLINE void arch_nop ( void  )
static

◆ sys_clock_cycle_get_32()

uint32_t sys_clock_cycle_get_32 ( void  )

◆ sys_clock_cycle_get_64()

uint64_t sys_clock_cycle_get_64 ( void  )