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. */