/kernel/linux/linux-5.10/arch/powerpc/kernel/ |
H A D | signal_64.c | 95 /* 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 D | signal_64.c | 118 /* 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 D | vmx_signal.c | 51 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 D | vmx_signal.c | 51 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 D | tm-signal-context-chk-vmx.c | 64 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 D | tm-signal-pagefault.c | 204 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 D | tm-signal-context-chk-vsx.c | 75 * 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 D | tm-signal-context-chk-vmx.c | 64 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 D | tm-signal-pagefault.c | 204 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 D | tm-signal-context-chk-vsx.c | 75 * 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 D | carminefb.c | 55 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 D | pm2fb.c | 89 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 D | pm3fb.c | 68 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 D | carminefb.c | 56 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 D | pm2fb.c | 90 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 D | pm3fb.c | 69 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 D | sigcontext.h | 35 * 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 D | sigcontext.h | 35 * 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
|