Jo Even Skarstein wrote:
Nice idea, but how will this affect kernel size?
There are 2 different problems : 1) The CPU- Either the kernel code use only instructions common to all CPUs, so the performance is suboptimal on all CPUs. - Either the kernel code us duplicated for each supported CPU inside a big fat binary. The size will be the average size of a single kernel multiplied by the number of supported CPUs.
2) The additional hardwareSince there is currently very few additional hardware currently supported by the kernel, the size of the additional "drivers" is minimal. But FreeMiNT may run on other 680x0 machines some day (Amiga, Mac, etc...), and drivers for those machines will probably increase significantly the size of the binaries. Putting all the drivers into a single fat binary is only a viable solution when the differences will remain minimal.
> And code complexity?The simplest solution is to compile all the code for a single CPU, by setting the CFLAGS identically for all the source files in the project. Fat binaries of any kind would require a more complex build process.
-- Vincent Rivière