Date: Wed, 18 Nov 1998 20:59:40 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Joel Ray Holveck <joelh@gnu.org> Cc: Marius Bendiksen <Marius.Bendiksen@scancall.no>, Terry Lambert <tlambert@primenet.com>, rnordier@nordier.com, freebsd-hackers@FreeBSD.ORG Subject: Re: FreeBSD on i386 memory model Message-ID: <199811190459.UAA07948@apollo.backplane.com> References: <199811171806.LAA03809@usr09.primenet.com> <3.0.5.32.19981118121341.00975ac0@mail.scancall.no> <199811181842.KAA06180@apollo.backplane.com> <86ogq4gv1v.fsf@detlev.UUCP>
next in thread | previous in thread | raw e-mail | index | archive | help
:>> have a separate 'interrupt stack'. On Intel cpu's, however, the
:>> abstraction is useless due to the completely broken ring design
:>> because many supervisor instructions only work in ring 0. ring 1
:>> and ring 2 are almost completely useless.
:
:So they're useless (for our purposes); I don't see why that makes
:their ring design broken.
:
:Could you please explain a bit more?
:
:Happy hacking,
:joelh
The biggest single problem to Intel's ring design is their stack
pointer methodology. Rather then keep track of each ring's stack
pointer in a hardware register like, say, the motorola architecture,
the IA pushes the old %esp onto the stack and loads the new one
from the cpu Task structure. This results in completely non-reentrant
stack switching unless the interrupt/call procedure pops the saved %esp
off the stack on entry, figures out which ring it came from, and re-stores
it into the cpu Task structure before proceeding, then pulls it out of
the cpu Task structure and pushes it back onto the stack prior to
returning.
In anycase, I could go on for hours about deficiencies in IA gating.
That's just the tip of the iceberg.
-Matt
:--
:Joel Ray Holveck - joelh@gnu.org
: Fourth law of programming:
: Anything that can go wrong wi
:sendmail: segmentation violation - core dumped
:
:To Unsubscribe: send mail to majordomo@FreeBSD.org
:with "unsubscribe freebsd-hackers" in the body of the message
:
Matthew Dillon Engineering, HiWay Technologies, Inc. & BEST Internet
Communications & God knows what else.
<dillon@backplane.com> (Please include original email in any response)
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811190459.UAA07948>
