[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] Shutdown() discussion



On Thu, 2003-12-11 at 10:42, Frank Naumann wrote:

> - the kernel support the available hardware
>   this include special features of emulators I think; the implementation
>   should be intelligent and easy to maintan

good.

> - cookies with jump tables are a very bad design; this is the TOS/MagiC
>   way of system extensions (rather than through syscall enhancements);
>   this will always conflict with memory protection or a VM module;

I said it twice (and will gladly repeat) that _my_ opinion is to drop
the __NF cookie under MiNT altogether and let applications use the
syscalls.

For this to happen the kernel has to adopt the NF implementation first.
Then we can define the syscalls. After that we can write libraries or
small wrappers. When these libs or wrappers are available
application/driver programmers can adapt their current apps. And at last
the __NF cookie can be removed under FreeMiNT.

So the plan is clear and starts with FreeMiNT adopting the NatFeats
internally (similarly to Patrice's comparison with Linux which detects
all available HW at bootup).

>   Personally I think a much better design is to provide something like
>   a special hardware, e.g. some addresses that are mapped into the I/O

This may seem easier (I was the one who suggested this originally in
ARAnyM) but once you know something about the virtual machine you
realize that all hardware accesses create serious slowdown and so you
try to eliminate all of them.

The NatFeats were designed to slowly replace all currently emulated
hardware. It already happened for graphics, sound and mass storage I/O
while networking was always our implementation (not based on any
previous HW). So basically we are almost ready for getting rid of all HW
emulation in ARAnyM and so we are definitely not going to implement a
special hardware I/O again.

Petr