Home
last modified time | relevance | path

Searched refs:lwp (Results 1 – 25 of 48) sorted by relevance

12

/components/lwp/
A Dlwp_pid.c296 if (lwp) in lwp_user_object_lock()
308 if (lwp) in lwp_user_object_unlock()
549 rt_lwp_umap_user(lwp, lwp->text_entry, 0); in lwp_free()
550 rt_lwp_free_user(lwp, lwp->data_entry, lwp->data_size); in lwp_free()
629 if (!lwp) in lwp_exit()
636 RT_ASSERT((struct rt_lwp *)thread->lwp == lwp); in lwp_exit()
682 lwp = (struct rt_lwp *)thread->lwp; in lwp_thread_exit()
776 if (!lwp) in lwp_to_pid()
790 if (lwp) in lwp_pid2name()
837 return lwp ? lwp->pid : 1; in lwp_getpid()
[all …]
A Dlwp.c96 lwp = (struct rt_lwp *)rt_thread_self()->lwp; in lwp_setcwd()
97 if (lwp) in lwp_setcwd()
117 lwp = (struct rt_lwp *)thread->lwp; in lwp_getcwd()
120 if (lwp) in lwp_getcwd()
186 lwp = (struct rt_lwp *)tid->lwp; in lwp_cleanup()
232 lwp = (struct rt_lwp *)tid->lwp; in _lwp_thread_entry()
238 lwp->bak_first_inst = *(uint32_t *)lwp->text_entry; in _lwp_thread_entry()
261 …arch_start_umode(lwp->args, lwp->text_entry, lwp->data_entry, (void *)((uint32_t)lwp->data_entry +… in _lwp_thread_entry()
462 thread->lwp = lwp; in lwp_execve()
471 rt_memset(lwp->data_entry, 0, lwp->data_size); in lwp_execve()
[all …]
A Dlwp_pid.h31 void lwp_pid_put(struct rt_lwp *lwp);
48 void lwp_free(struct rt_lwp* lwp);
50 int lwp_ref_inc(struct rt_lwp *lwp);
51 int lwp_ref_dec(struct rt_lwp *lwp);
99 struct rt_lwp *lwp; in lwp_from_pid_and_lock() local
101 lwp = lwp_from_pid_locked(pid); in lwp_from_pid_and_lock()
102 if (lwp) in lwp_from_pid_and_lock()
103 lwp_ref_inc(lwp); in lwp_from_pid_and_lock()
106 return lwp; in lwp_from_pid_and_lock()
111 if (lwp) in lwp_from_pid_release_lock()
[all …]
A Dlwp_user_mm.h57 int lwp_munmap(struct rt_lwp *lwp, void *addr, size_t length);
149 void lwp_unmap_user_space(struct rt_lwp *lwp);
151 int lwp_unmap_user(struct rt_lwp *lwp, void *va);
160 int lwp_unmap_user_phy(struct rt_lwp *lwp, void *va);
166 size_t lwp_strlen(struct rt_lwp *lwp, const char *s);
172 static inline void *_lwp_v2p(struct rt_lwp *lwp, void *vaddr) in _lwp_v2p() argument
174 return rt_hw_mmu_v2p(lwp->aspace, vaddr); in _lwp_v2p()
177 static inline void *lwp_v2p(struct rt_lwp *lwp, void *vaddr) in lwp_v2p() argument
179 RD_LOCK(lwp->aspace); in lwp_v2p()
180 void *paddr = _lwp_v2p(lwp, vaddr); in lwp_v2p()
[all …]
A Dlwp_futex.c34 LWP_LOCK(lwp); in _futex_lock()
52 LWP_UNLOCK(lwp); in _futex_unlock()
115 if (lwp) in _pftx_create_locked()
179 LWP_LOCK(lwp); in _pftx_get()
201 LWP_UNLOCK(lwp); in _pftx_get()
239 if (lwp) in _sftx_create()
282 RD_LOCK(lwp->aspace); in _sftx_get()
289 RD_UNLOCK(lwp->aspace); in _sftx_get()
711 lwp = lwp_self(); in sys_futex()
813 struct rt_lwp *lwp; in _handle_futex_death() local
[all …]
A Dlwp_user_mm.c160 if (thread->lwp) in lwp_aspace_switch()
162 lwp = (struct rt_lwp *)thread->lwp; in lwp_aspace_switch()
183 if (lwp->aspace) in lwp_unmap_user_space()
393 lwp = lwp_self(); in lwp_brk()
631 mmap2.lwp = lwp; in lwp_mmap2()
662 RT_ASSERT(lwp); in lwp_munmap()
670 RT_ASSERT(lwp); in lwp_mremap()
694 lwp = lwp_self(); in lwp_get_from_user()
695 if (!lwp) in lwp_get_from_user()
722 if (!lwp) in lwp_put_to_user()
[all …]
A Dlwp_signal.c483 struct rt_lwp *lwp = (struct rt_lwp *)thread->lwp; in lwp_thread_signal_suspend_check() local
746 lwp = (struct rt_lwp *)thread->lwp; in lwp_thread_signal_catch()
868 if (candidate->lwp == lwp && in _signal_find_catcher()
1117 if (lwp) in lwp_signal_action()
1217 lwp = thread->lwp; in lwp_thread_signal_kill()
1275 lwp = (struct rt_lwp *)thread->lwp; in lwp_thread_signal_mask()
1304 lwp = thread->lwp; in _dequeue_signal()
1337 struct rt_lwp *lwp = thread->lwp; in lwp_thread_signal_timedwait() local
1417 lwp = thread->lwp; in lwp_thread_signal_pending()
1419 if (lwp) in lwp_thread_signal_pending()
[all …]
A Dlwp_args.c279 lwp_data_set(lwp, iter++, 0, sizeof(char *)); in lwp_argscopy()
303 lwp->args = args_ua; in lwp_argscopy()
395 lwp->args = args; in lwp_argscopy()
399 lwp->args = args; in lwp_argscopy()
400 lwp->args_length = size; in lwp_argscopy()
644 if (lwp) in lwp_get_command_line_args()
646 ret = lwp_data_get(lwp, &argc, lwp->args, sizeof(argc)); in lwp_get_command_line_args()
658 ret = lwp_data_get(lwp, &argvp, &((char **)lwp->args)[1 + i], sizeof(argvp)); in lwp_get_command_line_args()
690 void lwp_print_envp(struct rt_lwp *lwp) in lwp_print_envp() argument
714 if (lwp) in lwp_get_envp()
[all …]
A Dlwp_internal.h48 rt_err_t lwp_critical_enter(struct rt_lwp *lwp, int flags);
49 rt_err_t lwp_critical_exit(struct rt_lwp *lwp);
54 #define LWP_LOCK(lwp) \ argument
58 if (lwp_critical_enter(lwp, 0) != RT_EOK) \
64 #define LWP_LOCK_NESTED(lwp) \ argument
68 if (lwp_critical_enter(lwp, LWP_MTX_FALGS_NESTED) != RT_EOK) \
74 #define LWP_UNLOCK(lwp) \ argument
76 if (lwp_critical_exit(lwp) != RT_EOK) \
142 #define LWP_LOCK(lwp) rt_base_t level = rt_hw_interrupt_disable() argument
143 #define LWP_UNLOCK(lwp) rt_hw_interrupt_enable(level) argument
A Dlwp_shm.c270 struct rt_lwp *lwp = RT_NULL; in _lwp_shmat() local
288 lwp = lwp_self(); in _lwp_shmat()
289 if (!lwp) in _lwp_shmat()
323 if (!lwp) in _lwp_shm_struct_get()
327 pa = lwp_v2p(lwp, shm_vaddr); /* physical memory */ in _lwp_shm_struct_get()
354 ret = _lwp_shm_ref_inc(lwp, shm_vaddr); in lwp_shm_ref_inc()
377 ret = _lwp_shm_ref_dec(lwp, shm_vaddr); in lwp_shm_ref_dec()
386 struct rt_lwp *lwp = RT_NULL; in _lwp_shmdt() local
389 lwp = lwp_self(); in _lwp_shmdt()
390 if (!lwp) in _lwp_shmdt()
[all …]
A Dlwp_runtime.c134 static int _get_parent_pid(struct rt_lwp *lwp) in _get_parent_pid() argument
136 return lwp->parent ? lwp->parent->pid : 0; in _get_parent_pid()
140 sysret_t lwp_teardown(struct rt_lwp *lwp, void (*cb)(void)) in lwp_teardown() argument
144 if (lwp->pid != INIT_PID && _get_parent_pid(lwp) != INIT_PID) in lwp_teardown()
156 lwp_exit(lwp, LWP_CREATE_STAT_EXIT(EXIT_SUCCESS)); in lwp_teardown()
A Dlwp_elf.c58 lwp_data_put(lwp, aux++, &a, sizeof(rt_ubase_t)); \
60 lwp_data_put(lwp, aux++, &a, sizeof(rt_ubase_t)); \
101 static void elf_user_dump(struct rt_lwp *lwp, void *va, size_t len) in elf_user_dump() argument
119 ret = lwp_data_get(lwp, k_va, va, len); in elf_user_dump()
672 elf_user_dump(load_info->lwp, (void *)load_addr, 64); in elf_file_mmap()
751 rt_lwp_t lwp = load_info->lwp; in elf_aux_fill() local
786 if(RT_EOK == arch_setup_additional_pages(load_info->lwp)) in elf_aux_fill()
870 load_info->lwp->text_entry = (void *)load_info->e_entry; in elf_load_segment()
874 elf_user_dump(load_info->lwp, load_info->lwp->text_entry, 64); in elf_load_segment()
1053 load_info.lwp = lwp; in lwp_load()
[all …]
A Dlwp_itimer.c27 rt_err_t lwp_signal_setitimer(rt_lwp_t lwp, int which, const struct itimerspec *restrict new, struc… in lwp_signal_setitimer() argument
33 if (lwp->signal.real_timer == LWP_SIG_INVALID_TIMER) in lwp_signal_setitimer()
44 lwp->signal.real_timer = timerid; in lwp_signal_setitimer()
53 timerid = lwp->signal.real_timer; in lwp_signal_setitimer()
A Dlwp_args.h46 struct process_aux *lwp_argscopy(struct rt_lwp *lwp, struct lwp_args_info *args_info);;
52 char** lwp_get_envp(struct rt_lwp *lwp, rt_size_t *penvp_counts);
53 void lwp_print_envp(struct rt_lwp *lwp);
55 char** lwp_get_command_line_args(struct rt_lwp *lwp);
A Dlwp_signal.h117 rt_err_t lwp_signal_kill(struct rt_lwp *lwp, long signo, long code,
128 rt_err_t lwp_signal_action(struct rt_lwp *lwp, int signo,
224 rt_bool_t lwp_sigisign(struct rt_lwp *lwp, int _sig);
226 rt_err_t lwp_signal_setitimer(struct rt_lwp *lwp, int which,
230 rt_bool_t lwp_signal_restart_syscall(struct rt_lwp *lwp, int error_code);
A Dlwp_syscall.c358 if (lwp) in sys_exit_group()
3245 lwp = rt_thread_self()->lwp; in sys_thread_create()
3310 thread->lwp = (void*)lwp; in sys_thread_create()
3327 if (lwp) in sys_thread_create()
3380 lwp = self->lwp; in _sys_clone()
3411 thread->lwp = (void *)lwp; in _sys_clone()
3454 if (lwp) in _sys_clone()
3570 if (!lwp) in _sys_fork()
3631 thread->lwp = (void *)lwp; in _sys_fork()
3677 if (lwp) in _sys_fork()
[all …]
/components/lwp/arch/arm/cortex-a/
A Dlwp_arch.c40 if (!lwp->aspace) in arch_user_space_init()
78 if (lwp) in arch_user_space_free()
80 RT_ASSERT(lwp->aspace); in arch_user_space_free()
86 lwp->aspace = RT_NULL; in arch_user_space_free()
213 if (lwp == RT_NULL) in arch_get_asid()
221 return lwp->asid; in arch_get_asid()
224 if (lwp->asid && !asid_valid_bitmap[lwp->asid]) in arch_get_asid()
227 return lwp->asid; in arch_get_asid()
236 lwp->asid = i; in arch_get_asid()
246 lwp->asid = 1; in arch_get_asid()
[all …]
/components/dfs/dfs_v2/filesystems/procfs/
A Dproc_pid.c72 if (lwp) in stat_single_show()
179 struct rt_lwp *lwp; in cmdline_single_show() local
209 struct rt_lwp *lwp; in proc_pid_fd_lookup() local
214 table = lwp ? &lwp->fdt : RT_NULL; in proc_pid_fd_lookup()
267 struct rt_lwp *lwp; in proc_pid_fd_getdents() local
272 LWP_LOCK(lwp); in proc_pid_fd_getdents()
273 table = lwp ? &lwp->fdt : RT_NULL; in proc_pid_fd_getdents()
316 LWP_UNLOCK(lwp); in proc_pid_fd_getdents()
340 lwp = lwp_self(); in proc_pid_exe_readlink()
341 len = rt_snprintf(buf, len, "%s", lwp ? lwp->exe_file : "null"); in proc_pid_exe_readlink()
[all …]
A Dproc_self.c28 struct rt_lwp *lwp = RT_NULL; in proc_self_readlink() local
30 lwp = lwp_self(); in proc_self_readlink()
31 if (lwp) in proc_self_readlink()
33 rt_snprintf(buf, len, "%d", lwp_to_pid(lwp)); in proc_self_readlink()
/components/lwp/arch/common/
A Dvdso.c58 static int __setup_additional_pages(enum vdso_abi abi, struct rt_lwp *lwp) in __setup_additional_pages() argument
60 RT_ASSERT(lwp != RT_NULL); in __setup_additional_pages()
69 vdso_base = lwp_map_user_phy(lwp, RT_NULL, rt_kmem_v2p((void *)vdso_data), vdso_data_len, 0); in __setup_additional_pages()
80 …vdso_base = lwp_map_user_phy(lwp, vdso_base, rt_kmem_v2p((void *)vdso_info[abi].vdso_code_start),… in __setup_additional_pages()
82 lwp->vdso_vbase = vdso_base; in __setup_additional_pages()
86 int arch_setup_additional_pages(struct rt_lwp *lwp) in arch_setup_additional_pages() argument
90 ret = __setup_additional_pages(VDSO_ABI_COMMON, lwp); in arch_setup_additional_pages()
/components/lwp/arch/aarch64/cortex-a/
A Dlwp_arch.c32 int arch_user_space_init(struct rt_lwp *lwp) in arch_user_space_init() argument
39 lwp->end_heap = USER_HEAP_VADDR; in arch_user_space_init()
40 lwp->aspace = rt_aspace_create( in arch_user_space_init()
42 if (!lwp->aspace) in arch_user_space_init()
60 void arch_user_space_free(struct rt_lwp *lwp) in arch_user_space_free() argument
62 if (lwp) in arch_user_space_free()
64 RT_ASSERT(lwp->aspace); in arch_user_space_free()
65 void *pgtbl = lwp->aspace->page_table; in arch_user_space_free()
66 rt_aspace_delete(lwp->aspace); in arch_user_space_free()
70 lwp->aspace = NULL; in arch_user_space_free()
[all …]
/components/lwp/arch/risc-v/rv64/
A Dlwp_arch.c93 int arch_user_space_init(struct rt_lwp *lwp) in arch_user_space_init() argument
103 lwp->end_heap = USER_HEAP_VADDR; in arch_user_space_init()
104 lwp->aspace = rt_aspace_create( in arch_user_space_init()
106 if (!lwp->aspace) in arch_user_space_init()
119 void arch_user_space_free(struct rt_lwp *lwp) in arch_user_space_free() argument
121 if (lwp) in arch_user_space_free()
123 RT_ASSERT(lwp->aspace); in arch_user_space_free()
125 void *pgtbl = lwp->aspace->page_table; in arch_user_space_free()
126 rt_aspace_delete(lwp->aspace); in arch_user_space_free()
130 lwp->aspace = RT_NULL; in arch_user_space_free()
[all …]
/components/lwp/terminal/
A Dtty_ctty.c30 rt_lwp_t lwp; in ctty_readlink() local
32 lwp = lwp_self(); in ctty_readlink()
33 if (lwp) in ctty_readlink()
35 pgrp = lwp->pgrp; in ctty_readlink()
46 if (lwp->pgrp == pgrp && pgrp->session == sess && sess->ctty == tp) in ctty_readlink()
/components/lwp/arch/x86/i386/
A Dlwp_arch.c81 int arch_user_space_init(struct rt_lwp *lwp) in arch_user_space_init() argument
92 lwp->end_heap = USER_HEAP_VADDR; in arch_user_space_init()
96 …if (rt_hw_mmu_map_init(&lwp->mmu_info, (void*)USER_VADDR_START, USER_VADDR_TOP - USER_VADDR_START,… in arch_user_space_init()
109 void arch_user_space_vtable_free(struct rt_lwp *lwp) in arch_user_space_vtable_free() argument
111 if (lwp && lwp->mmu_info.vtable) in arch_user_space_vtable_free()
113 rt_pages_free(lwp->mmu_info.vtable, 0); in arch_user_space_vtable_free()
114 lwp->mmu_info.vtable = NULL; in arch_user_space_vtable_free()
128 if (!cur->lwp) /* no lwp, don't get thread idr from tls seg */ in arch_get_tidr()
136 if (!cur->lwp) /* no lwp, don't set thread idr to tls seg */ in arch_set_tidr()
/components/libc/posix/io/signalfd/
A Dsignalfd.c35 struct rt_lwp *lwp[SIGNALFD_SHART_MAX]; member
231 if (sfd->lwp[i]) in signalfd_add_notify()
233 if (sfd->lwp[i] == lwp_self()) in signalfd_add_notify()
242 sfd->lwp[is_head_init] = lwp_self(); in signalfd_add_notify()
246 rt_slist_init(&sfd->lwp[is_head_init]->signalfd_notify_head); in signalfd_add_notify()
254 … rt_slist_append(&sfd->lwp[is_head_init]->signalfd_notify_head, &(lwp_notify->list_node)); in signalfd_add_notify()
261 rt_slist_for_each(node, &sfd->lwp[is_head_init]->signalfd_notify_head) in signalfd_add_notify()
264 rt_slist_remove(&sfd->lwp[is_head_init]->signalfd_notify_head, &n->list_node); in signalfd_add_notify()
311 sfd->lwp[i] = RT_NULL; in signalfd_do()

Completed in 61 milliseconds

12