Re: Kernel >1.3.7X Breaks DOSEMU

Smeet Eday (smeet@neural.co.jp)
Wed, 03 Apr 1996 18:47:03 +0900


From: Russell Berry <rberry@albany.net>
Subject: Re: Kernel >1.3.7X Breaks DOSEMU
Date: Tue, 02 Apr 1996 09:33:38 -0500
Message-ID: <31613AC2.6496D4EB@albany.net>

here you are.

diff -ur dosemu.old/emumod/emusys.c dosemu.old/emumod/emusys.c
--- dosemu.old/emumod/emusys.c Sat Nov 4 18:46:45 1995
+++ dosemu/emumod/emusys.c Sat Mar 2 02:22:00 1996
@@ -98,13 +98,21 @@
case EMUSYS_REQUEST_IRQ: {
if (tasks[irqnumber]) return -1;
irqbits &= ~(1 << irqnumber);
+#if KERNEL_VERSION < 1003070
if (request_irq(irqnumber, &irq_handler, 0, ID_STRING )) return -1;
+#else
+ if (request_irq(irqnumber, &irq_handler, 0, ID_STRING, NULL )) return -1;
+#endif
tasks[irqnumber] = current;
return irqnumber;
}
case EMUSYS_FREE_IRQ: {
if (!tasks[irqnumber]) return -1;
+#if KERNEL_VERSION < 1003070
free_irq(irqnumber);
+#else
+ free_irq(irqnumber, NULL);
+#endif
tasks[irqnumber] = 0;
irqbits &= ~(1 << irqnumber);
return irqnumber;
@@ -118,7 +126,11 @@
{
int i;
for (i=3; i<16; i++) if (tasks[i]) {
+#if KERNEL_VERSION < 1003070
free_irq(i);
+#else
+ free_irq(i, NULL);
+#endif
tasks[i]=0;
}
irqbits = 0;

rberry> In file included from get_info.c:20:
rberry> /usr/include/sys/mman.h:11: warning: `MAP_FILE' redefined
rberry> /usr/src/linux-1.3.80/include/asm/mman.h:29: warning: this is the location of the previous definition
rberry> In file included from keyboard.c:19:
rberry> /usr/include/sys/mman.h:11: warning: `MAP_FILE' redefined
rberry> /usr/src/linux-1.3.80/include/asm/mman.h:29: warning: this is the location of the previous definition
rberry> In file included from video.c:19:
rberry> /usr/include/sys/mman.h:11: warning: `MAP_FILE' redefined
rberry> /usr/src/linux-1.3.80/include/asm/mman.h:29: warning: this is the location of the previous definition
rberry> emusys.c: In function `do_irq_job':
rberry> emusys.c:101: warning: passing arg 2 of `request_irq' from incompatible pointer type
rberry> emusys.c:101: too few arguments to function `request_irq'
rberry> emusys.c:107: too few arguments to function `free_irq'
rberry> emusys.c: In function `remove_all_irqs':
rberry> emusys.c:121: too few arguments to function `free_irq'
rberry> make[2]: *** [emusys.o] Error 1
rberry> make[1]: *** [emumod] Error 2
rberry> make: *** [doslibnew] Error 2