Zephyr Project API
3.1.0
A Scalable Open Source RTOS
arch_inlines.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2014-2016 Wind River Systems, Inc.
3
* Copyright (c) 2019 Stephanos Ioannidis <root@stephanos.io>
4
*
5
* SPDX-License-Identifier: Apache-2.0
6
*/
7
8
#ifndef ZEPHYR_INCLUDE_ARCH_XTENSA_ARCH_INLINES_H_
9
#define ZEPHYR_INCLUDE_ARCH_XTENSA_ARCH_INLINES_H_
10
11
#ifndef _ASMLANGUAGE
12
13
#include <
zephyr/kernel_structs.h
>
14
15
#include <
zephyr/arch/arc/v2/aux_regs.h
>
16
17
static
ALWAYS_INLINE
_cpu_t *
arch_curr_cpu
(
void
)
18
{
19
#ifdef CONFIG_SMP
20
uint32_t
core;
21
22
core = z_arc_v2_core_id();
23
24
return
&_kernel.cpus[core];
25
#else
26
return
&_kernel.cpus[0];
27
#endif
/* CONFIG_SMP */
28
}
29
30
#endif
/* !_ASMLANGUAGE */
31
#endif
/* ZEPHYR_INCLUDE_ARCH_XTENSA_ARCH_INLINES_H_ */
arch_curr_cpu
static ALWAYS_INLINE _cpu_t * arch_curr_cpu(void)
Definition:
arch_inlines.h:17
aux_regs.h
ARCv2 auxiliary registers definitions.
ALWAYS_INLINE
#define ALWAYS_INLINE
Definition:
common.h:124
kernel_structs.h
uint32_t
__UINT32_TYPE__ uint32_t
Definition:
stdint.h:90
include
zephyr
arch
arc
arch_inlines.h
Generated on Fri Oct 14 2022 07:25:57 for Zephyr Project API by
1.9.2