18#ifndef ZEPHYR_INCLUDE_ARCH_TRICORE_ARCH_H_
19#define ZEPHYR_INCLUDE_ARCH_TRICORE_ARCH_H_
32#define ARCH_STACK_PTR_ALIGN 8
46 unsigned int key = cr_read(TRICORE_ICR);
48 __asm__
volatile(
"disable" :::
"memory");
56 __asm__
volatile(
"enable" :::
"memory");
62 return !!(key &
BIT(15));
67 return !!(cr_read(TRICORE_ICR) &
BIT(15));
86 __asm__
volatile(
"nop");
static ALWAYS_INLINE void arch_nop(void)
Definition arch.h:351
TriCore specific IRQ macros and helpers.
TriCore specific thread definitions.
TriCore Core Special Function Register (CSFR) addresses.
#define BIT(n)
Unsigned integer with bit position n set (signed in assembly language).
Definition util_macro.h:44
uint64_t sys_clock_cycle_get_64(void)
Get the current system clock cycle count as a 64-bit value.
uint32_t sys_clock_cycle_get_32(void)
Get the current system clock cycle count as a 32-bit value.
static uint32_t arch_k_cycle_get_32(void)
Get the current cycle count (32-bit).
Definition arch.h:54
static uint64_t arch_k_cycle_get_64(void)
Get the current cycle count (64-bit).
Definition arch.h:71
TriCore public error handling.
static ALWAYS_INLINE unsigned int arch_irq_lock(void)
Definition arch.h:72
static ALWAYS_INLINE void arch_irq_unlock(unsigned int key)
Definition arch.h:83
static ALWAYS_INLINE bool arch_cpu_irqs_are_enabled(void)
Implementation of arch_cpu_irqs_are_enabled.
Definition arch.h:102
static ALWAYS_INLINE bool arch_irq_unlocked(unsigned int key)
Definition arch.h:96
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT64_TYPE__ uint64_t
Definition stdint.h:91
TriCore public exception handling.