Re: [PATCH] Fix VIS emulation bugs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

This patch fixes the bug if single-stepping over the affected
instruction in the debugger, but not if the testcase is run
standalone.  For that, Wind River has another patch I hope they will
send as a followup to this patch submission.

Signed-off-by: Joseph Myers <joseph@xxxxxxxxxxxxxxxx>

Patch applied, thanks!

Here's the follow up patch to Joseph's VIS emulation fix.  The pdist
testcase runs successfully as a standalone with this patch.

Best regards,
Hong


Copy the FPU state to the task's thread_info->fpregs for the VIS emulation
functions to access.

Signed-off-by: Hong H. Pham <hong.pham@xxxxxxxxxxxxx>
---
 arch/sparc64/kernel/visemul.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/sparc64/kernel/visemul.c b/arch/sparc64/kernel/visemul.c
index 4e285f9..a4428fd 100644
--- a/arch/sparc64/kernel/visemul.c
+++ b/arch/sparc64/kernel/visemul.c
@@ -802,16 +802,18 @@ int vis_emul(struct pt_regs *regs, unsigned int insn)
 	BUG_ON(regs->tstate & TSTATE_PRIV);

 	if (test_thread_flag(TIF_32BIT))
 		pc = (u32)pc;

 	if (get_user(insn, (u32 __user *) pc))
 		return -EFAULT;

+	save_and_clear_fpu();
+
 	opf = (insn & VIS_OPF_MASK) >> VIS_OPF_SHIFT;
 	switch (opf) {
 	default:
 		return -EINVAL;

 	/* Pixel Formatting Instructions.  */
 	case FPACK16_OPF:
 	case FPACK32_OPF:
--
1.5.5.1

--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux