aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorHong H. Pham <hong.pham@windriver.com>2008-12-04 12:12:57 -0500
committerDavid S. Miller <davem@davemloft.net>2008-12-04 12:12:57 -0500
commit410d2c8187ed969238ba98008c1d57307a56cfd8 (patch)
treef8f3e72b996a73bc44a0fedb6318a13285590f0c /arch
parent726c12f57d7e3ff43693d88e13b1ff02464c75d3 (diff)
sparc64: Sync FPU state in VIS emulation handler.
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@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch')
-rw-r--r--arch/sparc64/kernel/visemul.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/visemul.c b/arch/sparc64/kernel/visemul.c
index 69f8a35c6bc..b956fd71c13 100644
--- a/arch/sparc64/kernel/visemul.c
+++ b/arch/sparc64/kernel/visemul.c
@@ -807,6 +807,8 @@ int vis_emul(struct pt_regs *regs, unsigned int insn)
807 if (get_user(insn, (u32 __user *) pc)) 807 if (get_user(insn, (u32 __user *) pc))
808 return -EFAULT; 808 return -EFAULT;
809 809
810 save_and_clear_fpu();
811
810 opf = (insn & VIS_OPF_MASK) >> VIS_OPF_SHIFT; 812 opf = (insn & VIS_OPF_MASK) >> VIS_OPF_SHIFT;
811 switch (opf) { 813 switch (opf) {
812 default: 814 default: