Re: We have a whole new ton of goodies to investigate...

u-vpoa
2015-04-26T21:22:23Z

[reading the list archive, that's why this is not a proper thread reply]

Alan Cox wrote 16 Apr 13:49 2015
> > Thanks for the interesting info about various toolchains for Fuzix. I
> > wonder why you include x86_16 target in the Fuzix challenge, as ELKS is
> > already playing on that ground, but that is your baby, so...
>
> I built the core that way mostly to check it compiled. Just portability
> testing.

I wonder, if Fuzix is sufficiently portable to run on 8086, could it
happen to offer a possibly even more suitable foundation for a usable
system, than the linux-derived code in ELKS?

I did not follow ELKS development over the years but it seems to be
a "from scratch" effort.

To compare, I saw once a fully functional BSD 2.9 kernel ported to 8086,
compatible with Venix/86 userspace and toolchain, which might have been
a more efficient (?) starting point too. Too bad, I think the port
is lost.

In other words, starting from a more limited (8-bit) or similar (16-bit)
platform might work better than "scaling down" from a 32-bit system.

The availability of the sources changed radically since the time when
ELKS was started. Now we have got even some pieces of Coherent/86.

> There certainly was
> plenty of stuff in ELKS that was taken from 386 Linux and is perhaps
> somewhat over-engineered for the job (buffer cache is perhaps one bit
> still)

I guess so. Sigh. The original V7's or even V6's quite basic design might
possibly suit 8086 better (I did not look at the ELKS kernel but I saw
V6/7 sources and also pieces of Venix/86 kernel which were apparently
build from literally the same C code, this seemed to work well).

> Going to multiple-segments for code isn't too difficult providing you
> don't follow every detail of pointers to function, but just stick to
> arrays of function pointers or function pointers within segment, but
> always seems to me like admitting defeat 8)

:)
The possiblity to use larger code makes life so much easier, without any
extra complexity in the compiler. Unfortunately there still are limits,
the total number of trampolines which are to fit in every code segment
and the size of a single function. Nevertheless it is very handy!

Rl