未验证 提交 5e5acfd0 编写于 作者: O openharmony_ci 提交者: Gitee

!1003 【同步到monthly_20221018分支】mutex trace中ArchLRGet等接口改变实现方式

Merge pull request !1003 from zhangdengyu/cherry-pick-1673256956
/* /*
* Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved. * Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved.
* Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. * Copyright (c) 2020-2023 Huawei Device Co., Ltd. All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without modification, * Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met: * are permitted provided that the following conditions are met:
...@@ -63,12 +63,13 @@ STATIC INLINE UINTPTR ArchMspGet(VOID) ...@@ -63,12 +63,13 @@ STATIC INLINE UINTPTR ArchMspGet(VOID)
return msp; return msp;
} }
STATIC INLINE UINTPTR ArchLRGet(VOID) #define ARCH_LR_GET() \
{ ({ \
UINTPTR lr; UINTPTR lr; \
__asm("mov %0, lr" : "=r" (lr)); __asm("mov %0, lr" : "=r" (lr)); \
return lr; (lr); \
} })
#define ArchLRGet ARCH_LR_GET
#elif defined(__CLANG_ARM) || defined(__GNUC__) #elif defined(__CLANG_ARM) || defined(__GNUC__)
STATIC INLINE UINTPTR ArchSpGet(VOID) STATIC INLINE UINTPTR ArchSpGet(VOID)
{ {
...@@ -91,12 +92,13 @@ STATIC INLINE UINTPTR ArchMspGet(VOID) ...@@ -91,12 +92,13 @@ STATIC INLINE UINTPTR ArchMspGet(VOID)
return msp; return msp;
} }
STATIC INLINE UINTPTR ArchLRGet(VOID) #define ARCH_LR_GET() \
{ ({ \
UINTPTR lr; UINTPTR lr; \
__asm volatile("mov %0, lr" : "=r" (lr)); __asm volatile("mov %0, lr" : "=r" (lr)); \
return lr; (lr); \
} })
#define ArchLRGet ARCH_LR_GET
#else #else
/* Other platforms to be improved */ /* Other platforms to be improved */
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册