14#ifndef ZEPHYR_INCLUDE_ARCH_SPARC_ARCH_H_ 
   15#define ZEPHYR_INCLUDE_ARCH_SPARC_ARCH_H_ 
   29#define ARCH_STACK_PTR_ALIGN 8 
   35#define SPARC_SW_TRAP_FLUSH_WINDOWS     0x03 
   36#define SPARC_SW_TRAP_SET_PIL           0x09 
   37#define SPARC_SW_TRAP_EXCEPT            0x0F 
   46#define STACK_ROUND_UP(x) ROUND_UP(x, ARCH_STACK_PTR_ALIGN) 
   53int z_sparc_int_get_source(
int irl);
 
   54void z_irq_spurious(
const void *unused);
 
   57#define ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p) \ 
   59                Z_ISR_DECLARE(irq_p, 0, isr_p, isr_param_p);             \ 
   63static ALWAYS_INLINE unsigned int z_sparc_set_pil_inline(
unsigned int newpil)
 
   65        register uint32_t oldpil __asm__ (
"o0") = newpil;
 
   78        return z_sparc_set_pil_inline(15);
 
   83        z_sparc_set_pil_inline(
key);
 
   93        __asm__ 
volatile (
"nop");
 
  115typedef struct __esf z_arch_esf_t;
 
  117#define ARCH_EXCEPT(reason_p)                                           \ 
  119        register uint32_t _g1 __asm__("g1") = reason_p;                 \
 
  124                : [vector] "i" (SPARC_SW_TRAP_EXCEPT), "r" (_g1)        \
 
Per-arch thread definition.
 
#define ALWAYS_INLINE
Definition: common.h:116
 
uint32_t sys_clock_cycle_get_32(void)
 
static ALWAYS_INLINE void arch_nop(void)
Definition: arch.h:91
 
#define SPARC_SW_TRAP_SET_PIL
Definition: arch.h:36
 
static ALWAYS_INLINE unsigned int arch_irq_lock(void)
Definition: arch.h:76
 
static ALWAYS_INLINE void arch_irq_unlock(unsigned int key)
Definition: arch.h:81
 
static uint32_t arch_k_cycle_get_32(void)
Definition: arch.h:98
 
static ALWAYS_INLINE bool arch_irq_unlocked(unsigned int key)
Definition: arch.h:86
 
static k_spinlock_key_t key
Definition: spinlock_error_case.c:14
 
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60
 
Software-managed ISR table.