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

SPARC specific kernel interface header This header contains the SPARC specific kernel interface. More...

Go to the source code of this file.

Macros

#define ARCH_STACK_PTR_ALIGN   8
 
#define SPARC_SW_TRAP_FLUSH_WINDOWS   0x03
 
#define SPARC_SW_TRAP_SET_PIL   0x09
 
#define SPARC_SW_TRAP_EXCEPT   0x0F
 
#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)
 
#define ARCH_EXCEPT(reason_p)
 

Functions

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)
 

Detailed Description

SPARC specific kernel interface header This header contains the SPARC specific kernel interface.

It is included by the generic kernel interface header (arch/cpu.h)

Macro Definition Documentation

◆ ARCH_EXCEPT

#define ARCH_EXCEPT (   reason_p)
Value:
do { \
register uint32_t _g1 __asm__("g1") = reason_p; \
\
__asm__ volatile ( \
"ta %[vector]\n\t" \
: \
: [vector] "i" (SPARC_SW_TRAP_EXCEPT), "r" (_g1) \
: "memory" \
); \
CODE_UNREACHABLE; \
} while (false)
#define SPARC_SW_TRAP_EXCEPT
Definition: arch.h:38
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90

◆ 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); \
}

◆ ARCH_STACK_PTR_ALIGN

#define ARCH_STACK_PTR_ALIGN   8

◆ SPARC_SW_TRAP_EXCEPT

#define SPARC_SW_TRAP_EXCEPT   0x0F

◆ SPARC_SW_TRAP_FLUSH_WINDOWS

#define SPARC_SW_TRAP_FLUSH_WINDOWS   0x03

◆ SPARC_SW_TRAP_SET_PIL

#define SPARC_SW_TRAP_SET_PIL   0x09

◆ STACK_ROUND_UP

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

Function Documentation

◆ 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  )