Zephyr API Documentation 4.1.99
A Scalable Open Source RTOS
 4.1.99
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
arch.h File Reference

Renesas RX specific kernel interface header. More...

Go to the source code of this file.

Macros

#define ARCH_STACK_PTR_ALIGN   4
 
#define REG(addr)
 
#define ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p)
 
#define ARCH_ISR_DIRECT_HEADER()
 
#define ARCH_ISR_DIRECT_FOOTER(check_reschedule)
 

Functions

static ALWAYS_INLINE unsigned int arch_irq_lock (void)
 
static void arch_irq_unlock (unsigned int key)
 
static bool arch_irq_unlocked (unsigned int key)
 
static ALWAYS_INLINE _cpu_t * arch_curr_cpu (void)
 

Detailed Description

Renesas RX specific kernel interface header.

This header contains the Renesas RX specific kernel interface. It is included by the kernel interface architecture-abstraction header (include/zephyr/arch/cpu.h).

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); \
z_irq_priority_set(irq_p, priority_p, flags_p); \
}

◆ ARCH_ISR_DIRECT_FOOTER

#define ARCH_ISR_DIRECT_FOOTER ( check_reschedule)
Value:
{ \
if (IS_ENABLED(CONFIG_STACK_SENTINEL)) { \
z_check_stack_sentinel(); \
} \
irq_lock(); \
if (check_reschedule && _kernel.cpus[0].nested == 1) { \
if (_kernel.cpus->current->base.prio >= 0 || \
CONFIG_NUM_METAIRQ_PRIORITIES > 0) { \
if (_kernel.ready_q.cache != _kernel.cpus->current) { \
z_rx_irq_exit(); \
} \
} \
} \
_kernel.cpus[0].nested--; \
}
#define IS_ENABLED(config_macro)
Check for macro definition in compiler-visible expressions.
Definition util_macro.h:148

◆ ARCH_ISR_DIRECT_HEADER

#define ARCH_ISR_DIRECT_HEADER ( )
Value:
{ \
_kernel.cpus[0].nested++; \
}

◆ ARCH_STACK_PTR_ALIGN

#define ARCH_STACK_PTR_ALIGN   4

◆ REG

#define REG ( addr)
Value:
*((uint8_t *)(addr))
__UINT8_TYPE__ uint8_t
Definition stdint.h:88

Function Documentation

◆ arch_curr_cpu()

static ALWAYS_INLINE _cpu_t * arch_curr_cpu ( void )
static

◆ arch_irq_lock()

static ALWAYS_INLINE unsigned int arch_irq_lock ( void )
static

◆ arch_irq_unlock()

static void arch_irq_unlock ( unsigned int key)
inlinestatic

◆ arch_irq_unlocked()

static bool arch_irq_unlocked ( unsigned int key)
inlinestatic