Zephyr API Documentation 4.2.99
A Scalable Open Source RTOS
 4.2.99
arch.h File Reference

SPARC specific kernel interface header. 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)
#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 kernel interface architecture-abstraction header (include/zephyr/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:40
__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)
Value:
#define ARCH_STACK_PTR_ALIGN
Definition arch.h:98
#define ROUND_UP(x, align)
Value of x rounded up to the next multiple of align.
Definition util.h:323

Function Documentation

◆ arch_irq_lock()

ALWAYS_INLINE unsigned int arch_irq_lock ( void )
static

◆ arch_irq_unlock()

ALWAYS_INLINE void arch_irq_unlock ( unsigned int key)
static

◆ arch_irq_unlocked()

ALWAYS_INLINE bool arch_irq_unlocked ( unsigned int key)
static

◆ arch_k_cycle_get_32()

uint32_t arch_k_cycle_get_32 ( void )
inlinestatic

◆ arch_k_cycle_get_64()

uint64_t arch_k_cycle_get_64 ( void )
inlinestatic

◆ arch_nop()

ALWAYS_INLINE void arch_nop ( void )
static

◆ sys_clock_cycle_get_32()

uint32_t sys_clock_cycle_get_32 ( void )
extern

◆ sys_clock_cycle_get_64()

uint64_t sys_clock_cycle_get_64 ( void )
extern