/illumos-gate/usr/src/uts/intel/syscall/ |
H A D | getcontext.c | 97 savecontext(ucontext_t *ucp, const k_sigset_t *mask, savecontext_flags_t flags) in savecontext() argument 120 user_xsave = ucp->uc_xsave; in savecontext() 132 bzero(&ucp->uc_mcontext.fpregs, sizeof (ucontext_t) - in savecontext() 134 ucp->uc_xsave = user_xsave; in savecontext() 136 ucp->uc_flags = UC_ALL; in savecontext() 137 ucp->uc_link = (struct ucontext *)lwp->lwp_oldcontext; in savecontext() 146 copyin((void *)lwp->lwp_ustack, &ucp->uc_stack, in savecontext() 147 sizeof (ucp->uc_stack)) != 0 || in savecontext() 148 ucp->uc_stack.ss_size == 0) { in savecontext() 151 ucp->uc_stack = lwp->lwp_sigaltstack; in savecontext() [all …]
|
/illumos-gate/usr/src/uts/sparc/syscall/ |
H A D | getcontext.c | 57 savecontext(ucontext_t *ucp, const k_sigset_t *mask) in savecontext() argument 66 bzero(&ucp->uc_mcontext.fpregs.fpu_en, sizeof (ucontext_t) - in savecontext() 72 (&ucp->uc_flags)[1] = 0; in savecontext() 73 (&ucp->uc_stack.ss_flags)[1] = 0; in savecontext() 81 ucp->uc_flags = UC_ALL; in savecontext() 82 ucp->uc_link = (ucontext_t *)lwp->lwp_oldcontext; in savecontext() 91 copyin((void *)lwp->lwp_ustack, &ucp->uc_stack, in savecontext() 92 sizeof (ucp->uc_stack)) != 0 || in savecontext() 93 ucp->uc_stack.ss_size == 0) { in savecontext() 96 ucp->uc_stack = lwp->lwp_sigaltstack; in savecontext() [all …]
|
/illumos-gate/usr/src/lib/libc/i386/threads/ |
H A D | machdep.c | 88 setup_context(ucontext_t *ucp, void *(*func)(ulwp_t *), in setup_context() argument 110 (void) memset(ucp, 0, sizeof (*ucp)); in setup_context() 111 ucp->uc_mcontext.gregs[FS] = fs; in setup_context() 112 ucp->uc_mcontext.gregs[ES] = es; in setup_context() 113 ucp->uc_mcontext.gregs[DS] = ds; in setup_context() 114 ucp->uc_mcontext.gregs[CS] = cs; in setup_context() 115 ucp->uc_mcontext.gregs[SS] = ss; in setup_context() 126 ucp->uc_mcontext.gregs[ESP] = (greg_t)ulwp; in setup_context() 127 ucp->uc_mcontext.gregs[GS] = (greg_t)LWPGS_SEL; in setup_context() 137 ucp->uc_flags |= UC_CPU; in setup_context() [all …]
|
/illumos-gate/usr/src/ucblib/libucb/sparc/sys/ |
H A D | signal.c | 99 _sigvechandler(int sig, siginfo_t *sip, ucontext_t *ucp) in _sigvechandler() argument 101 ucbsigvechandler(sig, sip, ucp); in _sigvechandler() 106 ucbsigvechandler(int sig, siginfo_t *sip, ucontext_t *ucp) in ucbsigvechandler() argument 115 sc.sc_onstack = ((ucp->uc_stack.ss_flags & SS_ONSTACK) != 0); in ucbsigvechandler() 116 sc.sc_mask = set2mask(&ucp->uc_sigmask); in ucbsigvechandler() 126 ucp->uc_mcontext.gregs[REG_PC] = in ucbsigvechandler() 127 ucp->uc_mcontext.gregs[REG_nPC]; in ucbsigvechandler() 128 ucp->uc_mcontext.gregs[REG_nPC] += 4; in ucbsigvechandler() 130 sc.sc_sp = ucp->uc_mcontext.gregs[REG_SP]; in ucbsigvechandler() 131 sc.sc_pc = ucp->uc_mcontext.gregs[REG_PC]; in ucbsigvechandler() [all …]
|
/illumos-gate/usr/src/lib/libc/amd64/gen/ |
H A D | makectxt.c | 57 makecontext(ucontext_t *ucp, void (*func)(), int argc, ...) in makecontext() argument 67 ucp->uc_mcontext.gregs[REG_PC] = (greg_t)func; in makecontext() 77 sp = (long *)(((uintptr_t)ucp->uc_stack.ss_sp + in makecontext() 78 ucp->uc_stack.ss_size - size) & ~(STACK_ENTRY_ALIGN - 1)); in makecontext() 91 ucp->uc_mcontext.gregs[REG_RDI] = tmp; in makecontext() 94 ucp->uc_mcontext.gregs[REG_RSI] = tmp; in makecontext() 97 ucp->uc_mcontext.gregs[REG_RDX] = tmp; in makecontext() 100 ucp->uc_mcontext.gregs[REG_RCX] = tmp; in makecontext() 103 ucp->uc_mcontext.gregs[REG_R8] = tmp; in makecontext() 106 ucp->uc_mcontext.gregs[REG_R9] = tmp; in makecontext() [all …]
|
H A D | siglongjmp.c | 47 ucontext_t *ucp = SIGJMP2UCONTEXT(env); in siglongjmp() local 50 ucp->uc_mcontext.gregs[REG_R0] = val; in siglongjmp() 52 ucp->uc_mcontext.gregs[REG_R0] = 1; in siglongjmp() 58 (void) setcontext(ucp); in siglongjmp()
|
/illumos-gate/usr/src/cmd/csh/sparc/ |
H A D | signal.c | 65 sigvechandler(int sig, siginfo_t *sip, ucontext_t *ucp) in sigvechandler() argument 73 sc.sc_onstack = ((ucp->uc_stack.ss_flags & SS_ONSTACK) != 0); in sigvechandler() 74 sc.sc_mask = set2mask(&ucp->uc_sigmask); in sigvechandler() 79 sc.sc_sp = ucp->uc_mcontext.gregs[REG_O6]; in sigvechandler() 80 sc.sc_pc = ucp->uc_mcontext.gregs[REG_PC]; in sigvechandler() 81 sc.sc_npc = ucp->uc_mcontext.gregs[REG_nPC]; in sigvechandler() 82 sc.sc_psr = ucp->uc_mcontext.gregs[REG_PSR]; in sigvechandler() 83 sc.sc_g1 = ucp->uc_mcontext.gregs[REG_G1]; in sigvechandler() 84 sc.sc_o0 = ucp->uc_mcontext.gregs[REG_O0]; in sigvechandler() 85 if (ucp->uc_mcontext.gwins != (gwindows_t *)0) { in sigvechandler() [all …]
|
/illumos-gate/usr/src/lib/libc/amd64/threads/ |
H A D | machdep.c | 68 setup_context(ucontext_t *ucp, void *(*func)(ulwp_t *), in setup_context() argument 74 (void) memset(ucp, 0, sizeof (*ucp)); in setup_context() 77 ucp->uc_mcontext.gregs[REG_FSBASE] = (greg_t)ulwp; in setup_context() 78 ucp->uc_mcontext.gregs[REG_FS] = 0; /* null selector indicates fsbase */ in setup_context() 81 ucp->uc_mcontext.gregs[REG_SS] = UDS_SEL; in setup_context() 91 ucp->uc_flags |= UC_CPU; in setup_context() 92 ucp->uc_mcontext.gregs[REG_RDI] = (greg_t)ulwp; in setup_context() 93 ucp->uc_mcontext.gregs[REG_RIP] = (greg_t)func; in setup_context() 94 ucp->uc_mcontext.gregs[REG_RSP] = (greg_t)stack; in setup_context() 95 ucp->uc_mcontext.gregs[REG_RBP] = (greg_t)(stack + 1); in setup_context() [all …]
|
/illumos-gate/usr/src/lib/libc/i386/gen/ |
H A D | makectxt.c | 83 makecontext(ucontext_t *ucp, void (*func)(), int argc, ...) in makecontext() argument 90 ucp->uc_mcontext.gregs[EIP] = (greg_t)func; in makecontext() 94 tsp = (long *)(((uintptr_t)ucp->uc_stack.ss_sp + in makecontext() 95 ucp->uc_stack.ss_size - size) & ~(STACK_ALIGN - 1)); in makecontext() 106 ucp->uc_mcontext.gregs[UESP] = (greg_t)sp; in makecontext() 139 ucontext_t *ucp; in ucontext_alloc() local 171 ucp = calloc(1, to_alloc); in ucontext_alloc() 172 if (ucp == NULL) { in ucontext_alloc() 177 uintptr_t addr = (uintptr_t)ucp; in ucontext_alloc() 178 ucp->uc_xsave = addr + sizeof (ucontext_t); in ucontext_alloc() [all …]
|
H A D | siglongjmp.c | 50 ucontext_t *ucp = (ucontext_t *)env; in siglongjmp() local 53 ucp->uc_mcontext.gregs[EAX] = val; in siglongjmp() 55 ucp->uc_mcontext.gregs[EAX] = 1; in siglongjmp() 61 (void) setcontext(ucp); in siglongjmp()
|
/illumos-gate/usr/src/ucblib/libucb/i386/sys/ |
H A D | signal.c | 86 _sigvechandler(int sig, siginfo_t *sip, ucontext_t *ucp) in _sigvechandler() argument 89 ucbsigvechandler(sig, sip, ucp); in _sigvechandler() 93 ucbsigvechandler(int sig, siginfo_t *sip, ucontext_t *ucp) in ucbsigvechandler() argument 101 sc.sc_onstack = ((ucp->uc_stack.ss_flags & SS_ONSTACK) != 0); in ucbsigvechandler() 102 sc.sc_mask = set2mask(&ucp->uc_sigmask); in ucbsigvechandler() 105 sc.sc_sp = (long)ucp->uc_mcontext.gregs[REG_RSP]; in ucbsigvechandler() 106 sc.sc_pc = (long)ucp->uc_mcontext.gregs[REG_RIP]; in ucbsigvechandler() 107 sc.sc_ps = (long)ucp->uc_mcontext.gregs[REG_RFL]; in ucbsigvechandler() 108 sc.sc_r0 = (long)ucp->uc_mcontext.gregs[REG_RAX]; in ucbsigvechandler() 109 sc.sc_r1 = (long)ucp->uc_mcontext.gregs[REG_RDX]; in ucbsigvechandler() [all …]
|
/illumos-gate/usr/src/cmd/csh/i386/ |
H A D | signal.c | 65 sigvechandler(int sig, siginfo_t *sip, ucontext_t *ucp) in sigvechandler() argument 73 sc.sc_onstack = ((ucp->uc_stack.ss_flags & SS_ONSTACK) != 0); in sigvechandler() 74 sc.sc_mask = set2mask(&ucp->uc_sigmask); in sigvechandler() 79 sc.sc_sp = (int) ucp->uc_mcontext.gregs[UESP]; in sigvechandler() 80 sc.sc_pc = (int) ucp->uc_mcontext.gregs[EIP]; in sigvechandler() 81 sc.sc_ps = (int) ucp->uc_mcontext.gregs[EFL]; in sigvechandler() 82 sc.sc_eax = (int) ucp->uc_mcontext.gregs[EAX]; in sigvechandler() 83 sc.sc_edx = (int) ucp->uc_mcontext.gregs[EDX]; in sigvechandler() 102 ucp->uc_stack.ss_flags |= SS_ONSTACK; in sigvechandler() 104 ucp->uc_stack.ss_flags &= ~SS_ONSTACK; in sigvechandler() [all …]
|
/illumos-gate/usr/src/lib/libc/sparc/threads/ |
H A D | machdep.c | 63 setup_context(ucontext_t *ucp, void *(*func)(ulwp_t *), in setup_context() argument 69 (void) memset(ucp, 0, sizeof (*ucp)); in setup_context() 80 ucp->uc_flags |= UC_CPU; in setup_context() 81 ucp->uc_mcontext.gregs[REG_PC] = (greg_t)func; in setup_context() 82 ucp->uc_mcontext.gregs[REG_nPC] = (greg_t)func + 4; in setup_context() 83 ucp->uc_mcontext.gregs[REG_O0] = (greg_t)ulwp; in setup_context() 84 ucp->uc_mcontext.gregs[REG_SP] = (greg_t)(stack - STACK_BIAS); in setup_context() 85 ucp->uc_mcontext.gregs[REG_O7] = (greg_t)_lwp_start; in setup_context() 86 ucp->uc_mcontext.gregs[REG_G7] = (greg_t)ulwp; in setup_context()
|
/illumos-gate/usr/src/uts/common/sys/usb/hcd/uhci/ |
H A D | uhci.h | 117 #define SetQH32(ucp, addr, val) \ argument 118 SetReg32((ucp)->uhci_qh_pool_mem_handle, (addr), (val)) 119 #define GetQH32(ucp, addr) \ argument 120 GetReg32((ucp)->uhci_qh_pool_mem_handle, (addr)) 122 #define SetTD32(ucp, addr, val) \ argument 123 SetReg32((ucp)->uhci_td_pool_mem_handle, (addr), (val)) 124 #define GetTD32(ucp, addr) \ argument 125 GetReg32((ucp)->uhci_td_pool_mem_handle, (addr)) 127 #define SetFL32(ucp, addr, val) \ argument 128 SetReg32((ucp)->uhci_flt_mem_handle, (addr), (val)) [all …]
|
/illumos-gate/usr/src/lib/libc/sparc/gen/ |
H A D | makectxt.c | 55 makecontext(ucontext_t *ucp, void (*func)(), int argc, ...) in makecontext() argument 64 reg = ucp->uc_mcontext.gregs; in makecontext() 81 sp = (char *)(((uintptr_t)ucp->uc_stack.ss_sp - size) & in makecontext() 108 __makecontext_v2(ucontext_t *ucp, void (*func)(), int argc, ...) in __makecontext_v2() argument 117 reg = ucp->uc_mcontext.gregs; in __makecontext_v2() 128 sp = (char *)(((uintptr_t)ucp->uc_stack.ss_sp + in __makecontext_v2() 129 ucp->uc_stack.ss_size - size) & ~(STACK_ALIGN - 1)); in __makecontext_v2()
|
H A D | getctxt.c | 39 getcontext(ucontext_t *ucp) in getcontext() argument 43 ucp->uc_flags = UC_ALL; in getcontext() 44 if (__getcontext(ucp)) in getcontext() 54 reg = ucp->uc_mcontext.gregs; in getcontext()
|
/illumos-gate/usr/src/lib/libc/sparcv9/gen/ |
H A D | makectxt.c | 55 makecontext(ucontext_t *ucp, void (*func)(), int argc, ...) in makecontext() argument 64 reg = ucp->uc_mcontext.gregs; in makecontext() 81 sp = (char *)(((uintptr_t)ucp->uc_stack.ss_sp - size) & in makecontext() 108 __makecontext_v2(ucontext_t *ucp, void (*func)(), int argc, ...) in __makecontext_v2() argument 117 reg = ucp->uc_mcontext.gregs; in __makecontext_v2() 128 sp = (char *)(((uintptr_t)ucp->uc_stack.ss_sp + in __makecontext_v2() 129 ucp->uc_stack.ss_size - size) & ~(STACK_ALIGN - 1)); in __makecontext_v2()
|
H A D | getctxt.c | 39 getcontext(ucontext_t *ucp) in getcontext() argument 43 ucp->uc_flags = UC_ALL; in getcontext() 44 if (__getcontext(ucp)) in getcontext() 54 reg = ucp->uc_mcontext.gregs; in getcontext()
|
/illumos-gate/usr/src/lib/libc/port/gen/ |
H A D | stack.c | 83 stack_violation(int sig, const siginfo_t *sip, const ucontext_t *ucp) in stack_violation() argument 90 sip == NULL || ucp == NULL || SI_FROMUSER(sip)) in stack_violation() 96 base = (uintptr_t)ucp->uc_stack.ss_sp; in stack_violation() 97 size = ucp->uc_stack.ss_size; in stack_violation() 99 addr = ucp->uc_mcontext.gregs[REG_SP] + STACK_BIAS; in stack_violation() 101 addr = ucp->uc_mcontext.gregs[REG_SP]; in stack_violation()
|
/illumos-gate/usr/src/lib/libc/port/threads/ |
H A D | sigaction.c | 75 call_user_handler(int sig, siginfo_t *sip, ucontext_t *ucp) in call_user_handler() argument 150 ASSERT(ucp->uc_flags & UC_SIGMASK); in call_user_handler() 152 ucp->uc_sigmask = self->ul_sigmask; in call_user_handler() 158 sigorset(&uact.sa_mask, &ucp->uc_sigmask); in call_user_handler() 163 self->ul_siglink = ucp; in call_user_handler() 202 __sighndlr(sig, sip, ucp, uact.sa_sigaction); in call_user_handler() 210 if (sig == SIGFPE && ucp->uc_mcontext.fpregs.fpu_qcnt) { in call_user_handler() 211 fpregset_t *fp = &ucp->uc_mcontext.fpregs; in call_user_handler() 225 (void) setcontext(ucp); in call_user_handler() 294 ucontext_t *ucp = uvp; in sigacthandler() local [all …]
|
H A D | door_calls.c | 295 ucred_t *ucp = *uc; in door_ucred() local 297 if (ucp == NULL) { in door_ucred() 298 ucp = _ucred_alloc(); in door_ucred() 299 if (ucp == NULL) in door_ucred() 303 if (__door_ucred(ucp) != 0) { in door_ucred() 305 ucred_free(ucp); in door_ucred() 309 *uc = ucp; in door_ucred() 321 ucred_t *ucp = alloca(ucred_size()); in door_cred() local 324 if ((ret = __door_ucred(ucp)) == 0) { in door_cred() 325 dc->dc_euid = ucred_geteuid(ucp); in door_cred() [all …]
|
/illumos-gate/usr/src/lib/libc/port/sys/ |
H A D | getpeerucred.c | 37 getpeerucred(int fd, ucred_t **ucp) in getpeerucred() argument 39 ucred_t *uc = *ucp; in getpeerucred() 48 if (*ucp == NULL) in getpeerucred() 52 *ucp = uc; in getpeerucred()
|
/illumos-gate/usr/src/test/os-tests/tests/i386/ |
H A D | badseg_exec.c | 61 ucontext_t ucp; in resetseg() local 64 int rc = getcontext(&ucp); in resetseg() 66 (void) getcontext(&ucp); in resetseg() 72 ucp.uc_mcontext.gregs[seg] = selector; in resetseg() 73 (void) setcontext(&ucp); in resetseg()
|
/illumos-gate/usr/src/cmd/mdb/intel/amd64/kmdb/ |
H A D | kmdb_makecontext.c | 41 kmdb_makecontext(ucontext_t *ucp, void (*func)(void *), void *arg, caddr_t stk, in kmdb_makecontext() argument 49 ucp->uc_mcontext.gregs[REG_PC] = (greg_t)func; in kmdb_makecontext() 50 ucp->uc_mcontext.gregs[REG_SP] = (greg_t)stack; in kmdb_makecontext() 51 ucp->uc_mcontext.gregs[REG_RDI] = (greg_t)arg; in kmdb_makecontext()
|
/illumos-gate/usr/src/cmd/ldapcachemgr/ |
H A D | cachemgr.c | 76 int is_root_or_all_privs(char *dc_str, ucred_t **ucp); 1358 is_root(int free_uc, char *dc_str, ucred_t **ucp) argument 1362 if (door_ucred(ucp) != 0) { 1371 if (ucred_geteuid(*ucp) != 0) { 1376 "unavailable)\n", dc_str, ucred_getpid(*ucp), 1377 ucred_getruid(*ucp), ucred_geteuid(*ucp), -1); 1385 dc_str, ucred_getpid(*ucp), ucred_getruid(*ucp), 1386 ucred_geteuid(*ucp), -1); 1391 ucred_free(*ucp); 1816 is_root_or_all_privs(char *dc_str, ucred_t **ucp) argument [all …]
|