arch: arc: add macros to get current cpu id
add macros for assembly and C to get current cpu id Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
This commit is contained in:
parent
31a0371a0a
commit
83dfe5eac4
2 changed files with 16 additions and 0 deletions
|
@ -295,6 +295,11 @@ extern "C" {
|
||||||
cmp \reg1, \reg2
|
cmp \reg1, \reg2
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
|
.macro _get_cpu_id reg
|
||||||
|
lr \reg, [_ARC_V2_IDENTITY]
|
||||||
|
xbfu \reg, \reg, 0xe8
|
||||||
|
.endm
|
||||||
|
|
||||||
#endif /* _ASMLANGUAGE */
|
#endif /* _ASMLANGUAGE */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -177,8 +177,19 @@ extern "C" {
|
||||||
: "ir"(val), "i"(reg)); \
|
: "ir"(val), "i"(reg)); \
|
||||||
})
|
})
|
||||||
#endif /* __GNUC__ */
|
#endif /* __GNUC__ */
|
||||||
|
|
||||||
#endif /* _ASMLANGUAGE */
|
#endif /* _ASMLANGUAGE */
|
||||||
|
|
||||||
|
#define z_arc_v2_core_id() \
|
||||||
|
({ \
|
||||||
|
unsigned int __ret; \
|
||||||
|
__asm__ __volatile__("lr %0, [%1]\n" \
|
||||||
|
"xbfu %0, %0, 0xe8\n" \
|
||||||
|
: "=r"(__ret) \
|
||||||
|
: "i"(_ARC_V2_IDENTITY)); \
|
||||||
|
__ret; \
|
||||||
|
})
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue