Date: Wed, 23 Sep 2009 12:09:07 -0400 From: John Baldwin <jhb@freebsd.org> To: "Julian H. Stacey" <jhs@berklix.com> Cc: Rui Paulo <rpaulo@gmail.com>, Alexey Shuvaev <shuvaev@physik.uni-wuerzburg.de>, hackers@freebsd.org, Nate Eldredge <nate@thatsmathematics.com> Subject: Re: genuine cpu I386_CPU kernel support Message-ID: <200909231209.08346.jhb@freebsd.org> In-Reply-To: <200909231554.n8NFsYwT078965@fire.js.berklix.net> References: <200909231554.n8NFsYwT078965@fire.js.berklix.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 23 September 2009 11:54:34 am Julian H. Stacey wrote: > Rui Paulo wrote: > > On 22 Sep 2009, at 19:03, Nate Eldredge wrote: > > > > > On Tue, 22 Sep 2009, John Baldwin wrote: > > > > > >> My comment is to just use 4.x (seriously). A true 386 is going to > > >> be quite > > >> slow and the overhead of many things added that work well on newer > > >> processors > > >> is going to be very painful on a 386 (probably on a 486 as well). > > >> 4.x runs > > >> fine on a 386 and should support all the hardware you can stick > > >> into a > > >> machine with an 80386 CPU. > > > > > > Unless, of course, you plan to put it on a network. I doubt that > > > 4.x is up to date with respect to security patches. > > > > I don't know if they were all applied on 4.x, but I think at least the > > older ones are. > > 4.11 fell out of security support some while back, but > http://www.freebsd.org/security/index.html > only lists what's still in, not what fell out when. > > Free/ Net/ Open/ Dragon etc all derive from Bill Jollitz port of > BSD to 386. Would be nice if we could still keep that first platform > walking, even if speed can't be called running ;-) > > Maybe I'll get time to chase down all that came before > http://svn.freebsd.org/viewvc/base?view=revision&revision=137784 Other things added since then assume at least a 486. Not having cmpxchg is a bit of a killer. The umtx stuff used by libthr assumes it can do a cmpxchg in userland for example. One idea kicked around many years ago was catching the illegal instruction faults for userland and emulating cmpxchg, but that would be a good bit of work. FreeBSD now also makes liberal use of 'xadd' for reference counts (see refcount_*()) so you would need to support that on a 386 as well. There may be other places that I'm not aware of that have similar assumptions. FWIW, I would probably not be in favor of putting any patches into the tree if you do manage to get it all working. I suspect the userbase of FreeBSD/80386 is even smaller than FreeBSD/alpha or FreeBSD/sparc64 and 80386 support would add a lot of ugly #ifdef's for miniscule gain. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909231209.08346.jhb>