Messages in this thread | ![/](/images/icornerl.gif) | | From | "H.Rosmanith (Kernel Mailing List)" <> | Subject | emm386 hangs when booting from linux | Date | Fri, 28 Feb 2003 04:18:50 +0100 (MET) |
| |
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/
| ![\](/images/icornerr.gif) |