Lines Matching +full:ecx +full:- +full:2000

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (c) 2000 Marcel Moolenaar
106 switch (args->what & 0xFFFF) { in linux_ipc()
109 return (kern_semop(td, args->arg1, PTRIN(args->ptr), in linux_ipc()
110 args->arg2, NULL)); in linux_ipc()
115 a.key = args->arg1; in linux_ipc()
116 a.nsems = args->arg2; in linux_ipc()
117 a.semflg = args->arg3; in linux_ipc()
124 a.semid = args->arg1; in linux_ipc()
125 a.semnum = args->arg2; in linux_ipc()
126 a.cmd = args->arg3; in linux_ipc()
127 error = copyin(PTRIN(args->ptr), &a.arg, sizeof(a.arg)); in linux_ipc()
135 a.semid = args->arg1; in linux_ipc()
136 a.tsops = PTRIN(args->ptr); in linux_ipc()
137 a.nsops = args->arg2; in linux_ipc()
138 a.timeout = PTRIN(args->arg5); in linux_ipc()
144 a.msqid = args->arg1; in linux_ipc()
145 a.msgp = PTRIN(args->ptr); in linux_ipc()
146 a.msgsz = args->arg2; in linux_ipc()
147 a.msgflg = args->arg3; in linux_ipc()
153 a.msqid = args->arg1; in linux_ipc()
154 a.msgsz = args->arg2; in linux_ipc()
155 a.msgflg = args->arg3; in linux_ipc()
156 if ((args->what >> 16) == 0) { in linux_ipc()
160 if (args->ptr == 0) in linux_ipc()
162 error = copyin(PTRIN(args->ptr), &tmp, sizeof(tmp)); in linux_ipc()
168 a.msgp = PTRIN(args->ptr); in linux_ipc()
169 a.msgtyp = args->arg5; in linux_ipc()
176 a.key = args->arg1; in linux_ipc()
177 a.msgflg = args->arg2; in linux_ipc()
183 a.msqid = args->arg1; in linux_ipc()
184 a.cmd = args->arg2; in linux_ipc()
185 a.buf = PTRIN(args->ptr); in linux_ipc()
193 a.shmid = args->arg1; in linux_ipc()
194 a.shmaddr = PTRIN(args->ptr); in linux_ipc()
195 a.shmflg = args->arg2; in linux_ipc()
199 addr = td->td_retval[0]; in linux_ipc()
200 error = copyout(&addr, PTRIN(args->arg3), sizeof(addr)); in linux_ipc()
201 td->td_retval[0] = 0; in linux_ipc()
207 a.shmaddr = PTRIN(args->ptr); in linux_ipc()
213 a.key = args->arg1; in linux_ipc()
214 a.size = args->arg2; in linux_ipc()
215 a.shmflg = args->arg3; in linux_ipc()
221 a.shmid = args->arg1; in linux_ipc()
222 a.cmd = args->arg2; in linux_ipc()
223 a.buf = PTRIN(args->ptr); in linux_ipc()
240 error = copyin(args->ptr, &linux_args, sizeof(linux_args)); in linux_old_select()
289 td->td_pcb->pcb_gsd = sd; in linux_set_cloned_tls()
290 td->td_pcb->pcb_gs = GSEL(GUGS_SEL, SEL_UPL); in linux_set_cloned_tls()
301 td->td_frame->tf_esp = stack; in linux_set_upcall()
307 td->td_frame->tf_eax = 0; in linux_set_upcall()
317 error = copyin(args->ptr, &linux_args, sizeof(linux_args)); in linux_mmap()
332 iia.start = args->start; in linux_ioperm()
333 iia.length = args->length; in linux_ioperm()
334 iia.enable = args->enable; in linux_ioperm()
344 if (args->level < 0 || args->level > 3) in linux_iopl()
348 if ((error = securelevel_gt(td->td_ucred, 0)) != 0) in linux_iopl()
350 td->td_frame->tf_eflags = (td->td_frame->tf_eflags & ~PSL_IOPL) | in linux_iopl()
351 (args->level * (PSL_IOPL / 3)); in linux_iopl()
364 switch (uap->func) { in linux_modify_ldt()
367 ldt.descs = uap->ptr; in linux_modify_ldt()
368 ldt.num = uap->bytecount / sizeof(union descriptor); in linux_modify_ldt()
370 td->td_retval[0] *= sizeof(union descriptor); in linux_modify_ldt()
374 if (size > uap->bytecount) in linux_modify_ldt()
375 size = uap->bytecount; in linux_modify_ldt()
377 error = subyte((char *)uap->ptr + written, 0); in linux_modify_ldt()
378 td->td_retval[0] = written; in linux_modify_ldt()
382 if (uap->bytecount != sizeof(ld)) in linux_modify_ldt()
385 error = copyin(uap->ptr, &ld, sizeof(ld)); in linux_modify_ldt()
425 if (args->nsa != NULL) { in linux_sigaction()
426 error = copyin(args->nsa, &osa, sizeof(l_osigaction_t)); in linux_sigaction()
436 error = linux_do_sigaction(td, args->sig, args->nsa ? &act : NULL, in linux_sigaction()
437 args->osa ? &oact : NULL); in linux_sigaction()
439 if (args->osa != NULL && !error) { in linux_sigaction()
444 error = copyout(&osa, args->osa, sizeof(l_osigaction_t)); in linux_sigaction()
462 mask.__mask = args->mask; in linux_sigsuspend()
470 struct proc *p = td->td_proc; in linux_pause()
474 sigmask = td->td_sigmask; in linux_pause()
488 error = copyin(args->desc, &info, sizeof(struct l_user_desc)); in linux_set_thread_area()
498 * per-thread descriptors. in linux_set_thread_area()
501 * per-thread descriptors and use just the 1st one. The tls_array[] in linux_set_thread_area()
502 * is used only in set/get-thread_area() syscalls and for loading the in linux_set_thread_area()
516 if (idx != 6 && idx != -1 && idx != 3) in linux_set_thread_area()
527 error = copyout(&info, args->desc, sizeof(struct l_user_desc)); in linux_set_thread_area()
543 td->td_pcb->pcb_gsd = sd; in linux_set_thread_area()
561 error = copyin(args->desc, &info, sizeof(struct l_user_desc)); in linux_get_thread_area()
588 error = copyout(&info, args->desc, sizeof(struct l_user_desc)); in linux_get_thread_area()
600 l_regset->ebx = b_reg->r_ebx; in bsd_to_linux_regset()
601 l_regset->ecx = b_reg->r_ecx; in bsd_to_linux_regset()
602 l_regset->edx = b_reg->r_edx; in bsd_to_linux_regset()
603 l_regset->esi = b_reg->r_esi; in bsd_to_linux_regset()
604 l_regset->edi = b_reg->r_edi; in bsd_to_linux_regset()
605 l_regset->ebp = b_reg->r_ebp; in bsd_to_linux_regset()
606 l_regset->eax = b_reg->r_eax; in bsd_to_linux_regset()
607 l_regset->ds = b_reg->r_ds; in bsd_to_linux_regset()
608 l_regset->es = b_reg->r_es; in bsd_to_linux_regset()
609 l_regset->fs = b_reg->r_fs; in bsd_to_linux_regset()
610 l_regset->gs = b_reg->r_gs; in bsd_to_linux_regset()
611 l_regset->orig_eax = b_reg->r_eax; in bsd_to_linux_regset()
612 l_regset->eip = b_reg->r_eip; in bsd_to_linux_regset()
613 l_regset->cs = b_reg->r_cs; in bsd_to_linux_regset()
614 l_regset->eflags = b_reg->r_eflags; in bsd_to_linux_regset()
615 l_regset->esp = b_reg->r_esp; in bsd_to_linux_regset()
616 l_regset->ss = b_reg->r_ss; in bsd_to_linux_regset()
642 UIO_USERSPACE, args->library); in linux_uselib()
657 error = VOP_GETATTR(vp, &attr, td->td_ucred); in linux_uselib()
661 if ((vp->v_mount->mnt_flag & MNT_NOEXEC) || in linux_uselib()
675 error = VOP_ACCESS(vp, VEXEC, td->td_ucred, td); in linux_uselib()
686 error = mac_vnode_check_open(td->td_ucred, vp, VREAD); in linux_uselib()
690 error = VOP_OPEN(vp, FREAD, td->td_ucred, td, NULL); in linux_uselib()
702 if (((a_out->a_magic >> 16) & 0xff) != 0x64) { in linux_uselib()
712 switch ((int)(a_out->a_magic & 0xffff)) { in linux_uselib()
724 bss_size = round_page(a_out->a_bss); in linux_uselib()
727 if (a_out->a_text & PAGE_MASK || a_out->a_data & PAGE_MASK) { in linux_uselib()
733 if (a_out->a_data + a_out->a_text > attr.va_size) { in linux_uselib()
740 * XXX - this is not complete. it should check current usage PLUS in linux_uselib()
743 PROC_LOCK(td->td_proc); in linux_uselib()
744 if (a_out->a_text > maxtsiz || in linux_uselib()
745 a_out->a_data + bss_size > lim_cur_proc(td->td_proc, RLIMIT_DATA) || in linux_uselib()
746 racct_set(td->td_proc, RACCT_DATA, a_out->a_data + in linux_uselib()
748 PROC_UNLOCK(td->td_proc); in linux_uselib()
752 PROC_UNLOCK(td->td_proc); in linux_uselib()
777 vmaddr = trunc_page(a_out->a_entry); in linux_uselib()
780 error = vm_map_find(&td->td_proc->p_vmspace->vm_map, NULL, 0, in linux_uselib()
781 &vmaddr, a_out->a_text + a_out->a_data, 0, VMFS_NO_SPACE, in linux_uselib()
787 a_out->a_text + a_out->a_data, UIO_USERSPACE, 0, in linux_uselib()
788 td->td_ucred, NOCRED, &aresid, td); in linux_uselib()
800 vmaddr = trunc_page(a_out->a_entry); in linux_uselib()
804 * copy-on-write "data" segment. in linux_uselib()
806 map = &td->td_proc->p_vmspace->vm_map; in linux_uselib()
808 a_out->a_text + a_out->a_data, VM_PROT_ALL, VM_PROT_ALL, in linux_uselib()
818 entry->eflags |= MAP_ENTRY_VN_EXEC; in linux_uselib()
825 vmaddr = trunc_page(a_out->a_entry) + a_out->a_text + in linux_uselib()
826 a_out->a_data; in linux_uselib()
829 error = vm_map_find(&td->td_proc->p_vmspace->vm_map, NULL, 0, in linux_uselib()
841 VOP_CLOSE(vp, FREAD, td->td_ucred, td); in linux_uselib()