1
0
Эх сурвалжийг харах

lwp合并arch_user_stack.c和arch_user_space_init.c为lwp_arch.c

shaojinchun 4 жил өмнө
parent
commit
9e53ccbc5f

+ 0 - 39
components/lwp/arch/aarch64/cortex-a/arch_user_stack.c

@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date           Author       Notes
- * 2020-11-18     Jesven       first version
- */
-
-#include <rtthread.h>
-#include <rthw.h>
-
-#ifdef RT_USING_USERSPACE
-
-#include <mmu.h>
-#include <page.h>
-#include <lwp_mm_area.h>
-#include <lwp_user_mm.h>
-#include <lwp_arch.h>
-
-int arch_expand_user_stack(void *addr)
-{
-    int ret = 0;
-    size_t stack_addr = (size_t)addr;
-
-    stack_addr &= ~ARCH_PAGE_MASK;
-    if ((stack_addr >= (size_t)USER_STACK_VSTART) && (stack_addr < (size_t)USER_STACK_VEND))
-    {
-        void *map = lwp_map_user(lwp_self(), (void*)stack_addr, ARCH_PAGE_SIZE, 0);
-
-        if (map || lwp_user_accessable(addr, 1))
-        {
-            ret = 1;
-        }
-    }
-    return ret;
-}
-#endif

+ 19 - 0
components/lwp/arch/aarch64/cortex-a/arch_user_space_init.c → components/lwp/arch/aarch64/cortex-a/lwp_arch.c

@@ -55,4 +55,23 @@ void arch_user_space_vtable_free(struct rt_lwp *lwp)
         rt_pages_free(lwp->mmu_info.vtable, 0);
     }
 }
+
+int arch_expand_user_stack(void *addr)
+{
+    int ret = 0;
+    size_t stack_addr = (size_t)addr;
+
+    stack_addr &= ~ARCH_PAGE_MASK;
+    if ((stack_addr >= (size_t)USER_STACK_VSTART) && (stack_addr < (size_t)USER_STACK_VEND))
+    {
+        void *map = lwp_map_user(lwp_self(), (void*)stack_addr, ARCH_PAGE_SIZE, 0);
+
+        if (map || lwp_user_accessable(addr, 1))
+        {
+            ret = 1;
+        }
+    }
+    return ret;
+}
+
 #endif

+ 0 - 39
components/lwp/arch/arm/cortex-a/arch_user_stack.c

@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2006-2018, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date           Author       Notes
- * 2020-11-18     Jesven       first version
- */
-
-#include <rtthread.h>
-#include <rthw.h>
-
-#ifdef RT_USING_USERSPACE
-
-#include <mmu.h>
-#include <page.h>
-#include <lwp_mm_area.h>
-#include <lwp_user_mm.h>
-#include <lwp_arch.h>
-
-int arch_expand_user_stack(void *addr)
-{
-    int ret = 0;
-    size_t stack_addr = (size_t)addr;
-
-    stack_addr &= ~ARCH_PAGE_MASK;
-    if ((stack_addr >= (size_t)USER_STACK_VSTART) && (stack_addr < (size_t)USER_STACK_VEND))
-    {
-        void *map = lwp_map_user(lwp_self(), (void*)stack_addr, ARCH_PAGE_SIZE, 0);
-
-        if (map || lwp_user_accessable(addr, 1))
-        {
-            ret = 1;
-        }
-    }
-    return ret;
-}
-#endif

+ 19 - 0
components/lwp/arch/arm/cortex-a/arch_user_space_init.c → components/lwp/arch/arm/cortex-a/lwp_arch.c

@@ -68,4 +68,23 @@ void arch_user_space_vtable_free(struct rt_lwp *lwp)
         rt_pages_free(lwp->mmu_info.vtable, 2);
     }
 }
+
+int arch_expand_user_stack(void *addr)
+{
+    int ret = 0;
+    size_t stack_addr = (size_t)addr;
+
+    stack_addr &= ~ARCH_PAGE_MASK;
+    if ((stack_addr >= (size_t)USER_STACK_VSTART) && (stack_addr < (size_t)USER_STACK_VEND))
+    {
+        void *map = lwp_map_user(lwp_self(), (void*)stack_addr, ARCH_PAGE_SIZE, 0);
+
+        if (map || lwp_user_accessable(addr, 1))
+        {
+            ret = 1;
+        }
+    }
+    return ret;
+}
+
 #endif