> I'll link to the 1.0 boot floppy image, under the "FreeDOS 1.0" section.
> http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdboot.img

Kernel on that image uses 386+ instructions... and it seems as if it does  
that without (properly) checking for the presence of a 386.

That it's a 386+ kernel is just an oversight (or should be documented for  
the image), but if 386+ kernels really do not abort with an appropriate  
message on non-386 CPUs, that's a bug.

Does a kernel developer know whether such checks are... just kidding, I  
examined the sources myself. In kernel.asm such a check does not exist or  
(in recent builds and SVN revisions) it exists but isn't used to orderly  
abort loading if the CPU isn't supported. It then jumps to _FreeDOSmain,  
which is the C function FreeDOSmain in main.c. In the kernel on that disk  
image, the very first instruction happens to be "push fs", code 0Fh 0Ah,  
which on pre-386 CPUs is an error (or at least not "push fs").

The file kernel.asm (SVN r1705) is this one:  

Note lines 194 to 196, where precisely in this latest r1705, Kenneth added  
the comment "TODO display error if built for 386 running on 8086 etc". I  
can prepare a patch to implement this (I'd think entirely in kernel.asm)  
if the kernel developers are interested.


Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
Freedos-kernel mailing list

Reply via email to