From acfa74f078b23d670ad04c3a2aa9cec5fbcf5afe Mon Sep 17 00:00:00 2001 From: Shell Date: Tue, 25 Jul 2023 14:07:44 +0800 Subject: [libcpu/arm] fix race condition with ldrex,strex (#7842) Signed-off-by: Shell --- components/lwp/arch/arm/cortex-a/lwp_arch.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'components') diff --git a/components/lwp/arch/arm/cortex-a/lwp_arch.c b/components/lwp/arch/arm/cortex-a/lwp_arch.c index d10ac398a1..97fdf1b8b9 100644 --- a/components/lwp/arch/arm/cortex-a/lwp_arch.c +++ b/components/lwp/arch/arm/cortex-a/lwp_arch.c @@ -54,10 +54,13 @@ static struct rt_varea kuser_varea; void arch_kuser_init(rt_aspace_t aspace, void *vectors) { - const size_t kuser_size = 0x1000; int err; - extern char *__kuser_helper_start, *__kuser_helper_end; - int kuser_sz = __kuser_helper_end - __kuser_helper_start; + const size_t kuser_size = 0x1000; + extern char __kuser_helper_start[]; + extern char __kuser_helper_end[]; + rt_base_t start = (rt_base_t)__kuser_helper_start; + rt_base_t end = (rt_base_t)__kuser_helper_end; + int kuser_sz = end - start; err = rt_aspace_map_static(aspace, &kuser_varea, &vectors, kuser_size, MMU_MAP_U_RO, MMF_MAP_FIXED | MMF_PREFETCH, -- cgit v1.3.1