patches/linux/2.6.11.3/120-linux-2.6.11-allow-gcc-4.0-asm-i386.patch
changeset 847 af75fc1fe0fc
parent 846 23d2d8defa03
child 848 5b3785e0d41d
     1.1 --- a/patches/linux/2.6.11.3/120-linux-2.6.11-allow-gcc-4.0-asm-i386.patch	Fri Sep 05 16:15:34 2008 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,150 +0,0 @@
     1.4 -Fixes
     1.5 -
     1.6 -In file included from include/asm/thread_info.h:16,
     1.7 -                 from include/linux/thread_info.h:21,
     1.8 -                 from include/linux/spinlock.h:12,
     1.9 -                 from include/linux/capability.h:45,
    1.10 -                 from include/linux/sched.h:7,
    1.11 -                 from arch/i386/kernel/asm-offsets.c:7:
    1.12 -include/asm/processor.h:87: error: array type has incomplete element type
    1.13 -make[1]: *** [arch/i386/kernel/asm-offsets.asm] Error 1
    1.14 -
    1.15 ---- linux-2.6.11.3/include/asm-i386/processor.h.old	Tue Mar 15 06:45:26 2005
    1.16 -+++ linux-2.6.11.3/include/asm-i386/processor.h	Tue Mar 15 06:46:45 2005
    1.17 -@@ -81,6 +81,64 @@
    1.18 - #define X86_VENDOR_UNKNOWN 0xff
    1.19 - 
    1.20 - /*
    1.21 -+ * Size of io_bitmap.
    1.22 -+ */
    1.23 -+#define IO_BITMAP_BITS  65536
    1.24 -+#define IO_BITMAP_BYTES (IO_BITMAP_BITS/8)
    1.25 -+#define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long))
    1.26 -+#define INVALID_IO_BITMAP_OFFSET 0x8000
    1.27 -+#define INVALID_IO_BITMAP_OFFSET_LAZY 0x9000
    1.28 -+
    1.29 -+struct tss_struct {
    1.30 -+	unsigned short	back_link,__blh;
    1.31 -+	unsigned long	esp0;
    1.32 -+	unsigned short	ss0,__ss0h;
    1.33 -+	unsigned long	esp1;
    1.34 -+	unsigned short	ss1,__ss1h;	/* ss1 is used to cache MSR_IA32_SYSENTER_CS */
    1.35 -+	unsigned long	esp2;
    1.36 -+	unsigned short	ss2,__ss2h;
    1.37 -+	unsigned long	__cr3;
    1.38 -+	unsigned long	eip;
    1.39 -+	unsigned long	eflags;
    1.40 -+	unsigned long	eax,ecx,edx,ebx;
    1.41 -+	unsigned long	esp;
    1.42 -+	unsigned long	ebp;
    1.43 -+	unsigned long	esi;
    1.44 -+	unsigned long	edi;
    1.45 -+	unsigned short	es, __esh;
    1.46 -+	unsigned short	cs, __csh;
    1.47 -+	unsigned short	ss, __ssh;
    1.48 -+	unsigned short	ds, __dsh;
    1.49 -+	unsigned short	fs, __fsh;
    1.50 -+	unsigned short	gs, __gsh;
    1.51 -+	unsigned short	ldt, __ldth;
    1.52 -+	unsigned short	trace, io_bitmap_base;
    1.53 -+	/*
    1.54 -+	 * The extra 1 is there because the CPU will access an
    1.55 -+	 * additional byte beyond the end of the IO permission
    1.56 -+	 * bitmap. The extra byte must be all 1 bits, and must
    1.57 -+	 * be within the limit.
    1.58 -+	 */
    1.59 -+	unsigned long	io_bitmap[IO_BITMAP_LONGS + 1];
    1.60 -+	/*
    1.61 -+	 * Cache the current maximum and the last task that used the bitmap:
    1.62 -+	 */
    1.63 -+	unsigned long io_bitmap_max;
    1.64 -+	struct thread_struct *io_bitmap_owner;
    1.65 -+	/*
    1.66 -+	 * pads the TSS to be cacheline-aligned (size is 0x100)
    1.67 -+	 */
    1.68 -+	unsigned long __cacheline_filler[35];
    1.69 -+	/*
    1.70 -+	 * .. and then another 0x100 bytes for emergency kernel stack
    1.71 -+	 */
    1.72 -+	unsigned long stack[64];
    1.73 -+} __attribute__((packed));
    1.74 -+
    1.75 -+#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap)
    1.76 -+#define ARCH_MIN_TASKALIGN	16
    1.77 -+
    1.78 -+/*
    1.79 -  * capabilities of CPUs
    1.80 -  */
    1.81 - 
    1.82 -@@ -308,16 +366,6 @@
    1.83 - 
    1.84 - #define HAVE_ARCH_PICK_MMAP_LAYOUT
    1.85 - 
    1.86 --/*
    1.87 -- * Size of io_bitmap.
    1.88 -- */
    1.89 --#define IO_BITMAP_BITS  65536
    1.90 --#define IO_BITMAP_BYTES (IO_BITMAP_BITS/8)
    1.91 --#define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long))
    1.92 --#define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap)
    1.93 --#define INVALID_IO_BITMAP_OFFSET 0x8000
    1.94 --#define INVALID_IO_BITMAP_OFFSET_LAZY 0x9000
    1.95 --
    1.96 - struct i387_fsave_struct {
    1.97 - 	long	cwd;
    1.98 - 	long	swd;
    1.99 -@@ -371,54 +419,6 @@
   1.100 - } mm_segment_t;
   1.101 - 
   1.102 - struct thread_struct;
   1.103 --
   1.104 --struct tss_struct {
   1.105 --	unsigned short	back_link,__blh;
   1.106 --	unsigned long	esp0;
   1.107 --	unsigned short	ss0,__ss0h;
   1.108 --	unsigned long	esp1;
   1.109 --	unsigned short	ss1,__ss1h;	/* ss1 is used to cache MSR_IA32_SYSENTER_CS */
   1.110 --	unsigned long	esp2;
   1.111 --	unsigned short	ss2,__ss2h;
   1.112 --	unsigned long	__cr3;
   1.113 --	unsigned long	eip;
   1.114 --	unsigned long	eflags;
   1.115 --	unsigned long	eax,ecx,edx,ebx;
   1.116 --	unsigned long	esp;
   1.117 --	unsigned long	ebp;
   1.118 --	unsigned long	esi;
   1.119 --	unsigned long	edi;
   1.120 --	unsigned short	es, __esh;
   1.121 --	unsigned short	cs, __csh;
   1.122 --	unsigned short	ss, __ssh;
   1.123 --	unsigned short	ds, __dsh;
   1.124 --	unsigned short	fs, __fsh;
   1.125 --	unsigned short	gs, __gsh;
   1.126 --	unsigned short	ldt, __ldth;
   1.127 --	unsigned short	trace, io_bitmap_base;
   1.128 --	/*
   1.129 --	 * The extra 1 is there because the CPU will access an
   1.130 --	 * additional byte beyond the end of the IO permission
   1.131 --	 * bitmap. The extra byte must be all 1 bits, and must
   1.132 --	 * be within the limit.
   1.133 --	 */
   1.134 --	unsigned long	io_bitmap[IO_BITMAP_LONGS + 1];
   1.135 --	/*
   1.136 --	 * Cache the current maximum and the last task that used the bitmap:
   1.137 --	 */
   1.138 --	unsigned long io_bitmap_max;
   1.139 --	struct thread_struct *io_bitmap_owner;
   1.140 --	/*
   1.141 --	 * pads the TSS to be cacheline-aligned (size is 0x100)
   1.142 --	 */
   1.143 --	unsigned long __cacheline_filler[35];
   1.144 --	/*
   1.145 --	 * .. and then another 0x100 bytes for emergency kernel stack
   1.146 --	 */
   1.147 --	unsigned long stack[64];
   1.148 --} __attribute__((packed));
   1.149 --
   1.150 --#define ARCH_MIN_TASKALIGN	16
   1.151 - 
   1.152 - struct thread_struct {
   1.153 - /* cached TLS descriptors. */