--- 2.4.19pre7aa1/arch/i386/kernel/head.S.~1~ Tue Apr 16 08:11:23 2002 +++ 2.4.19pre7aa1/arch/i386/kernel/head.S Thu Apr 18 05:18:31 2002 @@ -445,4 +445,4 @@ .quad 0x00409a0000000000 /* 0x48 APM CS code */ .quad 0x00009a0000000000 /* 0x50 APM CS 16 code (16 bit) */ .quad 0x0040920000000000 /* 0x58 APM DS data */ - .fill NR_CPUS*4,8,0 /* space for TSS's and LDT's */ + .fill NR_CPUS*16,8,0 /* space for TSS's and LDT's, 128byte aligned for new x86 CPUs */ --- 2.4.19pre7aa1/include/asm-i386/desc.h.~1~ Tue Jan 22 18:52:35 2002 +++ 2.4.19pre7aa1/include/asm-i386/desc.h Thu Apr 18 05:20:22 2002 @@ -26,10 +26,11 @@ * 13 - CPU#0 LDT * 14 - not used * 15 - not used - * 16 - CPU#1 TSS <-- new cacheline - * 17 - CPU#1 LDT - * 18 - not used - * 19 - not used + * .. - not used + * 28 - CPU#1 TSS <-- new cacheline + * 29 - CPU#1 LDT + * 30 - not used + * 31 - not used * ... NR_CPUS per-CPU TSS+LDT's if on SMP * * Entry into gdt where to find first TSS. @@ -37,8 +38,8 @@ #define __FIRST_TSS_ENTRY 12 #define __FIRST_LDT_ENTRY (__FIRST_TSS_ENTRY+1) -#define __TSS(n) (((n)<<2) + __FIRST_TSS_ENTRY) -#define __LDT(n) (((n)<<2) + __FIRST_LDT_ENTRY) +#define __TSS(n) (((n)<<4) + __FIRST_TSS_ENTRY) +#define __LDT(n) (((n)<<4) + __FIRST_LDT_ENTRY) #ifndef __ASSEMBLY__ struct desc_struct {