bob@dhw68k.cts.com (Bob Best) (05/26/89)
I have managed to compile the Evans protected mode minix kernel
using the 1.1 compiler binaries.  I had major problems with /lib/cpp
on the *.x files which I finally processed using Xenix.  Unfortunately,
although the kernel boots and runs, it eventually panics and aborts
with a 'panic - MM can't reply' message.  While the system is running,
I am receiving messages of the form 'tty_reply return status is ...'
Bruce, if you or any other hacker out there has a clue, please post
your suggestions.  I don't trust the code generated by the 1.1 compiler,
but I have used it to compile all previous versions of Minix.  All the
sources used were verified successfully against the crc lists.
-- 
Bob Best
uucp: {spsd, zardoz, felix}!dhw68k!bob	InterNet: bob@dhw68k.cts.combob@dhw68k.cts.com (Bob Best) (05/28/89)
In article <23213@dhw68k.cts.com> I wrote: >I have managed to compile the Evans protected mode minix kernel >using the 1.1 compiler binaries. I had major problems with /lib/cpp >on the *.x files which I finally processed using Xenix. The problem is that 1.1 cpp does not remove C comments from the output. If you use this binary, you should remove the comments from the .x files before processing. >Unfortunately, >although the kernel boots and runs, it eventually panics and aborts >with a 'panic - MM can't reply' message. While the system is running, >I am receiving messages of the form 'tty_reply return status is ...' >Bruce, if you or any other hacker out there has a clue, please post >your suggestions. I don't trust the code generated by the 1.1 compiler, >but I have used it to compile all previous versions of Minix. The problem is in the p2_s_call and s_call functions in mpx286.x and mpx88.x, respectively. I will be posting unofficial patches, but the fix requires saving the si register prior to 'call _sys_call' in both of these procedures. The 1.1 compiler was NOT preserving the si register on function calls. For example, use the following: push si push bx push ax push cx call _sys_call add sp,#6 pop si mov AXREG(si),ax The moral of all of this is quite simple: Using the 1.1 compiler is bound to leave you chasing bugs that don't exist. -- Bob Best uucp: {spsd, zardoz, felix}!dhw68k!bob InterNet: bob@dhw68k.cts.com