On Sat, Sep 24, 2005 at 12:55:41AM +0200, Jesper Juhl wrote: > On 9/24/05, Siddha, Suresh B <[EMAIL PROTECTED]> wrote: > > set_tssldt_descriptor(&cpu_gdt_table[cpu][GDT_ENTRY_TSS], (unsigned > > long)addr, > > DESC_TSS, > > - sizeof(struct tss_struct) - 1); > > + IO_BITMAP_OFFSET + IO_BITMAP_BYTES + 7); > > } > > > [snip] > > Is it just me, or would it be nice with a symbolic name for this "7" ? > For someone reading the code for the first time it seems to me that > it's non-obvious why the 7 is there, and why it's 7 exactely - a > define would make it clearer as I see it.
Andrew please apply this updated patch. Thanks. -- Fix the x86_64 TSS limit in TSS descriptor. Signed-off-by: Suresh Siddha <[EMAIL PROTECTED]> --- linux-2.6.14-rc1/include/asm-x86_64/desc.h.orig 2005-09-12 20:12:09.000000000 -0700 +++ linux-2.6.14-rc1/include/asm-x86_64/desc.h 2005-09-23 15:41:28.103954880 -0700 @@ -127,9 +127,16 @@ static inline void set_tssldt_descriptor static inline void set_tss_desc(unsigned cpu, void *addr) { + /* + * sizeof(unsigned long) coming from an extra "long" at the end + * of the iobitmap. See tss_struct definition in processor.h + * + * -1? seg base+limit should be pointing to the address of the + * last valid byte + */ set_tssldt_descriptor(&cpu_gdt_table[cpu][GDT_ENTRY_TSS], (unsigned long)addr, DESC_TSS, - sizeof(struct tss_struct) - 1); + IO_BITMAP_OFFSET + IO_BITMAP_BYTES + sizeof(unsigned long) - 1); } static inline void set_ldt_desc(unsigned cpu, void *addr, int size) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]