[patch 9/9] x86, xsave: update xsave header bits during ptrace fpregs set

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <mingo@...>, <hpa@...>, <tglx@...>, <torvalds@...>, <akpm@...>, <arjan@...>, <roland@...>, <drepper@...>, <mikpe@...>, <chrisw@...>, <andi@...>
Cc: <linux-kernel@...>, <suresh.b.siddha@...>
Date: Tuesday, July 29, 2008 - 1:29 pm

FP/SSE bits may be zero in the xsave header(representing the init state).
Update these bits during the ptrace fpregs set operation, to indicate the
non-init state.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
---

Index: tip-0728/arch/x86/kernel/i387.c
===================================================================
--- tip-0728.orig/arch/x86/kernel/i387.c	2008-07-28 18:50:08.000000000 -0700
+++ tip-0728/arch/x86/kernel/i387.c	2008-07-28 18:51:29.000000000 -0700
@@ -214,6 +214,13 @@
 	 */
 	target->thread.xstate->fxsave.mxcsr &= mxcsr_feature_mask;
 
+	/*
+	 * update the header bits in the xsave header, indicating the
+	 * presence of FP and SSE state.
+	 */
+	if (cpu_has_xsave)
+		target->thread.xstate->xsave.xsave_hdr.xstate_bv |= XSTATE_FPSSE;
+
 	return ret;
 }
 
@@ -414,6 +421,12 @@
 	if (!ret)
 		convert_to_fxsr(target, &env);
 
+	/*
+	 * update the header bit in the xsave header, indicating the
+	 * presence of FP.
+	 */
+	if (cpu_has_xsave)
+		target->thread.xstate->xsave.xsave_hdr.xstate_bv |= XSTATE_FP;
 	return ret;
 }
 

-- 

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch 9/9] x86, xsave: update xsave header bits during ptra..., Suresh Siddha, (Tue Jul 29, 1:29 pm)