| /components/lwp/ |
| A D | lwp_pid.c | 296 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 D | lwp.c | 96 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 D | lwp_pid.h | 31 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 D | lwp_user_mm.h | 57 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 D | lwp_futex.c | 34 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 D | lwp_user_mm.c | 160 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 D | lwp_signal.c | 483 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 D | lwp_args.c | 279 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 D | lwp_internal.h | 48 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 D | lwp_shm.c | 270 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 D | lwp_runtime.c | 134 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 D | lwp_elf.c | 58 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 D | lwp_itimer.c | 27 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 D | lwp_args.h | 46 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 D | lwp_signal.h | 117 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 D | lwp_syscall.c | 358 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 D | lwp_arch.c | 40 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 D | proc_pid.c | 72 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 D | proc_self.c | 28 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 D | vdso.c | 58 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 D | lwp_arch.c | 32 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 D | lwp_arch.c | 93 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 D | tty_ctty.c | 30 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 D | lwp_arch.c | 81 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 D | signalfd.c | 35 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()
|