genuine cpu I386_CPU kernel support
Julian Elischer
julian at elischer.org
Wed Sep 23 17:21:57 UTC 2009
John Baldwin wrote:
> 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.
I think a 386 can assume non-SMP in which case that can be simulated
just fine :-)
it also simplifies a lot of the other breakages..
#if (CPU == 80386) && defined(SMP)
#error "can't have smp on a 386"
#endif
> 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.
>
More information about the freebsd-hackers
mailing list