Home
last modified time | relevance | path

Searched refs:v_regs (Results 1 - 18 of 18) sorted by relevance

/kernel/linux/linux-5.10/arch/powerpc/kernel/
H A Dsignal_64.c95 /* When CONFIG_ALTIVEC is set, we _always_ setup v_regs even if the in setup_sigcontext()
101 * v_regs pointer or not in setup_sigcontext()
104 elf_vrreg_t __user *v_regs = sigcontext_vmx_regs(sc); in setup_sigcontext() local
116 err |= __put_user(v_regs, &sc->v_regs); in setup_sigcontext()
122 err |= __copy_to_user(v_regs, &tsk->thread.vr_state, in setup_sigcontext()
138 err |= __put_user(vrsave, (u32 __user *)&v_regs[33]); in setup_sigcontext()
140 err |= __put_user(0, &sc->v_regs); in setup_sigcontext()
154 * then out to userspace. Update v_regs to point after the in setup_sigcontext()
159 v_regs in setup_sigcontext()
207 elf_vrreg_t __user *v_regs = sigcontext_vmx_regs(sc); setup_tm_sigcontexts() local
325 elf_vrreg_t __user *v_regs; restore_sigcontext() local
423 elf_vrreg_t __user *v_regs, *tm_v_regs; restore_tm_sigcontexts() local
[all...]
/kernel/linux/linux-6.6/arch/powerpc/kernel/
H A Dsignal_64.c118 /* When CONFIG_ALTIVEC is set, we _always_ setup v_regs even if the in __unsafe_setup_sigcontext()
124 * v_regs pointer or not in __unsafe_setup_sigcontext()
127 elf_vrreg_t __user *v_regs = sigcontext_vmx_regs(sc); in __unsafe_setup_sigcontext() local
137 unsafe_put_user(v_regs, &sc->v_regs, efault_out); in __unsafe_setup_sigcontext()
142 unsafe_copy_to_user(v_regs, &tsk->thread.vr_state, in __unsafe_setup_sigcontext()
152 unsafe_put_user(tsk->thread.vrsave, (u32 __user *)&v_regs[33], efault_out); in __unsafe_setup_sigcontext()
154 unsafe_put_user(0, &sc->v_regs, efault_out); in __unsafe_setup_sigcontext()
167 * then out to userspace. Update v_regs to point after the in __unsafe_setup_sigcontext()
171 v_regs in __unsafe_setup_sigcontext()
221 elf_vrreg_t __user *v_regs = sigcontext_vmx_regs(sc); setup_tm_sigcontexts() local
341 elf_vrreg_t __user *v_regs; __unsafe_restore_sigcontext() local
442 elf_vrreg_t __user *v_regs, *tm_v_regs; restore_tm_sigcontexts() local
[all...]
/kernel/linux/linux-5.10/tools/testing/selftests/powerpc/math/
H A Dvmx_signal.c51 if (memcmp(mc->v_regs->vrregs[i], &varray[i - 20], 16)) { in signal_vmx_sig()
62 printf("%d | 0x%04x%04x%04x%04x | 0x%04x%04x%04x%04x\n", j, mc->v_regs->vrregs[j][0], in signal_vmx_sig()
63 mc->v_regs->vrregs[j][1], mc->v_regs->vrregs[j][2], mc->v_regs->vrregs[j][3], in signal_vmx_sig()
/kernel/linux/linux-6.6/tools/testing/selftests/powerpc/math/
H A Dvmx_signal.c51 if (memcmp(mc->v_regs->vrregs[i], &varray[i - 20], 16)) { in signal_vmx_sig()
62 printf("%d | 0x%04x%04x%04x%04x | 0x%04x%04x%04x%04x\n", j, mc->v_regs->vrregs[j][0], in signal_vmx_sig()
63 mc->v_regs->vrregs[j][1], mc->v_regs->vrregs[j][2], mc->v_regs->vrregs[j][3], in signal_vmx_sig()
/kernel/linux/linux-5.10/tools/testing/selftests/powerpc/tm/
H A Dtm-signal-context-chk-vmx.c64 fail = memcmp(ucp->uc_mcontext.v_regs->vrregs[VMX20 + i], in signal_usr1()
71 printf("%08x", ucp->uc_mcontext.v_regs->vrregs[VMX20 + i][j]); in signal_usr1()
82 fail = memcmp(tm_ucp->uc_mcontext.v_regs->vrregs[VMX20 + i], in signal_usr1()
89 printf("%08x", tm_ucp->uc_mcontext.v_regs->vrregs[VMX20 + i][j]); in signal_usr1()
H A Dtm-signal-pagefault.c204 ucp->uc_mcontext.v_regs = in signal_handler()
205 get_uf_mem(sizeof(elf_vrreg_t), ucp->uc_mcontext.v_regs); in signal_handler()
207 ucp->uc_link->uc_mcontext.v_regs = in signal_handler()
208 get_uf_mem(sizeof(elf_vrreg_t), ucp->uc_link->uc_mcontext.v_regs); in signal_handler()
H A Dtm-signal-context-chk-vsx.c75 * half vsr32-63 too) are stored right after the v_regs pointer, in an in signal_usr1()
85 * v_regs is a 16 byte aligned pointer at the start of vmx_reserve in signal_usr1()
86 * (vmx_reserve may or may not be 16 aligned) where the v_regs structure in signal_usr1()
87 * exists, so v_regs points to where vr0-31 / vsr32-63 registers are in signal_usr1()
88 * fully stored. Since v_regs type is elf_vrregset_t, v_regs + 1 in signal_usr1()
90 * part of one VSX half, i.e. v_regs + 1 points to the least significant in signal_usr1()
96 long *vsx_ptr = (long *)(ucp->uc_mcontext.v_regs + 1); in signal_usr1()
97 long *tm_vsx_ptr = (long *)(tm_ucp->uc_mcontext.v_regs + 1); in signal_usr1()
/kernel/linux/linux-6.6/tools/testing/selftests/powerpc/tm/
H A Dtm-signal-context-chk-vmx.c64 fail = memcmp(ucp->uc_mcontext.v_regs->vrregs[VMX20 + i], in signal_usr1()
71 printf("%08x", ucp->uc_mcontext.v_regs->vrregs[VMX20 + i][j]); in signal_usr1()
82 fail = memcmp(tm_ucp->uc_mcontext.v_regs->vrregs[VMX20 + i], in signal_usr1()
89 printf("%08x", tm_ucp->uc_mcontext.v_regs->vrregs[VMX20 + i][j]); in signal_usr1()
H A Dtm-signal-pagefault.c204 ucp->uc_mcontext.v_regs = in signal_handler()
205 get_uf_mem(sizeof(elf_vrreg_t), ucp->uc_mcontext.v_regs); in signal_handler()
207 ucp->uc_link->uc_mcontext.v_regs = in signal_handler()
208 get_uf_mem(sizeof(elf_vrreg_t), ucp->uc_link->uc_mcontext.v_regs); in signal_handler()
H A Dtm-signal-context-chk-vsx.c75 * half vsr32-63 too) are stored right after the v_regs pointer, in an in signal_usr1()
85 * v_regs is a 16 byte aligned pointer at the start of vmx_reserve in signal_usr1()
86 * (vmx_reserve may or may not be 16 aligned) where the v_regs structure in signal_usr1()
87 * exists, so v_regs points to where vr0-31 / vsr32-63 registers are in signal_usr1()
88 * fully stored. Since v_regs type is elf_vrregset_t, v_regs + 1 in signal_usr1()
90 * part of one VSX half, i.e. v_regs + 1 points to the least significant in signal_usr1()
96 long *vsx_ptr = (long *)(ucp->uc_mcontext.v_regs + 1); in signal_usr1()
97 long *tm_vsx_ptr = (long *)(tm_ucp->uc_mcontext.v_regs + 1); in signal_usr1()
/kernel/linux/linux-5.10/drivers/video/fbdev/
H A Dcarminefb.c55 void __iomem *v_regs; member
154 writel(val, hw->v_regs + offset); in c_set_hw_reg()
160 return readl(hw->v_regs + offset); in c_get_hw_reg()
636 hw->v_regs = ioremap(carminefb_fix.mmio_start, in carminefb_probe()
638 if (!hw->v_regs) { in carminefb_probe()
680 ret = alloc_carmine_fb(hw->v_regs + CARMINE_DISP0_REG, in carminefb_probe()
691 ret = alloc_carmine_fb(hw->v_regs + CARMINE_DISP1_REG, in carminefb_probe()
714 iounmap(hw->v_regs); in carminefb_probe()
746 iounmap(hw->v_regs); in carminefb_remove()
H A Dpm2fb.c89 unsigned char __iomem *v_regs;/* virtual address of p_regs */ member
146 return fb_readl(p->v_regs + off); in pm2_RD()
151 fb_writel(v, p->v_regs + off); in pm2_WR()
1572 default_par->v_regs = in pm2fb_probe()
1574 if (!default_par->v_regs) { in pm2fb_probe()
1712 iounmap(default_par->v_regs); in pm2fb_probe()
1738 iounmap(par->v_regs); in pm2fb_remove()
H A Dpm3fb.c68 unsigned char __iomem *v_regs;/* virtual address of p_regs */ member
96 return fb_readl(par->v_regs + off); in PM3_READ_REG()
101 fb_writel(v, par->v_regs + off); in PM3_WRITE_REG()
1349 par->v_regs = in pm3fb_probe()
1351 if (!par->v_regs) { in pm3fb_probe()
1450 iounmap(par->v_regs); in pm3fb_probe()
1474 iounmap(par->v_regs); in pm3fb_remove()
/kernel/linux/linux-6.6/drivers/video/fbdev/
H A Dcarminefb.c56 void __iomem *v_regs; member
155 writel(val, hw->v_regs + offset); in c_set_hw_reg()
161 return readl(hw->v_regs + offset); in c_get_hw_reg()
637 hw->v_regs = ioremap(carminefb_fix.mmio_start, in carminefb_probe()
639 if (!hw->v_regs) { in carminefb_probe()
681 ret = alloc_carmine_fb(hw->v_regs + CARMINE_DISP0_REG, in carminefb_probe()
692 ret = alloc_carmine_fb(hw->v_regs + CARMINE_DISP1_REG, in carminefb_probe()
715 iounmap(hw->v_regs); in carminefb_probe()
747 iounmap(hw->v_regs); in carminefb_remove()
H A Dpm2fb.c90 unsigned char __iomem *v_regs;/* virtual address of p_regs */ member
147 return fb_readl(p->v_regs + off); in pm2_RD()
152 fb_writel(v, p->v_regs + off); in pm2_WR()
1576 default_par->v_regs = in pm2fb_probe()
1578 if (!default_par->v_regs) { in pm2fb_probe()
1715 iounmap(default_par->v_regs); in pm2fb_probe()
1739 iounmap(par->v_regs); in pm2fb_remove()
H A Dpm3fb.c69 unsigned char __iomem *v_regs;/* virtual address of p_regs */ member
97 return fb_readl(par->v_regs + off); in PM3_READ_REG()
102 fb_writel(v, par->v_regs + off); in PM3_WRITE_REG()
1354 par->v_regs = in pm3fb_probe()
1356 if (!par->v_regs) { in pm3fb_probe()
1454 iounmap(par->v_regs); in pm3fb_probe()
1478 iounmap(par->v_regs); in pm3fb_remove()
/kernel/linux/linux-5.10/arch/powerpc/include/uapi/asm/
H A Dsigcontext.h35 * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t)
43 * The pointer (v_regs) of vector type (elf_vrreg_t) is type compatible with
87 elf_vrreg_t __user *v_regs; member
/kernel/linux/linux-6.6/arch/powerpc/include/uapi/asm/
H A Dsigcontext.h35 * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t)
43 * The pointer (v_regs) of vector type (elf_vrreg_t) is type compatible with
87 elf_vrreg_t __user *v_regs; member

Completed in 21 milliseconds