Zephyr API Documentation 4.4.0-rc1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
arch.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025 NVIDIA Corporation
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
15
16#ifndef ZEPHYR_INCLUDE_ARCH_OPENRISC_ARCH_H_
17#define ZEPHYR_INCLUDE_ARCH_OPENRISC_ARCH_H_
18
19#include <zephyr/irq.h>
20
21#include <zephyr/devicetree.h>
22#if !defined(_ASMLANGUAGE) && !defined(__ASSEMBLER__)
29
30#include <zephyr/sw_isr_table.h>
31
32#include <openrisc/openriscregs.h>
33
34#define ARCH_STACK_PTR_ALIGN 8
35
36#include <zephyr/sys/util.h>
37
38#ifdef __cplusplus
39extern "C" {
40#endif
41
55
56#define ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p) \
57 { \
58 Z_ISR_DECLARE(irq_p, 0, isr_p, isr_param_p); \
59 }
60
61static ALWAYS_INLINE void arch_nop(void)
62{
63 __asm__ volatile ("l.nop");
64}
65
67
68static inline uint32_t arch_k_cycle_get_32(void)
69{
71}
72
74
75static inline uint64_t arch_k_cycle_get_64(void)
76{
78}
79
80#ifdef __cplusplus
81}
82#endif
83
84#endif /* _ASMLANGUAGE */
85
86#endif /* ZEPHYR_INCLUDE_ARCH_OPENRISC_ARCH_H_ */
OpenRISC public interrupt handling.
Per-arch thread definition.
Devicetree main header.
#define ALWAYS_INLINE
Definition common.h:161
Public interface for configuring interrupts.
static ALWAYS_INLINE void arch_nop(void)
Definition arch.h:61
OpenRISC public exception handling.
uint64_t sys_clock_cycle_get_64(void)
uint32_t sys_clock_cycle_get_32(void)
static uint32_t arch_k_cycle_get_32(void)
Definition arch.h:44
static uint64_t arch_k_cycle_get_64(void)
Definition arch.h:51
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT64_TYPE__ uint64_t
Definition stdint.h:91
Software-managed ISR table.
Misc utilities.