2.6.16 for linuxulator & 7.0 release

Jung-uk Kim jkim at FreeBSD.org
Mon Mar 19 16:13:46 UTC 2007


On Saturday 17 March 2007 09:29 am, Tijl Coosemans wrote:
> On Friday 16 March 2007 12:00:38 Alexander Leidinger wrote:
> > In p4 we have the futex/TLS stuff for amd64 but because of the
> > futexes not completely right part it is not committed to current
> > yet. As we already have the futex and TLS stuff for i386 on a
> > similar level in current, I would say we should go ahead and sync
> > the amd64 stuff. It is not used by default, so we don't break
> > existing linux stuff and we get the benefit of more people being
> > able to have a look at it and play with it. So what are your
> > opinions, shall we give jkim@ the green light to MFp4 the
> > futex/TLS stuff?
>
> You should let an amd64 guru review the tls part in imho. I don't
> think you can remove these lines for instance: (from
> linuxolator-p4.diff)
>
> ---  sys/amd64/amd64/cpu_switch.S.orig
> +++  sys/amd64/amd64/cpu_switch.S
> @@ -104,11 +104,12 @@
>  	testl	$PCB_32BIT,PCB_FLAGS(%r8)
>  	jz	1f				/* no, skip over */
>
> -	/* Save segment selector numbers */
> -	movl	%ds,PCB_DS(%r8)
> -	movl	%es,PCB_ES(%r8)
> -	movl	%fs,PCB_FS(%r8)
> [...]
> -	/* Restore segment selector numbers */
> -	movl	PCB_DS(%r8),%ds
> -	movl	PCB_ES(%r8),%es
> -	movl	PCB_FS(%r8),%fs

Actually it was dead code, i.e., PCB_32BIT flag was never set from 
anywhere at all.  I believe it was part of peter's experiment, which 
was never materialized:

http://docs.freebsd.org/cgi/mid.cgi?200405162243.i4GMhvhh037147

Believe me, I had to dig through CVS logs and P4 hammer branch for 
days to find if there was any indication that he might do something 
about it but it seemed he didn't finish his 'tinkering'.  So, I just 
reused the flag to save/restore %gs and the corresponding GDT entry 
and remove the 'dead' code.  It was hell confusing for me from the 
beginning, so your confusion is well understandable.

Jung-uk Kim


More information about the freebsd-emulation mailing list