Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: geting linux TLS working



On Sat, Oct 25, 2008 at 11:55:25PM -0400, Christos Zoulas wrote:
> 
> I need to be able to match the GUGS_IPL number between linux and us
> (like FreeBSD did, is this OK to commit?

No.  Have you read the comment that is right before those defines?  That
said, maybe that order can be changed, but I guess it would have to
include the five same descriptors.  Andrew will know better.

Also, -5 will have a hack there for COMPAT_SA, and I'm pretty sure that
makes it unworkable with this change.

> Index: segments.h
> ===================================================================
> RCS file: /cvsroot/src/sys/arch/i386/include/segments.h,v
> retrieving revision 1.49
> diff -u -u -r1.49 segments.h
> --- segments.h        19 Apr 2008 12:10:08 -0000      1.49
> +++ segments.h        26 Oct 2008 03:44:47 -0000
> @@ -299,13 +299,13 @@
>   * instructions depend on them.
>   */
>  #define      GNULL_SEL       0       /* Null descriptor */
> -#define      GCODE_SEL       1       /* Kernel code descriptor */
> -#define      GDATA_SEL       2       /* Kernel data descriptor */
> -#define      GUCODE_SEL      3       /* User code descriptor */
> -#define      GUDATA_SEL      4       /* User data descriptor */
> -#define      GLDT_SEL        5       /* Default LDT descriptor */
> -#define GCPU_SEL     6       /* per-CPU segment */
> -#define      GMACHCALLS_SEL  7       /* Darwin (mach trap) system call gate 
> */
> +#define      GCPU_SEL        1       /* per-CPU segment */
> +#define      GUFS_SEL        2
> +#define      GUGS_SEL        3
> +#define      GCODE_SEL       4       /* Kernel code descriptor */
> +#define      GDATA_SEL       5       /* Kernel data descriptor */
> +#define      GUCODE_SEL      6       /* User code descriptor */
> +#define      GUDATA_SEL      7       /* User data descriptor */
>  #define      GEXTBIOSDATA_SEL 8      /* magic to catch BIOS refs to EBDA */
>  #define      GAPM32CODE_SEL  9       /* 3 APM segments must be consecutive */
>  #define      GAPM16CODE_SEL  10      /* and in the specified order: code32 */
> @@ -319,8 +319,8 @@
>  #define GTRAPTSS_SEL 18
>  #define GIPITSS_SEL  19
>  #define GUCODEBIG_SEL        20      /* User code with executable stack */
> -#define      GUFS_SEL        21
> -#define      GUGS_SEL        22
> +#define      GLDT_SEL        21      /* Default LDT descriptor */
> +#define      GMACHCALLS_SEL  22      /* Darwin (mach trap) system call gate 
> */
>  #define      NGDT            23
>  
>  /*

-- 
Quentin Garnier - cube%cubidou.net@localhost - cube%NetBSD.org@localhost
"See the look on my face from staying too long in one place
[...] every time the morning breaks I know I'm closer to falling"
KT Tunstall, Saving My Face, Drastic Fantastic, 2007.

Attachment: pgpkNa261KO1I.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index