| /openbsd-src/sys/arch/powerpc/powerpc/ |
| H A D | fpu.c | 46 struct pcb *pcb = &p->p_addr->u_pcb; in enable_fpu() local 50 if (!(pcb->pcb_flags & PCB_FPU)) { in enable_fpu() 51 bzero(&pcb->pcb_fpu, sizeof pcb->pcb_fpu); in enable_fpu() 52 pcb->pcb_flags |= PCB_FPU; in enable_fpu() 55 if (pcb->pcb_fpcpu != NULL || ci->ci_fpuproc != NULL) { in enable_fpu() 57 " fpproc %p\n", pcb->pcb_fpcpu, ci->ci_fpuproc); in enable_fpu() 63 asm volatile ("lfd 0,0(%0); mtfsf 0xff,0" :: "b"(&pcb->pcb_fpu.fpcsr)); in enable_fpu() 95 "lfd 31,248(%0)" :: "b"(&pcb->pcb_fpu.fpr[0])); in enable_fpu() 97 pcb->pcb_fpcpu = ci; in enable_fpu() 107 struct pcb *pcb; in save_fpu() local [all …]
|
| H A D | process_machdep.c | 50 struct pcb *pcb = &p->p_addr->u_pcb; in process_read_regs() local 54 if (!(pcb->pcb_flags & PCB_FPU)) { in process_read_regs() 60 bcopy(pcb->pcb_fpu.fpr, regs->fpr, sizeof(regs->fpr)); in process_read_regs() 78 struct pcb *pcb = &p->p_addr->u_pcb; in process_read_fpregs() local 80 if (!(pcb->pcb_flags & PCB_FPU)) { in process_read_fpregs() 87 bcopy(pcb->pcb_fpu.fpr, regs->fpr, sizeof(regs->fpr)); in process_read_fpregs() 88 regs->fpscr = *(u_int64_t *)&pcb->pcb_fpu.fpcsr; in process_read_fpregs() 125 struct pcb *pcb = &p->p_addr->u_pcb; in process_write_regs() local 138 bcopy(regs->fpr, pcb->pcb_fpu.fpr, sizeof(regs->fpr)); in process_write_regs() 139 if (!(pcb->pcb_flags & PCB_FPU)) { in process_write_regs() [all …]
|
| H A D | vm_machdep.c | 61 struct pcb *pcb = &p2->p_addr->u_pcb; in cpu_fork() local 66 *pcb = p1->p_addr->u_pcb; in cpu_fork() 72 pcb->pcb_vr = pool_get(&ppc_vecpl, PR_WAITOK); in cpu_fork() 73 *pcb->pcb_vr = *p1->p_addr->u_pcb.pcb_vr; in cpu_fork() 75 pcb->pcb_vr = NULL; in cpu_fork() 79 pcb->pcb_pm = p2->p_vmspace->vm_map.pmap; in cpu_fork() 82 (vaddr_t)pcb->pcb_pm, (paddr_t *)&pcb->pcb_pmreal); in cpu_fork() 129 pcb->pcb_sp = (int)stktop2; in cpu_fork() 146 struct pcb *pcb = &p->p_addr->u_pcb; in cpu_exit() local 157 if (pcb->pcb_vr != NULL) in cpu_exit() [all …]
|
| /openbsd-src/gnu/usr.bin/binutils/gdb/ |
| H A D | i386obsd-nat.c | 42 i386obsd_supply_pcb (struct regcache *regcache, struct pcb *pcb) in i386obsd_supply_pcb() argument 66 if (pcb->pcb_esp == 0) in i386obsd_supply_pcb() 69 if ((pcb->pcb_flags & PCB_SAVECTX) == 0) in i386obsd_supply_pcb() 72 read_memory (pcb->pcb_esp, (char *) &sf, sizeof sf); in i386obsd_supply_pcb() 73 pcb->pcb_esp += sizeof (struct switchframe); in i386obsd_supply_pcb() 82 pcb->pcb_esp = pcb->pcb_ebp; in i386obsd_supply_pcb() 83 pcb->pcb_ebp = read_memory_integer(pcb->pcb_esp, 4); in i386obsd_supply_pcb() 84 sf.sf_eip = read_memory_integer(pcb->pcb_esp + 4, 4); in i386obsd_supply_pcb() 88 regcache_raw_supply (regcache, I386_EBP_REGNUM, &pcb->pcb_ebp); in i386obsd_supply_pcb() 89 regcache_raw_supply (regcache, I386_ESP_REGNUM, &pcb->pcb_esp); in i386obsd_supply_pcb()
|
| H A D | amd64fbsd-nat.c | 104 amd64fbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb) in amd64fbsd_supply_pcb() argument 116 if (pcb->pcb_rsp == 0) in amd64fbsd_supply_pcb() 119 pcb->pcb_rsp += 8; in amd64fbsd_supply_pcb() 120 regcache_raw_supply (regcache, AMD64_RIP_REGNUM, &pcb->pcb_rip); in amd64fbsd_supply_pcb() 121 regcache_raw_supply (regcache, AMD64_RBX_REGNUM, &pcb->pcb_rbx); in amd64fbsd_supply_pcb() 122 regcache_raw_supply (regcache, AMD64_RSP_REGNUM, &pcb->pcb_rsp); in amd64fbsd_supply_pcb() 123 regcache_raw_supply (regcache, AMD64_RBP_REGNUM, &pcb->pcb_rbp); in amd64fbsd_supply_pcb() 124 regcache_raw_supply (regcache, 12, &pcb->pcb_r12); in amd64fbsd_supply_pcb() 125 regcache_raw_supply (regcache, 13, &pcb->pcb_r13); in amd64fbsd_supply_pcb() 126 regcache_raw_supply (regcache, 14, &pcb->pcb_r14); in amd64fbsd_supply_pcb() [all …]
|
| H A D | sparcnbsd-nat.c | 37 sparc32nbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb) in sparc32nbsd_supply_pcb() argument 46 if (pcb->pcb_sp == 0) in sparc32nbsd_supply_pcb() 49 regcache_raw_supply (regcache, SPARC_SP_REGNUM, &pcb->pcb_sp); in sparc32nbsd_supply_pcb() 50 regcache_raw_supply (regcache, SPARC_O7_REGNUM, &pcb->pcb_pc); in sparc32nbsd_supply_pcb() 51 regcache_raw_supply (regcache, SPARC32_PSR_REGNUM, &pcb->pcb_psr); in sparc32nbsd_supply_pcb() 52 regcache_raw_supply (regcache, SPARC32_WIM_REGNUM, &pcb->pcb_wim); in sparc32nbsd_supply_pcb() 53 regcache_raw_supply (regcache, SPARC32_PC_REGNUM, &pcb->pcb_pc); in sparc32nbsd_supply_pcb() 55 sparc_supply_rwindow (regcache, pcb->pcb_sp, -1); in sparc32nbsd_supply_pcb()
|
| H A D | sparc64obsd-nat.c | 109 sparc64obsd_supply_pcb (struct regcache *regcache, struct pcb *pcb) in sparc64obsd_supply_pcb() argument 121 if (pcb->pcb_sp == 0) in sparc64obsd_supply_pcb() 126 if (pcb->pcb_pc == 0) in sparc64obsd_supply_pcb() 127 read_memory(pcb->pcb_sp + BIAS - 176 + (11 * 8), in sparc64obsd_supply_pcb() 128 (char *)&pcb->pcb_pc, sizeof pcb->pcb_pc); in sparc64obsd_supply_pcb() 130 regcache_raw_supply (regcache, SPARC_SP_REGNUM, &pcb->pcb_sp); in sparc64obsd_supply_pcb() 131 regcache_raw_supply (regcache, SPARC64_PC_REGNUM, &pcb->pcb_pc); in sparc64obsd_supply_pcb() 133 state = pcb->pcb_pstate << 8 | pcb->pcb_cwp; in sparc64obsd_supply_pcb() 136 sparc_supply_rwindow (regcache, pcb->pcb_sp, -1); in sparc64obsd_supply_pcb()
|
| H A D | i386fbsd-nat.c | 90 i386fbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb) in i386fbsd_supply_pcb() argument 102 if (pcb->pcb_esp == 0) in i386fbsd_supply_pcb() 105 pcb->pcb_esp += 4; in i386fbsd_supply_pcb() 106 regcache_raw_supply (regcache, I386_EDI_REGNUM, &pcb->pcb_edi); in i386fbsd_supply_pcb() 107 regcache_raw_supply (regcache, I386_ESI_REGNUM, &pcb->pcb_esi); in i386fbsd_supply_pcb() 108 regcache_raw_supply (regcache, I386_EBP_REGNUM, &pcb->pcb_ebp); in i386fbsd_supply_pcb() 109 regcache_raw_supply (regcache, I386_ESP_REGNUM, &pcb->pcb_esp); in i386fbsd_supply_pcb() 110 regcache_raw_supply (regcache, I386_EBX_REGNUM, &pcb->pcb_ebx); in i386fbsd_supply_pcb() 111 regcache_raw_supply (regcache, I386_EIP_REGNUM, &pcb->pcb_eip); in i386fbsd_supply_pcb() 112 regcache_raw_supply (regcache, I386_GS_REGNUM, &pcb->pcb_gs); in i386fbsd_supply_pcb()
|
| H A D | sparc64nbsd-nat.c | 138 sparc64nbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb) in sparc64nbsd_supply_pcb() argument 150 if (pcb->pcb_sp == 0) in sparc64nbsd_supply_pcb() 155 if (pcb->pcb_pc == 0) in sparc64nbsd_supply_pcb() 156 read_memory(pcb->pcb_sp + BIAS - 176 + (11 * 8), in sparc64nbsd_supply_pcb() 157 (char *)&pcb->pcb_pc, sizeof pcb->pcb_pc); in sparc64nbsd_supply_pcb() 159 regcache_raw_supply (regcache, SPARC_SP_REGNUM, &pcb->pcb_sp); in sparc64nbsd_supply_pcb() 160 regcache_raw_supply (regcache, SPARC64_PC_REGNUM, &pcb->pcb_pc); in sparc64nbsd_supply_pcb() 162 state = pcb->pcb_pstate << 8 | pcb->pcb_cwp; in sparc64nbsd_supply_pcb() 165 sparc_supply_rwindow (regcache, pcb->pcb_sp, -1); in sparc64nbsd_supply_pcb()
|
| H A D | amd64obsd-nat.c | 72 amd64obsd_supply_pcb (struct regcache *regcache, struct pcb *pcb) in amd64obsd_supply_pcb() argument 103 if (pcb->pcb_rsp == 0) in amd64obsd_supply_pcb() 107 read_memory (pcb->pcb_rsp, (char *) &sf, sizeof sf); in amd64obsd_supply_pcb() 108 if (sf.sf_rbp == pcb->pcb_rbp) in amd64obsd_supply_pcb() 111 pcb->pcb_rsp += sizeof (struct switchframe); in amd64obsd_supply_pcb() 122 pcb->pcb_rsp += 8; in amd64obsd_supply_pcb() 126 regcache_raw_supply (regcache, AMD64_RSP_REGNUM, &pcb->pcb_rsp); in amd64obsd_supply_pcb() 127 regcache_raw_supply (regcache, AMD64_RBP_REGNUM, &pcb->pcb_rbp); in amd64obsd_supply_pcb()
|
| H A D | i386nbsd-nat.c | 39 i386nbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb) in i386nbsd_supply_pcb() argument 60 if (pcb->pcb_esp == 0) in i386nbsd_supply_pcb() 66 read_memory (pcb->pcb_esp, (char *) &sf, sizeof sf); in i386nbsd_supply_pcb() 70 pcb->pcb_esp += sizeof (struct switchframe); in i386nbsd_supply_pcb() 79 pcb->pcb_esp += 4; in i386nbsd_supply_pcb() 83 regcache_raw_supply (regcache, I386_EBP_REGNUM, &pcb->pcb_ebp); in i386nbsd_supply_pcb() 84 regcache_raw_supply (regcache, I386_ESP_REGNUM, &pcb->pcb_esp); in i386nbsd_supply_pcb()
|
| H A D | bsd-kvm.c | 48 struct pcb *bsd_kvm_paddr; 52 int (*bsd_kvm_supply_pcb)(struct regcache *regcache, struct pcb *pcb); 122 bsd_kvm_fetch_pcb (struct pcb *paddr) in bsd_kvm_fetch_pcb() 124 struct pcb pcb; in bsd_kvm_fetch_pcb() local 126 if (kvm_read (core_kd, (unsigned long) paddr, &pcb, sizeof pcb) == -1) in bsd_kvm_fetch_pcb() 130 return bsd_kvm_supply_pcb (current_regcache, &pcb); in bsd_kvm_fetch_pcb() 156 if (bsd_kvm_fetch_pcb ((struct pcb *) nl[0].n_value)) in bsd_kvm_fetch_registers() 172 struct pcb *paddr; in bsd_kvm_fetch_registers() 196 struct pcb *paddr; in bsd_kvm_fetch_registers() 262 bsd_kvm_paddr = (struct pcb *) parse_and_eval_address (arg); in bsd_kvm_pcb_cmd() [all …]
|
| H A D | vaxbsd-nat.c | 107 vaxbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb) in vaxbsd_supply_pcb() argument 117 if (pcb->KSP == 0) in vaxbsd_supply_pcb() 121 regcache_raw_supply (regcache, regnum, &pcb->R[regnum - VAX_R0_REGNUM]); in vaxbsd_supply_pcb() 122 regcache_raw_supply (regcache, VAX_AP_REGNUM, &pcb->AP); in vaxbsd_supply_pcb() 123 regcache_raw_supply (regcache, VAX_FP_REGNUM, &pcb->FP); in vaxbsd_supply_pcb() 124 regcache_raw_supply (regcache, VAX_SP_REGNUM, &pcb->KSP); in vaxbsd_supply_pcb() 125 regcache_raw_supply (regcache, VAX_PC_REGNUM, &pcb->PC); in vaxbsd_supply_pcb() 126 regcache_raw_supply (regcache, VAX_PS_REGNUM, &pcb->PSL); in vaxbsd_supply_pcb()
|
| H A D | ns32knbsd-nat.c | 201 fetch_kcore_registers (struct pcb *pcb) in fetch_kcore_registers() argument 208 if (target_read_memory ((CORE_ADDR) pcb->pcb_ksp, (char *) &sf, sizeof sf)) in fetch_kcore_registers() 212 if (target_read_memory ((CORE_ADDR) pcb->pcb_onstack, (char *) &intreg, sizeof intreg)) in fetch_kcore_registers() 225 dummy = pcb->pcb_kfp + 8; in fetch_kcore_registers() 232 RF (FPS_REGNUM, pcb->pcb_fsr); in fetch_kcore_registers() 233 RF (FP0_REGNUM + 0, pcb->pcb_freg[0]); in fetch_kcore_registers() 234 RF (FP0_REGNUM + 2, pcb->pcb_freg[2]); in fetch_kcore_registers() 235 RF (FP0_REGNUM + 4, pcb->pcb_freg[4]); in fetch_kcore_registers() 236 RF (FP0_REGNUM + 6, pcb->pcb_freg[6]); in fetch_kcore_registers() 237 RF (LP0_REGNUM + 1, pcb->pcb_freg[1]); in fetch_kcore_registers() [all …]
|
| /openbsd-src/sys/arch/arm/arm/ |
| H A D | vfp.c | 87 struct pcb *pcb = curpcb; in vfp_save() local 102 if (pcb->pcb_fpcpu == NULL || ci->ci_fpuproc == NULL || in vfp_save() 103 !(pcb->pcb_fpcpu == ci && ci->ci_fpuproc == p)) { in vfp_save() 107 …panic("FPU unit enabled when curproc and curcpu dont agree %p %p %p %p", pcb->pcb_fpcpu, ci, ci->c… in vfp_save() 138 struct pcb *pcb = &p->p_addr->u_pcb; in vfp_load() local 160 : "=&r" (scratch) : "r" (&pcb->pcb_fpstate)); in vfp_load() 163 pcb->pcb_fpcpu = ci; in vfp_load() 176 struct pcb *pcb = &p->p_addr->u_pcb; in vfp_fault() local 187 if ((pcb->pcb_flags & PCB_FPU) == 0) { in vfp_fault() 188 pcb->pcb_flags |= PCB_FPU; in vfp_fault() [all …]
|
| H A D | sig_machdep.c | 81 struct pcb *pcb = &p->p_addr->u_pcb; in sendsig() local 132 frame.sf_sc.sc_fpused = pcb->pcb_flags & PCB_FPU; in sendsig() 134 frame.sf_sc.sc_fpscr = pcb->pcb_fpstate.fp_scr; in sendsig() 135 memcpy(&frame.sf_sc.sc_fpreg, &pcb->pcb_fpstate.fp_reg, in sendsig() 136 sizeof(pcb->pcb_fpstate.fp_reg)); in sendsig() 137 pcb->pcb_flags &= ~PCB_FPU; in sendsig() 138 pcb->pcb_fpcpu = NULL; in sendsig() 183 struct pcb *pcb = &p->p_addr->u_pcb; in sys_sigreturn() local 238 pcb->pcb_fpstate.fp_scr = ksc.sc_fpscr; in sys_sigreturn() 239 memcpy(&pcb->pcb_fpstate.fp_reg, &ksc.sc_fpreg, in sys_sigreturn() [all …]
|
| H A D | vm_machdep.c | 86 struct pcb *pcb = &p2->p_addr->u_pcb; in cpu_fork() local 96 *pcb = p1->p_addr->u_pcb; in cpu_fork() 102 pcb->pcb_un.un_32.pcb32_und_sp = (u_int)p2->p_addr + in cpu_fork() 104 pcb->pcb_un.un_32.pcb32_sp = (u_int)p2->p_addr + USPACE_SVC_STACK_TOP; in cpu_fork() 108 pcb->pcb_tf = tf = (struct trapframe *)pcb->pcb_un.un_32.pcb32_sp - 1; in cpu_fork() 124 pcb->pcb_un.un_32.pcb32_sp = (u_int)sf; in cpu_fork()
|
| /openbsd-src/sys/arch/arm64/arm64/ |
| H A D | fpu.c | 29 struct pcb *pcb = &p->p_addr->u_pcb; in fpu_save() 30 struct fpreg *fp = &pcb->pcb_fpstate; in fpu_save() 82 struct pcb *pcb = &p->p_addr->u_pcb; in fpu_load() 83 struct fpreg *fp = &pcb->pcb_fpstate; in fpu_load() 89 if ((pcb->pcb_flags & PCB_FPU) == 0) { in fpu_load() 91 pcb->pcb_flags |= PCB_FPU; in fpu_load() 160 struct pcb *pcb in fpu_kernel_enter() 28 struct pcb *pcb = &p->p_addr->u_pcb; fpu_save() local 80 struct pcb *pcb = &p->p_addr->u_pcb; fpu_load() local 158 struct pcb *pcb = &curproc->p_addr->u_pcb; fpu_kernel_enter() local [all...] |
| /openbsd-src/sys/arch/riscv64/riscv64/ |
| H A D | fpu.c | 40 struct pcb *pcb = &p->p_addr->u_pcb; in fpu_save() 41 struct fpreg *fp = &pcb->pcb_fpstate; in fpu_save() local 97 struct pcb *pcb = &p->p_addr->u_pcb; in fpu_load() 98 struct fpreg *fp = &pcb->pcb_fpstate; in fpu_load() local 100 KASSERT((pcb->pcb_tf->tf_sstatus & SSTATUS_FS_MASK) == SSTATUS_FS_OFF); in fpu_load() 102 if ((pcb->pcb_flags & PCB_FPU) == 0) { in fpu_load() 104 pcb->pcb_flags |= PCB_FPU; in fpu_load()
|
| /openbsd-src/sys/arch/mips64/mips64/ |
| H A D | vm_machdep.c | 68 struct pcb *pcb; in cpu_fork() local 77 pcb = &p2->p_addr->u_pcb; in cpu_fork() 102 *pcb = p1->p_addr->u_pcb; in cpu_fork() 118 pcb->pcb_context.val[11] = (pcb->pcb_regs.sr & ~SR_INT_MASK) | in cpu_fork() 121 pcb->pcb_context.val[10] = (register_t)proc_trampoline; in cpu_fork() 122 pcb->pcb_context.val[8] = (register_t)pcb + in cpu_fork() 124 pcb->pcb_context.val[1] = (register_t)arg; in cpu_fork() 125 pcb->pcb_context.val[0] = (register_t)func; in cpu_fork()
|
| /openbsd-src/sys/arch/sh/sh/ |
| H A D | vm_machdep.c | 139 struct pcb *pcb; in cpu_fork() local 152 pcb = NULL; /* XXXGCC: -Wuninitialized */ in cpu_fork() 161 pcb = (struct pcb *)P1ADDR((vaddr_t)&p2->p_addr->u_pcb); in cpu_fork() 166 pcb = &p2->p_addr->u_pcb; in cpu_fork() 169 p2->p_md.md_pcb = pcb; in cpu_fork() 170 fptop = (vaddr_t)pcb + PAGE_SIZE; in cpu_fork() 200 memset(&pcb->pcb_sf, 0xb4, sizeof(struct switchframe)); in cpu_fork() 218 sf = &pcb->pcb_sf; in cpu_fork() 241 bcopy(&p1->p_md.md_pcb->pcb_fp, &pcb->pcb_fp, in cpu_fork()
|
| /openbsd-src/gnu/llvm/lldb/source/Plugins/Process/FreeBSDKernel/ |
| H A D | RegisterContextFreeBSDKernel_arm64.cpp | 50 } pcb; in ReadRegister() local 54 m_thread.GetProcess()->ReadMemory(m_pcb_addr, &pcb, sizeof(pcb), error); in ReadRegister() 55 if (rd != sizeof(pcb)) in ReadRegister() 92 value = pcb.x[reg - gpr_x0_arm64]; in ReadRegister() 95 value = pcb.sp; in ReadRegister() 99 value = pcb.lr; in ReadRegister()
|
| /openbsd-src/sys/arch/amd64/amd64/ |
| H A D | vm_machdep.c | 60 * Copy and update the kernel stack and pcb, making the child 69 struct pcb *pcb = &p2->p_addr->u_pcb; in cpu_fork() local 70 struct pcb *pcb1 = &p1->p_addr->u_pcb; in cpu_fork() 74 /* Save the fpu h/w state to p1's pcb so that we can copy it. */ in cpu_fork() 84 *pcb = *pcb1; in cpu_fork() 92 pcb->pcb_kstack = (u_int64_t)p2->p_addr + USPACE - 16 - in cpu_fork() 98 p2->p_md.md_regs = tf = (struct trapframe *)pcb->pcb_kstack - 1; in cpu_fork() 109 pcb->pcb_fsbase = (u_int64_t)tcb; in cpu_fork() 115 pcb in cpu_fork() [all...] |
| /openbsd-src/sys/arch/powerpc64/powerpc64/ |
| H A D | process_machdep.c | 51 struct pcb *pcb = &p->p_addr->u_pcb; in process_read_fpregs() local 58 if (pcb->pcb_flags & (PCB_FPU|PCB_VEC|PCB_VSX)) in process_read_fpregs() 59 memcpy(regs, &pcb->pcb_fpstate, sizeof(*regs)); in process_read_fpregs() 123 struct pcb *pcb = &p->p_addr->u_pcb; in process_write_fpregs() local 126 memcpy(&pcb->pcb_fpstate, regs, sizeof(*regs)); in process_write_fpregs() 127 pcb->pcb_flags |= (PCB_FPU|PCB_VEC|PCB_VSX); in process_write_fpregs()
|
| H A D | vm_machdep.c | 71 struct pcb *pcb = &p2->p_addr->u_pcb; in cpu_fork() local 72 struct pcb *pcb1 = &p1->p_addr->u_pcb; in cpu_fork() 86 *pcb = p1->p_addr->u_pcb; in cpu_fork() 89 memset(&pcb->pcb_slb, 0, sizeof(pcb->pcb_slb)); in cpu_fork() 91 pmap_extract(pmap_kernel(), (vaddr_t)&pcb->pcb_slb, in cpu_fork() 113 pcb->pcb_sp = (register_t)sf; in cpu_fork()
|