Browse Source

x86/headers: Unify register type definitions between 32-bit compat and i386

The following sigcontext related types were duplicated across
native 32-bit and compat 32-bit headers:

  struct _fpreg;
  struct _fpxreg;
  struct _xmmreg;

  X86_FXSR_MAGIC

Unify them.

Acked-by: Mikko Rapeli <mikko.rapeli@iki.fi>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Link: http://lkml.kernel.org/r/1441438363-9999-7-git-send-email-mingo@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Ingo Molnar 10 years ago
parent
commit
337a167d1a
2 changed files with 2 additions and 23 deletions
  1. 2 1
      arch/x86/include/uapi/asm/sigcontext.h
  2. 0 22
      arch/x86/include/uapi/asm/sigcontext32.h

+ 2 - 1
arch/x86/include/uapi/asm/sigcontext.h

@@ -63,7 +63,6 @@ struct _fpx_sw_bytes {
 	__u32				padding[7];
 };
 
-#ifdef __i386__
 /*
  * As documented in the iBCS2 standard:
  *
@@ -96,6 +95,8 @@ struct _xmmreg {
 
 #define X86_FXSR_MAGIC			0x0000
 
+#ifdef __i386__
+
 struct _fpstate {
 	/* Legacy FPU environment: */
 	__u32				cw;

+ 0 - 22
arch/x86/include/uapi/asm/sigcontext32.h

@@ -3,30 +3,8 @@
 
 /* Signal context definitions for compat 32-bit programs: */
 
-#include <linux/types.h>
-
 #include <asm/sigcontext.h>
 
-/* 10-byte legacy floating point register: */
-struct _fpreg {
-	__u16				significand[4];
-	__u16				exponent;
-};
-
-/* 16-byte floating point register: */
-struct _fpxreg {
-	__u16				significand[4];
-	__u16				exponent;
-	__u16				padding[3];
-};
-
-/* 16-byte XMM vector register: */
-struct _xmmreg {
-	__u32	element[4];
-};
-
-#define X86_FXSR_MAGIC			0x0000
-
 /* FXSAVE frame: FSAVE frame with extensions */
 struct _fpstate_ia32 {
 	/* Regular FPU environment: */