Line data Source code
1 1 : /*
2 : * Copyright (c) 2021 KT-Elektronik, Klaucke und Partner GmbH
3 : * Copyright (c) 2024 Renesas Electronics Corporation
4 : *
5 : * SPDX-License-Identifier: Apache-2.0
6 : */
7 :
8 : /**
9 : * @file
10 : * @brief Renesas RX public kernel miscellaneous
11 : *
12 : * Renesas RX-specific kernel miscellaneous interface. Included by arch/rx/arch.h.
13 : */
14 :
15 : #ifndef ZEPHYR_INCLUDE_ARCH_RX_MISC_H_
16 : #define ZEPHYR_INCLUDE_ARCH_RX_MISC_H_
17 :
18 : #ifdef __cplusplus
19 : extern "C" {
20 : #endif
21 :
22 : #ifndef _ASMLANGUAGE
23 :
24 0 : extern uint32_t sys_clock_cycle_get_32(void);
25 :
26 0 : static inline uint32_t arch_k_cycle_get_32(void)
27 : {
28 : return sys_clock_cycle_get_32();
29 : }
30 :
31 0 : extern uint64_t sys_clock_cycle_get_64(void);
32 :
33 0 : static inline uint64_t arch_k_cycle_get_64(void)
34 : {
35 : return sys_clock_cycle_get_64();
36 : }
37 :
38 0 : static ALWAYS_INLINE void arch_nop(void)
39 : {
40 : __asm__ volatile("nop;");
41 : }
42 :
43 0 : #define arch_brk() __asm__ volatile("brk;")
44 0 : #define arch_wait() __asm__ volatile("wait;")
45 :
46 : #endif
47 :
48 : #ifdef __cplusplus
49 : }
50 : #endif
51 :
52 : #endif /* ZEPHYR_INCLUDE_ARCH_RX_MISC_H_ */
|