[lkml]   [1996]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subjectdosemu under Linux-2.1.5 (first step)


Linux-2.1.5 just got some fixes that make it possible to run
dosemu- ('low feature', without emumodule). The little '+'
means you have to apply the below patch to get it work under kernel 2.1.5.
James MacLean soon will release dosemu- and this also will contain
this little patch.

However, ...
... for kernels >= 2.1.x we will not have emumodule anymore, instead we
will (as part of our agreement with Linus) get a minimum set of support
in the kernel. This support isn't yet implemented, so note that you
currently have to configure dosemu with

./configure --enable-noemumod --enable-nosbemu

and all stuff that relates on emumodule _cannot_ work.

Without emumodule the following dosemu features are not available:

1. Windows-3.1 will not work.

2. Even for other DPMI-apps (other then Windows-3.1) some small patches
to the ldt stuff aren't present, so these apps then may die.
( This has nothing to do with the old emumodule's KERNEL_LDT, this one
already has been removed anyway. )

3. emumodule's vm86() has a patch to support _earlier_ return to dosemu on
demand. ( the vm86plus stuff )
As this is not available, all timing-related stuff may suffer, and the
old 'timer lock bug' may reappear, also DOS-stack overflows may happen.

4. Dosdebug can't work without emumodule. So also the 'recover' feature of
dosdebug, when dosemu locks in graphic mode, isn't available.

5. No hardware IRQ passing is possible.

Anyway, give it a try so we can track down the remaining bugs ;)

A last hint:
The kernel include/* interface has changed, beware of that !
Also other apps then dosemu, that use vm86.h should be recompiled.


diff -ur dosemu- dosemu/src/dosext/dpmi/dpmi.c
--- dosemu- Tue Sep 24 01:48:41 1996
+++ dosemu/src/dosext/dpmi/dpmi.c Thu Sep 26 00:53:49 1996
@@ -45,9 +45,13 @@
#include <linux/head.h>

#if defined(REQUIRES_EMUMODULE) && defined(WANT_WINDOWS)
- #include "ldt.h" /* NOTE we have a patched version in dosemu/include */
+ #include "ldt.h" /* NOTE we have a patched version in src/include */
- #include <linux/ldt.h>
+ #if KERNEL_VERSION < 2001000
+ #include <linux/ldt.h>
+ #else
+ #include <asm/ldt.h>
+ #endif

#if KERNEL_VERSION < 1001067
diff -ur dosemu- dosemu/src/include/cpu.h
--- dosemu- Tue Jul 2 23:30:56 1996
+++ dosemu/src/include/cpu.h Thu Oct 17 22:01:41 1996
@@ -305,6 +305,9 @@
#include <asm/sigcontext.h>
+ #if KERNEL_VERSION >= 2001000
+ #define sigcontext_struct sigcontext
+ #endif

#ifdef __NetBSD__

 \ /
  Last update: 2005-03-22 13:37    [W:0.040 / U:0.428 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site