emm386 hangs when booting from linux

From: H.Rosmanith (Kernel Mailing List) (kernel@wildsau.idv.uni.linz.at)
Date: Thu Feb 27 2003 - 22:18:50 EST


hello,

for some reason, I am using the "switch to 16 bit realmode" function
present in the linux kernel to execute various 16bit code. One thing
that I am doing is to read the mbr off a harddisk to 0x7c00 and then
jump to there. This allows to e.g. "quickboot dos" from linux without
having to go through bios startup.

I got this working with *one* exception: as soon as I load emm386
in config.sys, the system hangs. It doesn't hang completely, e.g.
the num-lock led changes light when pressing num-lock, and ctrlaltdel
reboots the system. When I "REM"ark the emm386.exe, then dos will
boot and display a "C:\>" prompt.

"machine_real_restart" is in <arch/i386/kernel/process.c> - possibly
it forgets to reset something particular in the cpu/mmu...and later on,
emm386.exe will hang the system. Interestingly, DOS4GW will *not* hang
the system and vertex-inducing games like doom & co. will work like
a charm (woah ... I haven't been playing doom for ages! <streisand> "memories"
</streisand>).

emm386.exe is about 116k byte, so it's probably not written in asm.
I've been searching the web for source-code for some emm, but so far,
no luck. any hint about what could be wrong? maybe I am only 1 bit
away from success, but I will like searching the bit in the haystack.

thanks in advance,
herp
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Feb 28 2003 - 22:00:46 EST