From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stas Sergeev Subject: Re: Introducing my own interrupt in dosemu. Date: Fri, 16 Jul 2004 15:18:20 +0400 Sender: linux-msdos-owner@vger.kernel.org Message-ID: <40F7B97C.10107@aknet.ru> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: List-Id: Content-Type: text/plain; charset="us-ascii"; format="flowed" To: linux-msdos@vger.kernel.org Hello. Wartan Hachaturow wrote: > Then, in signal handler: > pic_sched(PIC_IRQ10, 1); /* That should schedule an irq 10 in > * 1 "dosemu jiffie", right? > */ > do_irq(); That's rather wrong. You took that from the timer code, but that's really not the case here. You should just use pic_request(). > Additionally, I initialize PIC to unmask the interrupt in init.c: > pic_seti(PIC_IRQ10, my_interrupt, 0, NULL); > pic_unmaski(PIC_IRQ10); That's correct. > But my_interrupt() (which should just do a warn()) doesn't get called > either :( Note that pic_unmaski() unmasks the IRQ only internally, i.e. it makes it available for the use of a DOS prog. You still have to unmask it from within your DOS program yourself, when setting up the handler. I guess this is what you have not done.