Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Dec 2001 19:53:05 -0800 (PST)
From:      Julian Elischer <julian@elischer.org>
To:        arch@freebsd.org
Subject:   blurk! KSE vs the X86
Message-ID:  <Pine.BSF.4.21.0112211930050.53471-100000@InterJet.elischer.org>

next in thread | raw e-mail | index | archive | help

Ok so we have this wonderful thing called a TSS
there is one per CPU by default, but you can ask that your process has it
own.. that would be one per process.. it has such things as the address
to load the system stack pointer from when running your process and take a
trap e.g. syscall.

This is in the PCB extension area. At this time there is only the 
capacity to set an extension into the single thread that would want it,
and it isn't associated with the process as such via the proc structure,
just via the PCB extension pointer.  So since threads are transient in KSE
processes when the thread migrates away (almost immediatly in some cases)
you have no trace of your extension area (hense TSS) so at teh next
swtch() it'll be gone again..
the QUICK answer is to say that vm86 and KSE can't be mixed, but
is that the best solution we can do? who should inherrit
a changed TSS? I an guessing that a KSEGROUP might have it's TSS changed
and all threads instantiated thereafter could inherrit the new extension
area, but unfortunatly there'd have to be as many as there were KSE's in
that KSEGRP. Maybe they are hung off the KSEs? Now we are talking..
You could hang a separate one of each KSE, and the running thread
on that KSE would use it... hmmmm that actually makes sense.
It's even easy enough that swtch() could get it easily in Assembler.


anyone up on this stuff..?
what's the normal way these things are set?
(the various fields in the extension pcb and the ldt etc.)

Is there a  connection between the pcb extension and the LDT?
we could (as I showed before) have a per-KSE PCB extension  in a KSEGRP
which would make that work, but can you have per thread LGTs?

They are pointed to by the per process mdproc structure at teh moment.
is that good enough? probably...
I haven't actually found the LDT itself being alocated.. yet :-)

enough of this rant..

who's up on this stuff?





To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0112211930050.53471-100000>