Hi, I examined the files under the "arch/i86" directory and found many problems. The following set of 5 patches makes the code cleaner and easier to understand. There is also a reduction of 64 bytes in code size and a few bug fixes. After applying each patch, I tested the resulting image in the qemu and dioscuri emulators, as well as in a ppro pc booting from floppy. However, the patches are not independent and you must apply all them in sequence. By suggestion from Jody, the patches will be sent as an attachment. Note that this is not the end of the problems with the code in these directories. Just to mention a pair of problems: 1. Interrupt handlers run with interrupts disabled. This is unacceptable. But maybe this is a workaround to some deeper problems. 2. Installed signal handlers do not work as they should. This patch 1 of 1 implements: 1. Place a missing semicolon in file init/main.c lost in the last patch commitment. 2. Attempting compilation of file "arch/i86/drivers/char/serial.c" using an ansi C compiler results in numerous warnings and several errors. This patch eliminates most warnings and errors. After building the image, code size was unchanged. Greetings, Juan
Attachment:
elksB.patch
Description: Binary data