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

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) More...

#include <arch/sparc/thread.h>
#include <arch/sparc/sparc.h>
#include <arch/common/sys_bitops.h>
#include <arch/common/sys_io.h>
#include <arch/common/ffs.h>
#include <irq.h>
#include <sw_isr_table.h>
#include <soc.h>
#include <devicetree.h>
#include <sys/util.h>

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)
 

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:37
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60

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

static ALWAYS_INLINE void arch_nop ( void  )
static

◆ sys_clock_cycle_get_32()

uint32_t sys_clock_cycle_get_32 ( void  )