On Sun, 15 Feb 2004 14:23:10 +0200, I wrote:

It only depends on what CPU fmemcpy in main.c is compiled for. If it's compiled for 80386, it crashes.

Now check from which places main::fmemcpy is called and check which place (may) depend on 32-bit registers.

There is none! Not only have I checked all fmemcpy calls, ensuring that EAX need NOT be preserved accross all the calls, but as I wrote, I deliberately compiled ALL the kernel for 80186 and ONLY fmemcpy for 80386 (so EAX is used ONLY in it and in NO other place in the kernel!) and it still crashed! (Borland uses EAX in a very predictable way and for temporary 32-bit data transfer only). Anyway, after I fixed my silly error causing the crash of my patched kernel, it now works! Please find the patches at the usual place (http://linux.tu-varna.acad.bg/~lig/freedos/CVSPATCH.TXT).

Please don't understand me wrongly. Although these patches fix the bug (besides the other things they do), this doesn't mean that I'm happy with them. The EXACT cause of the crash still MUST be found. Just after the last INSTALLHIGH command is executed and before the "Invalid Opcode" crash, the digits 2 and 3 printed like this: "23". Sometimes they're printed twice like this "2323". Today I discovered in SoftICE that the code that prints these digits is... our code in kernel.asm at the "kernel_start" label! This means that somehow the stack gets corrupted during DoInstall() execution, if and only if at least one command gets installed in an UMB. But unfortunately I can't get before the "kernel_start" label in SoftICE; the "show" command repeats the last executed line endlessly and I can't get around that :-( Any help or ideas? Anyway, the struggle continues...


Lucho


------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to