Pavel Machek wrote:
> 
> Hi!
> 
> These are tiny cleanups you might like. sizes are "logically"
> long. No, it does not matter on i386.
> 
> processor.h makes INIT_TSS look much more readable. [Please tell me
> applied or rejected]
> 
>                                                         Pavel
> 
> Index: include/asm-i386/posix_types.h
> ===================================================================
> RCS file: /home/cvs/Repository/linux/include/asm-i386/posix_types.h,v
> retrieving revision 1.1.1.1
> diff -u -u -r1.1.1.1 posix_types.h
> --- include/asm-i386/posix_types.h      2000/09/04 16:50:33     1.1.1.1
> +++ include/asm-i386/posix_types.h      2001/02/13 13:49:18
> @@ -16,9 +16,9 @@
>  typedef unsigned short __kernel_ipc_pid_t;
>  typedef unsigned short __kernel_uid_t;
>  typedef unsigned short __kernel_gid_t;
> -typedef unsigned int   __kernel_size_t;
> -typedef int            __kernel_ssize_t;
> -typedef int            __kernel_ptrdiff_t;
> +typedef unsigned long  __kernel_size_t;
> +typedef long           __kernel_ssize_t;
> +typedef long           __kernel_ptrdiff_t;

If it doesn't matter on i386 why bother?


>  #define INIT_TSS  {                                            \
> -       0,0, /* back_link, __blh */                             \
> -       sizeof(init_stack) + (long) &init_stack, /* esp0 */     \
> -       __KERNEL_DS, 0, /* ss0 */                               \
> -       0,0,0,0,0,0, /* stack1, stack2 */                       \
> -       0, /* cr3 */                                            \
> -       0,0, /* eip,eflags */                                   \
> -       0,0,0,0, /* eax,ecx,edx,ebx */                          \
> -       0,0,0,0, /* esp,ebp,esi,edi */                          \
> -       0,0,0,0,0,0, /* es,cs,ss */                             \
> -       0,0,0,0,0,0, /* ds,fs,gs */                             \
> -       __LDT(0),0, /* ldt */                                   \
> -       0, INVALID_IO_BITMAP_OFFSET, /* tace, bitmap */         \
> -       {~0, } /* ioperm */                                     \
> +       esp0: sizeof(init_stack) + (long) &init_stack,          \
> +       ss0: __KERNEL_DS,                                       \
> +       ldt: __LDT(0),                                          \
> +       bitmap: INVALID_IO_BITMAP_OFFSET,                       \
> +       ioperm: {~0, }                                          \

IIRC certain key structures cannot be taken to gcc's style of struct
initialization, and IIRC this is one of them.  Maybe that's a egcs-1.1.2
bug.  Have you looked at the assembly output to make sure things are
100% ok after this change?

Regards,
Jeff, who wonders if there is a way to upgrade human memory as easily as
computer memory...


-- 
Jeff Garzik       | "Give a man a fish, and he eats for a day. Teach a
Building 1024     |  man to fish, and a US Navy submarine will make sure
MandrakeSoft      |  he's never hungry again." -- Chris Neufeld
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to